**Meet the editor**

Yagang Zhang received his Ph.D. in Electrical Engineering from the North China Electric Power University (NCEPU). He is currently working at State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources, North China Electric Power University, China. His research includes relay protection of power system, wind power and nonlinear complex system theory.

Contents

**Preface IX** 

Chapter 1 **A Graph Theoretic Approach** 

Chapter 2 **Pure Links Between Graph** 

Tetsuya Yoshida

Chapter 8 **Path-Finding Algorithm** 

Ali Hamlili

Zh.G. Nikoghosyan

Chapter 4 **Poly-Dimension of Antimatroids 89**  Yulia Kempner and Vadim E. Levit

**for Certain Properties of Spectral Null Codes 1** 

Khmaies Ouahada and Hendrik C. Ferreira

**Invariants and Large Cycle Structures 21** 

Chapter 3 **Analysis of Modified Fifth Degree Chordal Rings 43** 

Antoni Zabludowski and Piotr Kiedrowski

Chapter 5 **A Semi-Supervised Clustering Method Based on** 

Chapter 7 **A Review on Node-Matching Between Networks 153**  Qi Xuan, Li Yu, Fang Du and Tie-Jun Wu

**in Different Areas of Computer Graphics 169** 

**Graph Dynamics and Their Applications 187** 

Chapter 6 **Visibility Algorithms: A Short Review 119**  Angel M. Nuñez, Lucas Lacasa, Jose Patricio Gomez and Bartolo Luque

**Application for Route-Searching** 

Csaba Szabó and Branislav Sobota

Chapter 9 **Techniques for Analyzing Random** 

Bozydar Dubalski, Slawomir Bujnowski, Damian Ledzinski,

**Graph Contraction and Spectral Graph Theory 103** 

## Contents

### **Preface XIII**


**Graph Dynamics and Their Applications 187**  Ali Hamlili

X Contents


Contents VII

Chapter 22 **Applied Graph Theory to Improve** 

and Mauricio de Campos

Omar Gaci and Hervé Mathieu

Chapter 25 **Graphs for Ontology, Law and Policy 493** 

Chapter 24 **Study of Changes in the Production**

Chapter 23 **A Dynamic Risk Management**

Ewa Grandys

Paulo Sérgio Sausen, Airam Sausen

**in Chemical Substances Warehouses by an Interaction Network Approach 451** 

**Process Based in Graph Theory 471**

Pierre Mazzega, Romain Boulet and Thérèse Libourel

**Topology Control in Wireless Sensor Networks 435** 

Chapter 21 **Graph Theory for Survivability Design in Communication Networks 421**  Daryoush Habibi and Quoc Viet Phung


VI Contents

Chapter 10 **The Properties of Graphs of Matroids 215** 

Chapter 12 **Application of the Graph Theory in Managing**

P. H. Nguyen, W. L. Kling, G. Georgiadis, M. Papatriantafilou, L. A. Tuan and L. Bertling

**Network Using MST Algorithms 285** 

Chapter 15 **Applications of Graphical Clustering Algorithms** 

K.J. Abraham and Rohan Fernando

**and Hessian Matrices and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 229** 

**Electric Power Systems: Graph Theory Approach 267** 

**Power Flows in Future Electric Networks 251**

Yagang Zhang, Zengping Wang and Jinfang Zhang

**in Genome Wide Association Mapping 307** 

Chapter 16 **Centralities Based Analysis of Complex Networks 323**  Giovanni Scardoni and Carlo Laudanna

**Systems Using Linear Graph Theory 349**

**and Normalized Cut for Image Segmentation 389**  Marco Antonio Garcia Carvalho and André Luis Costa

Ping Li and Guizhen Liu

Georgi A. Nenov

Chapter 13 **Research Progress of Complex** 

Chapter 14 **Power Restoration in Distribution**

Chapter 17 **Simulation of Flexible Multibody** 

Weihua Li, Yan Chen, Wen Liu and Jay Lee

Chapter 20 **Camera Motion Estimation** 

Chapter 21 **Graph Theory for Survivability** 

Chapter 18 **Spectral Clustering and Its Application** 

**in Machine Failure Prognosis 373** 

Chapter 19 **Combining Hierarchical Structures on Graphs** 

Andrey Vavilin and Kang-Hyun Jo

**Based on Edge Structure Analysis 407**

**Design in Communication Networks 421** Daryoush Habibi and Quoc Viet Phung

Marc J. Richa

T. D. Sudhakar

Chapter 11 **Symbolic Determination of Jacobian** 

Chapter 25 **Graphs for Ontology, Law and Policy 493**  Pierre Mazzega, Romain Boulet and Thérèse Libourel

Preface

directed from one vertex to another.

to law and policy, and so on.

The Königsberg bridge problem is well known, and is often said to have been the birth of graph theory. Nowadays, graph theory has been an important analysis tool in mathematics and computer science. Many real world situations can conveniently be described by means of a diagram consisting of a set of points, with lines joining certain pairs of these points. In mathematics and computer science, graph theory is the study of graphs: mathematical structures used to model conjugated relations between objects from a certain collection. A graph is an abstract notion of a set of nodes and connection relations between them, that is, a collection of vertices or nodes and a collection of edges that connect pairs of vertices. A graph may be undirected, meaning that there is no distinction between the two vertices associated with each edge, or its edges may be

Because of the inherent simplicity of graph theory, it can be used to model many different physical and abstract systems such as transportation and communication networks, models for business administration, political science, psychology and so on. Efficient storage and algorithm design techniques based on the graph representation make it particularly useful for utilization in computers. There are many algorithms that can be applied to resolve different kinds of problems, such as Depth-first search, Breadth-first search, Bellman-Ford algorithm, Dijkstra's algorithm, Ford-Fulkerson algorithm, Kruskal's algorithm, Nearest neighbor algorithm, Prim's algorithm, etc. Graph theory also has a very wide range of applications in physical science, biological

The purpose of this book is not only to present the latest state and development tendencies of graph theory, but to bring the reader far enough along the way to enable him to embark on the research problems of his own. It is a multi-author book. Taking into account the large amount of knowledge about graph theory and practice presented in the book, it has two major parts: theoretical researches and applications. The scientists have discussed in detail the properties of spectral null codes, graph invariants and large cycle structures, the fifth degree chordal rings, poly-dimension of antimatroids etc. The selected applications of various graph theory approaches are also wide, from power networks, genome, machine failure prognosis, computer recognition, communication networks, wireless sensor networks, chemical warehouses

science, social science, engineering, linguistics, and many other fields.

## Preface

The Königsberg bridge problem is well known, and is often said to have been the birth of graph theory. Nowadays, graph theory has been an important analysis tool in mathematics and computer science. Many real world situations can conveniently be described by means of a diagram consisting of a set of points, with lines joining certain pairs of these points. In mathematics and computer science, graph theory is the study of graphs: mathematical structures used to model conjugated relations between objects from a certain collection. A graph is an abstract notion of a set of nodes and connection relations between them, that is, a collection of vertices or nodes and a collection of edges that connect pairs of vertices. A graph may be undirected, meaning that there is no distinction between the two vertices associated with each edge, or its edges may be directed from one vertex to another.

Because of the inherent simplicity of graph theory, it can be used to model many different physical and abstract systems such as transportation and communication networks, models for business administration, political science, psychology and so on. Efficient storage and algorithm design techniques based on the graph representation make it particularly useful for utilization in computers. There are many algorithms that can be applied to resolve different kinds of problems, such as Depth-first search, Breadth-first search, Bellman-Ford algorithm, Dijkstra's algorithm, Ford-Fulkerson algorithm, Kruskal's algorithm, Nearest neighbor algorithm, Prim's algorithm, etc. Graph theory also has a very wide range of applications in physical science, biological science, social science, engineering, linguistics, and many other fields.

The purpose of this book is not only to present the latest state and development tendencies of graph theory, but to bring the reader far enough along the way to enable him to embark on the research problems of his own. It is a multi-author book. Taking into account the large amount of knowledge about graph theory and practice presented in the book, it has two major parts: theoretical researches and applications. The scientists have discussed in detail the properties of spectral null codes, graph invariants and large cycle structures, the fifth degree chordal rings, poly-dimension of antimatroids etc. The selected applications of various graph theory approaches are also wide, from power networks, genome, machine failure prognosis, computer recognition, communication networks, wireless sensor networks, chemical warehouses to law and policy, and so on.

#### XIV Preface

It is our hope that this book will prove useful both to professional graph theorists interested in the applications of their subjects, and to engineers in the particular areas who may want to learn about the uses of graph theory in their own and other subjects. The book is also intended for both graduate and postgraduate students in fields such as mathematics, computer science, system sciences, biology, engineering, cybernetics, and social sciences, and as a reference for software professionals and practitioners. The wide scope of the book provides them with a good introduction to the latest approaches of graph theory, and it is also the source of useful bibliographical information.

> **Yagang Zhang**  North China Electric Power University, Baoding, China

## **A Graph Theoretic Approach for Certain Properties of Spectral Null Codes**

Khmaies Ouahada and Hendrik C. Ferreira *Department of Electrical and Electronic Engineering Science, University of Johannesburg, Auckland Park, 2006 South Africa*

### **1. Introduction**

In this chapter, we look at the spectral null codes from another angle, using graph theory, where we present a few properties that have been published. The graph theory will help us to understand the structure of spectral null codes and analyze their properties differently.

Graph theory [1]–[2] is becoming increasingly important as it plays a growing role in electrical engineering for example in communication networks and coding theory, and also in the design, analysis and testing of computer programs.

Spectral null codes [3] are codes with nulls in the power spectral density function and they have great importance in certain applications such as transmission systems employing pilot tones for synchronization and track-following servos in digital recording [4]–[5].

Yeh and Parhami [6] introduced the concept of the index-permutation graph model, which is an extension of the Cayley graph model and applied it to the systematic development of communication-efficient interconnection networks. Inspiring the concept of building a relationship between an index and a permutation symbol, we make use in this chapter of the spectral null equations variables in each grouping by representing only their corresponding indices in a permutation sequence form. In another way, these indices will be presented by a permutation sequence, where the symbols refer to the position of the corresponding variables in the spectral null equation.

Presenting a symmetric-permutation codebook graphically, Swart *et al.* [7] allocated states to all symbols of a permutation sequence and presented all possible transpositions between these symbols by links as depicted for a few examples in Fig. 1 [7].

The Chapter is organized as follows: Section II introduces definitions and notations to be used for spectral null codes. Section III presents few graph theory definitions. Section IV presents the index-graphic presentation of spectral null codes. Section V makes an approach between graph theory and spectral null codes where we focus on the relationship between the cardinalities of the spectral null codebooks and the concepts of distances in graph theory and also we elaborate the concept of subgraph and its corresponding to the structure of the spectral null codebooks. We conclude with some final remarks in Section VI.

**Definition 2.1.** *A spectral null binary block code of length M is a subset* <sup>C</sup>*b*(*M*, *<sup>N</sup>*) <sup>⊆</sup> {0, 1}*<sup>M</sup> of all binary M-tuples of length M which have spectral nulls at the rational submultiples of the symbol*

A Graph Theoretic Approach for Certain Properties of Spectral Null Codes 3

**Definition 2.2.** *The spectral null binary codebook* C*b*(*M*, *N*) *is a subset of the* M *dimensional vector*

For codewords of length *M* consisting of *N* interleaved subwords of length *z*, the cardinality of the codebook C*b*(*M*, *N*) for the case where *N* is a prime number is presented by the following

> *M*/*N* ∑ *i*=0

**Example 2.3.** *If we consider the case of M* = 6*, we can predict two types of spectral with different nulls since N can take the value of N* = 2 *or N* = 3*. Their corresponding spectral null equations are*

⎧

⎫

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬

,

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩


*The corresponding codebooks for* (5) *and* (6) *are respectively as follows:*

C*b*(6, 2) =

denotes the combinatorial coefficient (*M*/*N*)!

*<sup>M</sup> of all binary M-tuples, where* **<sup>F</sup>**<sup>2</sup> *is the finite field with two elements, whose arithmetic*

� *M*/*N i*

�*<sup>N</sup>*

*i*!(*M*/*N*−*i*)!

.

*x*<sup>1</sup> + *x*<sup>3</sup> + *x*<sup>5</sup> = *x*<sup>2</sup> + *x*<sup>4</sup> + *x*<sup>6</sup> (5)

*x*<sup>1</sup> + *x*<sup>4</sup> = *x*<sup>2</sup> + *x*<sup>5</sup> = *x*<sup>3</sup> + *x*<sup>6</sup> (6)

, (4)

*frequency* 1/*N.*

*rules are those of mod-2 arithmetic.*

�

*presented respectively as follows:*

*space* (**F**2)

formula [10],

where � *<sup>M</sup>*/*<sup>N</sup>*

*i*

Fig. 1. Graph representation for permutation sequences

#### **2. Spectral null codes**

The technique of designing codes to have a spectrum with nulls occurring at certain frequencies, i.e. having the power spectral density (PSD) function equal to zero at these frequencies, started with Gorog [8], when he considered the vector **X** = (*x*1, *x*2, ..., *xM*), *xi* ∈ {−1, +1} with 1 ≤ *i* ≤ *M*, to be an element of a set *S*, which is called a codebook of codewords with elements in {−1, +1}. We investigate codewords of length, *M*, as an integer multiple of *N*, thus let

$$M = Nz\_{\prime}$$

where *N* represents the number of groupings in the spectral null equation and *z* represents the number of elements in each grouping. The values of *f* = *r*/*N* are frequencies at spectral nulls (SN) at the rational submultiples *r*/*N* [9]. To ensure the presence of these nulls in the continuous component at the spectrum, it is sufficient to satisfy the following spectral null equation [10],

$$A\_1 = A\_2 = \dots = A\_{N\prime} \tag{1}$$

where

$$A\_{i} = \sum\_{\lambda=0}^{z-1} x\_{i+\lambda N \prime} \quad i = 1, 2, \dots, N \prime \tag{2}$$

which can also be presented differently as,


If all the codewords in a codebook satisfy these equations, the codebook will exhibit nulls at the required frequencies. henceforth we present the channel symbol −1 with binary symbol 0.

2 Will-be-set-by-IN-TECH

M = 4 M = 6 M = 8

2

1

5

2

4

3

(3)

3

6

*A*<sup>1</sup> = *A*<sup>2</sup> = ··· = *AN*, (1)

*xi*<sup>+</sup>*λN*, *i* = 1, 2, . . . , *N*, (2)

. .

8

7

1

4

The technique of designing codes to have a spectrum with nulls occurring at certain frequencies, i.e. having the power spectral density (PSD) function equal to zero at these frequencies, started with Gorog [8], when he considered the vector **X** = (*x*1, *x*2, ..., *xM*), *xi* ∈ {−1, +1} with 1 ≤ *i* ≤ *M*, to be an element of a set *S*, which is called a codebook of codewords with elements in {−1, +1}. We investigate codewords of length, *M*, as an integer

*M* = *Nz*, where *N* represents the number of groupings in the spectral null equation and *z* represents the number of elements in each grouping. The values of *f* = *r*/*N* are frequencies at spectral nulls (SN) at the rational submultiples *r*/*N* [9]. To ensure the presence of these nulls in the continuous component at the spectrum, it is sufficient to satisfy the following spectral null

> *z <sup>x</sup>*<sup>1</sup> <sup>+</sup> *<sup>x</sup>*1+*<sup>N</sup>* <sup>+</sup> *<sup>x</sup>*1+2*<sup>N</sup>* <sup>+</sup> *<sup>x</sup>*1+3*<sup>N</sup>* <sup>+</sup> ··· <sup>+</sup> *<sup>x</sup>*1+(*z*−1)*<sup>N</sup> <sup>x</sup>*<sup>2</sup> <sup>+</sup> *<sup>x</sup>*2+*<sup>N</sup>* <sup>+</sup> *<sup>x</sup>*2+2*<sup>N</sup>* <sup>+</sup> *<sup>x</sup>*2+3*<sup>N</sup>* <sup>+</sup> ··· <sup>+</sup> *<sup>x</sup>*2+(*z*−1)*<sup>N</sup> <sup>x</sup>*<sup>3</sup> <sup>+</sup> *<sup>x</sup>*3+*<sup>N</sup>* <sup>+</sup> *<sup>x</sup>*3+2*<sup>N</sup>* <sup>+</sup> *<sup>x</sup>*3+3*<sup>N</sup>* <sup>+</sup> ··· <sup>+</sup> *<sup>x</sup>*3+(*z*−1)*<sup>N</sup>*

. .

*xN* + *x*2*<sup>N</sup>* + *x*3*<sup>N</sup>* + *x*4*<sup>N</sup>* + ··· + *xzN*.

If all the codewords in a codebook satisfy these equations, the codebook will exhibit nulls at the required frequencies. henceforth we present the channel symbol −1 with binary symbol

.

. .

1

3

**2. Spectral null codes**

multiple of *N*, thus let

equation [10],

where

0.

4

2

Fig. 1. Graph representation for permutation sequences

5

*Ai* =

. .

. .

.

which can also be presented differently as,

*A*<sup>1</sup> = *A*<sup>2</sup> = *A*<sup>3</sup> = . . . *AN* = *z*−1 ∑ *λ*=0

6

**Definition 2.1.** *A spectral null binary block code of length M is a subset* <sup>C</sup>*b*(*M*, *<sup>N</sup>*) <sup>⊆</sup> {0, 1}*<sup>M</sup> of all binary M-tuples of length M which have spectral nulls at the rational submultiples of the symbol frequency* 1/*N.*

**Definition 2.2.** *The spectral null binary codebook* C*b*(*M*, *N*) *is a subset of the* M *dimensional vector space* (**F**2) *<sup>M</sup> of all binary M-tuples, where* **<sup>F</sup>**<sup>2</sup> *is the finite field with two elements, whose arithmetic rules are those of mod-2 arithmetic.*

For codewords of length *M* consisting of *N* interleaved subwords of length *z*, the cardinality of the codebook C*b*(*M*, *N*) for the case where *N* is a prime number is presented by the following formula [10],

$$\left| \mathcal{C}\_b(M, N) \right| = \sum\_{i=0}^{M/N} \binom{M/N}{i}^N \, \prime \tag{4}$$

where � *<sup>M</sup>*/*<sup>N</sup> i* � denotes the combinatorial coefficient (*M*/*N*)! *i*!(*M*/*N*−*i*)! .

**Example 2.3.** *If we consider the case of M* = 6*, we can predict two types of spectral with different nulls since N can take the value of N* = 2 *or N* = 3*. Their corresponding spectral null equations are presented respectively as follows:*

$$\mathbf{x\_1 + x\_3 + x\_5 = x\_2 + x\_4 + x\_6} \tag{5}$$

$$\mathbf{x}\_1 + \mathbf{x}\_4 = \mathbf{x}\_2 + \mathbf{x}\_5 = \mathbf{x}\_3 + \mathbf{x}\_6 \tag{6}$$

*The corresponding codebooks for* (5) *and* (6) *are respectively as follows:*

$$\mathcal{C}\_{\mathbb{P}}(6,2) = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 1 \\ 0 & 0 & 1 & 1 & 1 & 1 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 1 & 0 & 0 & 0 \\ 0 & 1 & 1 & 1 & 1 & 0 \\ 1 & 0 & 0 & 0 & 1 & 1 \\ 1 & 0 & 0 & 1 & 0 & 0 \\ 1 & 0 & 1 & 1 & 0 & 1 \\ 1 & 1 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 1 & 1 \\ 1 & 1 & 0 & 1 & 0 & 1 \\ 1 & 1 & 1 & 0 & 0 & 1 \\ 1 & 1 & 1 & 0 & 0 & 1 \\ 1 & 1 & 1 & 1 & 0 & 0 \\ \end{bmatrix}^{\prime}$$

**Definition 3.2.** *[1]–[2] The graph distance denoted by* G*d*(*u*, *v*) *between two vertices u and v of a*

A Graph Theoretic Approach for Certain Properties of Spectral Null Codes 5

**Definition 3.3.** *[1]–[2] The adjacency matrix of a graph is an M* × *M matrix* A*<sup>d</sup>* = [*ai*,*j*] *in which the entry ai*,*<sup>j</sup>* = 1 *if there is an edge from vertex i to vertex j and is* 0 *if there is no edge from vertex i to*

The idea of the index-graphic presentation of the spectral null codes is actually based on the presentation of the indices of the variables in each grouping of the spectral null equation (1). **Definition 4.1.** *We denote by Ip*(*i*, *λ*) *the permutation symbol of the corresponding index of the*

**Definition 4.2.** *We denote by* P*Ip* (*M*, *N*) *the index-permutation sequence from a spectral null*

*N* ∏ *i*=1

The product sign in (8) is not used in its traditional way, but just to give an idea about the

**Example 4.3.** *To explain the relationship between the spectral nulls equation, the index-permutation sequences and their graph presentation, we take the case of M* = 4 *where we have only two groupings*

*We can see from* (9)*, that the indices of the variables xi, using* (8)*, are represented by the symbols Ip*(1, 0) = 1*, Ip*(1, 1) = 3*, Ip*(2, 0) = 2 *and Ip*(2, 1) = 4*. The index-permutation sequence is then*

*An index-permutation symbol is presented graphically by just being lying on a circle, which it is called a state. The state design follow the order of appearance of the indices in* (9)*. The symbols are connected*

*Spectral null codebooks have the all-zeros and all-ones codewords [10], where all the variables yi are equal. We call the corresponding spectral null equation, which is x*<sup>1</sup> = *x*<sup>2</sup> = *x*<sup>3</sup> = *x*<sup>4</sup> *as the all-zeros spectral null equation, which still satisfying* (9) *since it is a special case of it. If we substitute the variables in* (9) *by using the all-zeros spectral null equation, we obtain the following relationships:*

*Equation* (10) *shows the resultant equations derived from* (9) *and the all-zeros spectral null equation. Fig. 5 shows that the same graph G*<sup>1</sup> *in Fig. 4 is actually a special case of the graph G*<sup>2</sup> *when we take*

*in respect of the addition property of their corresponding variables in* (9) *as depicted in Fig. 4.*

 *x*<sup>1</sup> + *x*<sup>3</sup> = *x*<sup>2</sup> + *x*4, *<sup>x</sup>*<sup>1</sup> = *<sup>x</sup>*<sup>2</sup> = *<sup>x</sup>*<sup>3</sup> = *<sup>x</sup>*4, ⇒

*into consideration the all-zeros spectral null equation.*

*z*−1 ∏ *λ*=0

*i* = 1, 2, . . . , *N*,

*A*<sup>1</sup> = *A*<sup>2</sup> → *x*<sup>1</sup> + *x*<sup>3</sup> = *x*<sup>2</sup> + *x*<sup>4</sup> (9)

*x*<sup>2</sup> + *x*<sup>3</sup> = *x*<sup>1</sup> + *x*4,

*<sup>x</sup>*<sup>1</sup> <sup>+</sup> *<sup>x</sup>*<sup>2</sup> <sup>=</sup> *<sup>x</sup>*<sup>3</sup> <sup>+</sup> *<sup>x</sup>*4. (10)

*<sup>λ</sup>* <sup>=</sup> 0, 1, . . . , *<sup>z</sup>* <sup>−</sup> 1. (7)

*Ip*(*i*, *λ*). (8)

*finite graph is the minimum length of the paths connecting them.*

**4. Index-graphic presentation of spectral null codes**

*equation for variables of length M* = *Nz as presented.*

sequence and the order of the permutation symbols.

*Ip*(*i*, *<sup>λ</sup>*) = *<sup>i</sup>* <sup>+</sup> *<sup>λ</sup>N where*

P*Ip* (*M*, *N*) =

*vertex j.*

*variable xi*<sup>+</sup>*λ<sup>N</sup> in* (2)*.*

*since N* = 2*.*

P*Ip* (4, 2)=(13)(24)*.*

Fig. 2. Power spectral density of codebook *N* = 2, *M* = 6.

Fig. 3. Power spectral density of codebook *N* = 3, *M* = 6.

*and*

$$\mathcal{C}\_b(6,3) = \begin{cases} 0 \, 0 \, 0 \, 0 \, 0 \, 0 \\ 0 \, 0 \, 0 \, 1 \, 1 \, 1 \\ 0 \, 0 \, 1 \, 1 \, 0 \\ 0 \, 1 \, 0 \, 1 \, 0 \, 1 \\ 0 \, 1 \, 1 \, 1 \, 0 \, 0 \\ 1 \, 0 \, 0 \, 0 \, 1 \, 1 \\ 1 \, 0 \, 1 \, 0 \, 1 \, 0 \\ 1 \, 1 \, 0 \, 0 \, 0 \, 1 \\ 1 \, 1 \, 1 \, 1 \, 1 \, 1 \end{cases}$$

.

*The cardinalities of* C*b*(6, 2) *and* C*b*(6, 3) *are respectively equal to* 20 *and* 10*. This also can be easily verified from* (4)*.*

*We can see clearly the power spectral density* C*b*(6, 2) *and* C*b*(6, 3) *respectively presented in Figures 2 and 3 where the nulls appear to be multiple of* 1/*N as presented in Definition 2.1.*

### **3. Graph theory: Preliminary**

We present a brief overview of related definitions for certain graph theory fundamentals which will be used in the following sections.

#### **Definition 3.1.** *[1]–[2]*


4 Will-be-set-by-IN-TECH

0 0.2 0.4 0.6 0.8 1

Normalized Frequency

0 0.2 0.4 0.6 0.8 1

Normalized Frequency

⎫

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬

.

<sup>⊆</sup> *V and E*�

⊆ *E.*

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

⎧

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

*The cardinalities of* C*b*(6, 2) *and* C*b*(6, 3) *are respectively equal to* 20 *and* 10*. This also can be easily*

*We can see clearly the power spectral density* C*b*(6, 2) *and* C*b*(6, 3) *respectively presented in Figures 2*

We present a brief overview of related definitions for certain graph theory fundamentals

*(a) A graph* G *= (*V*,* E*) is a mathematical structure consisting of two finite sets* V *and* E*. The elements of* V *are called vertices, and the elements of* E *are called edges. Each edge has a set of one or two*

) *is a subgraph of another graph G* = (*V*, *E) iff V*�

0 0.4 0.8 1.2 1.6

> 0 0.4 0.8 1.2 1.6

P. S. D.

*verified from* (4)*.*

**3. Graph theory: Preliminary**

*vertices associated with it.*

= (*V*� , *E* �

**Definition 3.1.** *[1]–[2]*

*(b) A graph G*�

which will be used in the following sections.

*and*

Fig. 2. Power spectral density of codebook *N* = 2, *M* = 6.

Fig. 3. Power spectral density of codebook *N* = 3, *M* = 6.

C*b*(6, 3) =

*and 3 where the nulls appear to be multiple of* 1/*N as presented in Definition 2.1.*

P. S. D.

**Definition 3.2.** *[1]–[2] The graph distance denoted by* G*d*(*u*, *v*) *between two vertices u and v of a finite graph is the minimum length of the paths connecting them.*

**Definition 3.3.** *[1]–[2] The adjacency matrix of a graph is an M* × *M matrix* A*<sup>d</sup>* = [*ai*,*j*] *in which the entry ai*,*<sup>j</sup>* = 1 *if there is an edge from vertex i to vertex j and is* 0 *if there is no edge from vertex i to vertex j.*

#### **4. Index-graphic presentation of spectral null codes**

The idea of the index-graphic presentation of the spectral null codes is actually based on the presentation of the indices of the variables in each grouping of the spectral null equation (1).

**Definition 4.1.** *We denote by Ip*(*i*, *λ*) *the permutation symbol of the corresponding index of the variable xi*<sup>+</sup>*λ<sup>N</sup> in* (2)*.*

$$I\_p(i, \lambda) = i + \lambda N \quad \text{where} \quad \begin{cases} i = 1, 2, \dots, N, \\ \lambda = 0, 1, \dots, z - 1. \end{cases} \tag{7}$$

**Definition 4.2.** *We denote by* P*Ip* (*M*, *N*) *the index-permutation sequence from a spectral null equation for variables of length M* = *Nz as presented.*

$$\mathcal{P}\_{I\_p}(M,N) = \prod\_{i=1}^{N} \prod\_{\lambda=0}^{z-1} I\_p(i,\lambda). \tag{8}$$

The product sign in (8) is not used in its traditional way, but just to give an idea about the sequence and the order of the permutation symbols.

**Example 4.3.** *To explain the relationship between the spectral nulls equation, the index-permutation sequences and their graph presentation, we take the case of M* = 4 *where we have only two groupings since N* = 2*.*

$$A\_1 = A\_2 \to \mathfrak{x}\_1 + \mathfrak{x}\_3 = \mathfrak{x}\_2 + \mathfrak{x}\_4 \tag{9}$$

*We can see from* (9)*, that the indices of the variables xi, using* (8)*, are represented by the symbols Ip*(1, 0) = 1*, Ip*(1, 1) = 3*, Ip*(2, 0) = 2 *and Ip*(2, 1) = 4*. The index-permutation sequence is then* P*Ip* (4, 2)=(13)(24)*.*

*An index-permutation symbol is presented graphically by just being lying on a circle, which it is called a state. The state design follow the order of appearance of the indices in* (9)*. The symbols are connected in respect of the addition property of their corresponding variables in* (9) *as depicted in Fig. 4.*

*Spectral null codebooks have the all-zeros and all-ones codewords [10], where all the variables yi are equal. We call the corresponding spectral null equation, which is x*<sup>1</sup> = *x*<sup>2</sup> = *x*<sup>3</sup> = *x*<sup>4</sup> *as the all-zeros spectral null equation, which still satisfying* (9) *since it is a special case of it. If we substitute the variables in* (9) *by using the all-zeros spectral null equation, we obtain the following relationships:*

$$\begin{cases} \mathbf{x}\_1 + \mathbf{x}\_3 = \mathbf{x}\_2 + \mathbf{x}\_{4\prime} \\ \mathbf{x}\_1 = \mathbf{x}\_2 = \mathbf{x}\_3 = \mathbf{x}\_{4\prime} \end{cases} \Rightarrow \begin{cases} \mathbf{x}\_2 + \mathbf{x}\_3 = \mathbf{x}\_1 + \mathbf{x}\_{4\prime} \\ \mathbf{x}\_1 + \mathbf{x}\_2 = \mathbf{x}\_3 + \mathbf{x}\_4. \end{cases} \tag{10}$$

*Equation* (10) *shows the resultant equations derived from* (9) *and the all-zeros spectral null equation. Fig. 5 shows that the same graph G*<sup>1</sup> *in Fig. 4 is actually a special case of the graph G*<sup>2</sup> *when we take into consideration the all-zeros spectral null equation.*

1

swap(1,3) swap(1,5)

135

⇒

⎧ ⎪⎪⎪⎨

135 315 531 ⎫ ⎪⎪⎪⎬

⎪⎪⎪⎭

⎪⎪⎪⎩

) *is defined as the number of positions in which the*

). (11)

*hi*,*j*. (12)

, **Y***<sup>j</sup>*

315

The use of the Hamming distance [11] in this section is just to refer to the number of places that two permutation sequences representing the index-permutation symbols of each grouping *Ai* of the spectral null equation differ, and not in the study of the error correction properties of

A Graph Theoretic Approach for Certain Properties of Spectral Null Codes 7

To generate the permutation sequences, we start with any state representing an index-permutation symbol in each grouping as appearing in (1). A permutation sequence used as a starting point, contains the symbol from the start state followed by the rest of symbols from the other states taking into consideration the order of the symbols as appearing in (1). Fig. 6 shows the starting permutation sequence as 135. We swap the state-symbol with the following state-symbol in the permutation sequence based on the *k*-cube construction [12]. We end the swapping process at the last state in the graph. We do not swap symbols between the last state and the starting state for the reason to not disturb the obtained sequences at each state. As an example, for *M* = 6, Fig. 6 depicts the swaps and shows the resultant

, **Y***<sup>j</sup>*

<sup>H</sup>*d*(*M*, *<sup>N</sup>*)=[*hi*,*j*] with *hi*,*<sup>j</sup>* <sup>=</sup> *dH*(**Y***<sup>i</sup>*

**Definition 5.3.** *The sum on the Hamming distances in the* H*d*(*M*, *N*) *distance matrix is*


**Definition 5.2.** *The Hamming distance between the same sequences or between sequences with non*

*M* ∑ *i*=1

*M* ∑ *j*=1

*two sequences* **<sup>Y</sup>***<sup>i</sup> and* **<sup>Y</sup>***<sup>j</sup> differ. We denote by* <sup>H</sup>*d*(*M*, *<sup>N</sup>*) *the distance matrix, whose entries are the distances between index-permutation sequences from a spectral null code of length M* = *Nz defined as*

5 3

531

**5.1 Cardinalities approach**

the spectral null codes.

*follows:*

Fig. 6. Index-permutation sequences

**5.1.1 Hamming distance approach**

index-permutation codebooks for one grouping.

**Definition 5.1.** *The Hamming distance dH*(**Y***<sup>i</sup>*

*connected symbols is always equal to zero.*

Fig. 4. Equation representation for Graph *M* = 4

*Since the obtained relationship between the variables x*<sup>1</sup> = *x*<sup>2</sup> = *x*<sup>3</sup> = *x*<sup>4</sup> *is a special case of the equation representing the graph G*<sup>2</sup> *in Fig. 4, we limit our studies to* (1) *and to its corresponding graph to study the cardinality and other properties of the code.*

*Fig. 4 shows that the graph G, which is the general form of all possible permutations is the combinations or the union, G* = *G*<sup>1</sup> ∪ *G*2*, of other subgraphs related to the spectral null equation.*

#### **5. Graph theory and spectral null codes**

In this section we will present certain concepts and properties for spectral null codes and try to confirm and very them from a graph theoretical approach.

Fig. 5. All-zero equation representation for Graph *M* = 4

Fig. 6. Index-permutation sequences

#### **5.1 Cardinalities approach**

6 Will-be-set-by-IN-TECH

4

4

*Since the obtained relationship between the variables x*<sup>1</sup> = *x*<sup>2</sup> = *x*<sup>3</sup> = *x*<sup>4</sup> *is a special case of the equation representing the graph G*<sup>2</sup> *in Fig. 4, we limit our studies to* (1) *and to its corresponding graph*

*Fig. 4 shows that the graph G, which is the general form of all possible permutations is the combinations*

In this section we will present certain concepts and properties for spectral null codes and try

2

3

⇔ <sup>+</sup> <sup>4</sup> <sup>3</sup>

x<sup>2</sup> + x<sup>3</sup> = x<sup>1</sup> + x<sup>4</sup> x<sup>1</sup> + x<sup>2</sup> = x<sup>3</sup> + x<sup>4</sup>

*or the union, G* = *G*<sup>1</sup> ∪ *G*2*, of other subgraphs related to the spectral null equation.*

1

3

x<sup>1</sup> = x<sup>2</sup> = x<sup>3</sup> = x<sup>4</sup>

1

3

x<sup>1</sup> + x<sup>3</sup> = x<sup>2</sup> + x<sup>4</sup>

2

G<sup>1</sup>

2

G<sup>2</sup>

1

2

1

M = 4

4

3

G

Fig. 4. Equation representation for Graph *M* = 4

*to study the cardinality and other properties of the code.*

to confirm and very them from a graph theoretical approach.

4 1

4

2

⎫ ⎬ ⎭ Fig. 5. All-zero equation representation for Graph *M* = 4

**5. Graph theory and spectral null codes**

1

3

x<sup>1</sup> + x<sup>3</sup> = x<sup>2</sup> + x<sup>4</sup> x<sup>1</sup> = x<sup>2</sup> = x<sup>3</sup> = x<sup>4</sup>

⎧ ⎨ ⎩ 2

#### **5.1.1 Hamming distance approach**

The use of the Hamming distance [11] in this section is just to refer to the number of places that two permutation sequences representing the index-permutation symbols of each grouping *Ai* of the spectral null equation differ, and not in the study of the error correction properties of the spectral null codes.

To generate the permutation sequences, we start with any state representing an index-permutation symbol in each grouping as appearing in (1). A permutation sequence used as a starting point, contains the symbol from the start state followed by the rest of symbols from the other states taking into consideration the order of the symbols as appearing in (1). Fig. 6 shows the starting permutation sequence as 135. We swap the state-symbol with the following state-symbol in the permutation sequence based on the *k*-cube construction [12]. We end the swapping process at the last state in the graph. We do not swap symbols between the last state and the starting state for the reason to not disturb the obtained sequences at each state. As an example, for *M* = 6, Fig. 6 depicts the swaps and shows the resultant index-permutation codebooks for one grouping.

**Definition 5.1.** *The Hamming distance dH*(**Y***<sup>i</sup>* , **Y***<sup>j</sup>* ) *is defined as the number of positions in which the two sequences* **<sup>Y</sup>***<sup>i</sup> and* **<sup>Y</sup>***<sup>j</sup> differ. We denote by* <sup>H</sup>*d*(*M*, *<sup>N</sup>*) *the distance matrix, whose entries are the distances between index-permutation sequences from a spectral null code of length M* = *Nz defined as follows:*

$$\mathcal{H}\_d(M, N) = [h\_{i,j}] \quad \text{with} \quad h\_{i,j} = d\_H(\mathbf{Y}^i, \mathbf{Y}^j). \tag{11}$$

**Definition 5.2.** *The Hamming distance between the same sequences or between sequences with non connected symbols is always equal to zero.*

**Definition 5.3.** *The sum on the Hamming distances in the* H*d*(*M*, *N*) *distance matrix is*

$$|\mathcal{H}\_d(M, N)| = \sum\_{i=1}^{M} \sum\_{j=1}^{M} h\_{i,j}.\tag{12}$$

1

4

x<sup>1</sup> + x<sup>4</sup> = x<sup>2</sup> + x<sup>5</sup> = x<sup>3</sup> + x<sup>6</sup>

Fig. 8. Distances for Graph *M* = 6 for *N* = 3

5

*Definition 5.3, we have,*

*and*

Comparing the two results we have,

6

2

1

14

A Graph Theoretic Approach for Certain Properties of Spectral Null Codes 9

2

25

2 + 2 2

+

3

36

6

63

(16)

(17)

5

x<sup>1</sup> + x<sup>4</sup> x<sup>2</sup> + x<sup>5</sup> x<sup>3</sup> + x<sup>6</sup>

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

52

4

41

3

*The corresponding subgraphs for each grouping A*1*, A*<sup>2</sup> *and A*<sup>3</sup> *are presented in Fig. 8.*

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

*The Hamming distance matrix for all possible index-permutation sequences is presented in* (16)*. From*



> *u* = 0, 1, 2, . . . , *c* − 1, *v* = 1, 2, . . . , *d* − 1,

*We consider the case of M* = 8*, where N can be whether N* = 2 *or N* = 4*. The corresponding graph of each case is respectively depicted depicted in Fig. 9 as G*<sup>1</sup> *and G*2*. From Definition 5.3, we have,*



*that N* = *cd, where c and d are integer factors of N. The equation, which leads to nulls, is*

*N* = *cd*,

*Au* = *Au*+*vc*,

H*d*(6, 3) =

Fig. 7. Distances for Graph *M* = 6 with *N* = 2

In the following examples we consider different cases of number of groupings and number of elements in each grouping and we discuss their impact on the resultant Hamming distance and its relationship with the cardinalities of the spectral null codebooks.

**Example 5.4.** *We consider the case of M* = 6 *where the number of groupings is N* = 2 *and the number of variables in each grouping is z* = 3*. The corresponding spectral null equation is*

$$
\overbrace{\mathbf{x}\_1 + \mathbf{x}\_3 + \mathbf{x}\_5}^{A\_1} = \overbrace{\mathbf{x}\_2 + \mathbf{x}\_4 + \mathbf{x}\_6}^{A\_2} \tag{13}
$$

*The equation* (13) *is presented by the graph in Fig. 7, where the index-permutation symbols are presented with their corresponding Hamming distances.*

$$\mathcal{H}\_{d}(6,2) = \begin{bmatrix} 135 & 315 & 513 & 246 & 426 & 624 \\ 0 & 2 & 3 & 0 & 0 & 0 \\ 2 & 0 & 2 & 0 & 0 & 0 \\ 3 & 2 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 2 & 3 \\ 426 & 0 & 0 & 0 & 2 & 0 & 2 \\ 624 & 0 & 0 & 0 & 3 & 2 & 0 \\ \end{bmatrix} \tag{14}$$

*Each grouping in* (13) *is represented by a subgraph as depicted in Fig. 7. The Hamming distance matrix for all possible index-permutation sequences is presented in* (14)*, where* "0" *represents the Hamming distance between same sequences or sequences with non connected symbols as defined in Definition 5.2. From Definition 5.3, we have,*

$$|\mathcal{H}\_d(6, 2)| = 28.$$

**Example 5.5.** *For the case of M* = 6 *where N* = 3 *and z* = 2*, the corresponding spectral null equation is*

$$
\overbrace{\mathbf{x}\_1 + \mathbf{x}\_4}^{A\_1} = \overbrace{\mathbf{x}\_2 + \mathbf{x}\_5}^{A\_2} = \overbrace{\mathbf{x}\_3 + \mathbf{x}\_6}^{A\_3}.\tag{15}
$$

*The equation* (15) *is presented by the graph in Fig. 8. Using the concept of graph distance and the permutation sequences, we can have the distance values as depicted in Fig. 8.*

Fig. 8. Distances for Graph *M* = 6 for *N* = 3

*The corresponding subgraphs for each grouping A*1*, A*<sup>2</sup> *and A*<sup>3</sup> *are presented in Fig. 8.*

$$\mathcal{H}\_d(6,3) = \begin{bmatrix} 14 \ 41 \ 25 \ 52 \ 36 \ 63 \\ 41 \end{bmatrix} \begin{bmatrix} 0 \ 2 \ 0 \ 0 \ 0 \ 0 \ 0 \\ 2 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \\ 0 \ 0 \ 0 \ 0 \ 2 \ 0 \ 0 \\ 0 \ 0 \ 0 \ 2 \ 0 \ 0 \ 0 \\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 2 \\ 0 \ 0 \ 0 \ 0 \ 0 \ 2 \ 0 \end{bmatrix} \tag{16}$$

*The Hamming distance matrix for all possible index-permutation sequences is presented in* (16)*. From Definition 5.3, we have,*

$$|\mathcal{H}\_d(6,3)| = 12.$$

Comparing the two results we have,

$$|\mathcal{H}\_d(6,2)| > |\mathcal{H}\_d(6,3)|.$$

**Example 5.6.** *In this example we take the case of N not a prime number, where we have to suppose that N* = *cd, where c and d are integer factors of N. The equation, which leads to nulls, is*

$$\begin{aligned} A\_{\mathsf{u}} &= A\_{\mathsf{u} + \mathsf{nc}}, \\ \mathsf{u} &= 0, 1, 2, \dots, c - 1, \\ \mathsf{v} &= 1, 2, \dots, d - 1, \\ \mathsf{N} &= cd, \end{aligned} \tag{17}$$

*We consider the case of M* = 8*, where N can be whether N* = 2 *or N* = 4*. The corresponding graph of each case is respectively depicted depicted in Fig. 9 as G*<sup>1</sup> *and G*2*. From Definition 5.3, we have,*

$$|\mathcal{H}\_d(8,2)| = 40.$$

*and*

8 Will-be-set-by-IN-TECH

1

135

2

3

2

246

(14)

4

426

� �� � *<sup>x</sup>*<sup>2</sup> <sup>+</sup> *<sup>x</sup>*<sup>4</sup> <sup>+</sup> *<sup>x</sup>*<sup>6</sup> (13)

� �� � *<sup>x</sup>*<sup>3</sup> <sup>+</sup> *<sup>x</sup>*<sup>6</sup> . (15)

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ 2 2

3

6

315

x<sup>1</sup> + x<sup>3</sup> + x<sup>5</sup> x<sup>2</sup> + x<sup>4</sup> + x<sup>6</sup>

+

642

5 3

2

In the following examples we consider different cases of number of groupings and number of elements in each grouping and we discuss their impact on the resultant Hamming distance

**Example 5.4.** *We consider the case of M* = 6 *where the number of groupings is N* = 2 *and the*

*The equation* (13) *is presented by the graph in Fig. 7, where the index-permutation symbols are*

*Each grouping in* (13) *is represented by a subgraph as depicted in Fig. 7. The Hamming distance matrix for all possible index-permutation sequences is presented in* (14)*, where* "0" *represents the Hamming distance between same sequences or sequences with non connected symbols as defined in Definition 5.2.*


> *A*<sup>2</sup> � �� � *<sup>x</sup>*<sup>2</sup> <sup>+</sup> *<sup>x</sup>*<sup>5</sup> <sup>=</sup>

*The equation* (15) *is presented by the graph in Fig. 8. Using the concept of graph distance and the*

*A*<sup>3</sup>

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ *A*<sup>2</sup>

135 315 513 246 426 624 135 023000 315 202000 513 320000 246 000023 426 000202 624 000320

*number of variables in each grouping is z* = 3*. The corresponding spectral null equation is*

*A*<sup>1</sup> � �� � *<sup>x</sup>*<sup>1</sup> <sup>+</sup> *<sup>x</sup>*<sup>3</sup> <sup>+</sup> *<sup>x</sup>*<sup>5</sup> <sup>=</sup>

1

4

x<sup>1</sup> + x<sup>3</sup> + x<sup>5</sup> = x<sup>2</sup> + x<sup>4</sup> + x<sup>6</sup>

*From Definition 5.3, we have,*

*is*

Fig. 7. Distances for Graph *M* = 6 with *N* = 2

*presented with their corresponding Hamming distances.*

H*d*(6, 2) =

*A*<sup>1</sup> � �� � *<sup>x</sup>*<sup>1</sup> <sup>+</sup> *<sup>x</sup>*<sup>4</sup> <sup>=</sup>

*permutation sequences, we can have the distance values as depicted in Fig. 8.*

5

6

2

3

531

and its relationship with the cardinalities of the spectral null codebooks.

$$|\mathcal{H}\_d(8,4)| = 16.$$

**Example 5.7.** *In the case of M* = 12*, we have four combinations where the value of N could be N* = 4*, N* = 3*, N* = 2 *or N* = 6 *as depicted in* (17)*. In each case we have a graph representing the spectral*

A Graph Theoretic Approach for Certain Properties of Spectral Null Codes 11



*and* |H*d*(12, 3)| > |H*d*(12, 4)|.

*Proof.* Since the matrix H*d*(*M*, *N*) is clearly symmetric, we can just prove half of the results of the theorem and then the final will be the double. For the case of *z* = 2 the proof is trivial since we swap only two symbols in each index-permutation sequence. Thus the sum on the distances is 4 × *N*. For the case of *z* ≥ 3 we have a cycle graph [1]-[2], where the number of edges is equal to the number of vertices. Since we swap two symbols each time we move from one state to another, the distance at each edge is equal to two, except for the last edge connecting the first state to the last state where all symbols are swapped and the distance is equal to the length of the index-permutation sequences, which is *z*. The sum on the Hamming distances for a cycle graph for each grouping is 2 × (*z* − 1) + *z* = 3 × *z* − 2. Thus the result on

The length of each grouping *Ai*, which is equal to the value of *z* plays an important role in cardinalities of the corresponding codebooks. We make use of the graph distance theory to

**Definition 5.9.** *The graph-swap distance denoted by* G*<sup>d</sup> between two index-permutation symbols represented by the vertices u and v of a finite graph is the minimum number of times of swaps that*

**Definition 5.10.** *The graph-swap distance between the same index-permutation symbol or between*

**Definition 5.11.** *We denote by* MG*<sup>d</sup>* (*M*, *<sup>N</sup>*) *the graph-swap distance matrix, whose entries mi*,*<sup>j</sup> are the graph distances between two index-permutation symbols from a spectral null code of length M* =

**Theorem 5.8.** *The sum on the Hamming distances for all index-permutation sequences is*

⎧ ⎨ ⎩


the sum of the Hamming distances in the matrix is 2 × *N* × (3 × *z* − 2).

see how *z* also plays an important role in the value of the graph distance.


4*N*, for *z* = 2,

2*N*(3*z* − 2), for *z* ≥ 3.

*null equation as depicted in Fig. 10.*

*Comparing all the results we have,*

**5.1.2 Graph-swap distance approach**

*symbol u can take the position of symbol v in the graph.*

*non connected symbols is always equal to zero.*

*From Definition 5.3, we have,*

*and*

*Nz.*

Fig. 9. Equation representation for Graph *M* = 8

Fig. 10. Equation representation for Graph *M* = 12

*Comparing the two results we have,*

$$|\mathcal{H}\_d(8,2)| > |\mathcal{H}\_d(8,4)|.$$

**Example 5.7.** *In the case of M* = 12*, we have four combinations where the value of N could be N* = 4*, N* = 3*, N* = 2 *or N* = 6 *as depicted in* (17)*. In each case we have a graph representing the spectral null equation as depicted in Fig. 10.*

*From Definition 5.3, we have,*

$$|\mathcal{H}\_d(12,2)| = 64,$$

$$|\mathcal{H}\_d(12,6)| = 24,$$

$$|\mathcal{H}\_d(12,3)| = 60,$$

*and*

10 Will-be-set-by-IN-TECH

M = 8 M = 8

x<sup>1</sup> + x<sup>3</sup> + x<sup>5</sup> + x<sup>7</sup> = x<sup>2</sup> + x<sup>4</sup> + x<sup>6</sup> + x<sup>8</sup> x<sup>1</sup> + x<sup>5</sup> = x<sup>2</sup> + x<sup>6</sup> = x<sup>3</sup> + x<sup>7</sup> = x<sup>4</sup> + x<sup>8</sup>

M=12 M=12

M=12 M=12


1

G<sup>1</sup> G<sup>2</sup>

5

1

7

x<sup>1</sup> + x<sup>5</sup> + x<sup>9</sup> = x<sup>2</sup> + x<sup>6</sup> + x<sup>10</sup> = x<sup>3</sup> + x<sup>7</sup> + x<sup>11</sup> = x<sup>4</sup> + x<sup>8</sup> + x<sup>12</sup>

1

7

x<sup>1</sup> + x<sup>7</sup> = x<sup>2</sup> +8= x<sup>3</sup> + x<sup>9</sup> = x<sup>4</sup> + x<sup>10</sup> = x<sup>5</sup> + x<sup>11</sup> = x<sup>6</sup> + x<sup>12</sup>

8

9

10

11

8

2

3

4

5

6

12

9

10

11

6

8

7

2

4

2

6

12

3

4

5

3

1

5

1

7

G<sup>1</sup> G<sup>2</sup>

x<sup>1</sup> + x<sup>4</sup> + x<sup>7</sup> + x<sup>10</sup> = x<sup>2</sup> + x<sup>5</sup> + x<sup>8</sup> + x<sup>11</sup> = x<sup>3</sup> + x<sup>6</sup> + x<sup>9</sup> + x<sup>12</sup>

1

7

G<sup>3</sup> G<sup>4</sup>

x<sup>1</sup> + x<sup>3</sup> + x<sup>5</sup> + x<sup>7</sup> + x<sup>9</sup> + x<sup>11</sup> = x<sup>2</sup> + x<sup>4</sup> + x<sup>6</sup> + x<sup>8</sup> + x<sup>10</sup> + x<sup>12</sup>

Fig. 10. Equation representation for Graph *M* = 12

8

9

*Comparing the two results we have,*

10

11

8

12

12

9

10

11

Fig. 9. Equation representation for Graph *M* = 8

6

8

7

2

4

2

6

2

6

3

4

5

3

4

5

3

$$|\mathcal{H}\_d(12, 4)| = 56.$$

*Comparing all the results we have,*


**Theorem 5.8.** *The sum on the Hamming distances for all index-permutation sequences is*

$$|\mathcal{H}\_d(M, N)| = \begin{cases} 4N, & \text{for } z = 2, \\\\ 2N(3z - 2), & \text{for } z \ge 3. \end{cases}$$

*Proof.* Since the matrix H*d*(*M*, *N*) is clearly symmetric, we can just prove half of the results of the theorem and then the final will be the double. For the case of *z* = 2 the proof is trivial since we swap only two symbols in each index-permutation sequence. Thus the sum on the distances is 4 × *N*. For the case of *z* ≥ 3 we have a cycle graph [1]-[2], where the number of edges is equal to the number of vertices. Since we swap two symbols each time we move from one state to another, the distance at each edge is equal to two, except for the last edge connecting the first state to the last state where all symbols are swapped and the distance is equal to the length of the index-permutation sequences, which is *z*. The sum on the Hamming distances for a cycle graph for each grouping is 2 × (*z* − 1) + *z* = 3 × *z* − 2. Thus the result on the sum of the Hamming distances in the matrix is 2 × *N* × (3 × *z* − 2).

#### **5.1.2 Graph-swap distance approach**

The length of each grouping *Ai*, which is equal to the value of *z* plays an important role in cardinalities of the corresponding codebooks. We make use of the graph distance theory to see how *z* also plays an important role in the value of the graph distance.

**Definition 5.9.** *The graph-swap distance denoted by* G*<sup>d</sup> between two index-permutation symbols represented by the vertices u and v of a finite graph is the minimum number of times of swaps that symbol u can take the position of symbol v in the graph.*

**Definition 5.10.** *The graph-swap distance between the same index-permutation symbol or between non connected symbols is always equal to zero.*

**Definition 5.11.** *We denote by* MG*<sup>d</sup>* (*M*, *<sup>N</sup>*) *the graph-swap distance matrix, whose entries mi*,*<sup>j</sup> are the graph distances between two index-permutation symbols from a spectral null code of length M* = *Nz.*

**Example 5.16.** *For the case of M* = 6 *with N* = 2 *or N* = 3*, the corresponding adjacency-swap*

A Graph Theoretic Approach for Certain Properties of Spectral Null Codes 13

*MNz* |C*b*(*M*, *<sup>N</sup>*)| |H*d*(*M*, *<sup>N</sup>*)| |MG*<sup>d</sup>* (*M*, *<sup>N</sup>*)| |N*Ad* (*M*, *<sup>N</sup>*)| 6 3 2 10 12 4 6 6 2 3 20 28 12 12 8 4 2 36 16 8 8 8 2 4 70 40 32 24 10 5 2 34 20 10 10 10 2 5 252 52 60 40 12 6 2 250 24 12 12 12 4 3 300 56 24 24 12 3 4 346 60 48 36 12 2 6 924 64 108 60 15 5 3 488 70 30 30 15 3 5 2252 78 90 60


*Proof.* The proof is trivial as per grouping we have *z* index-permutation symbols. Thus we have *z* − 1 ones in each row of the matrix N*Ad* (*M*, *N*) which refer to the possible swaps of each symbol with others in the same grouping. The total number of swaps is (*z* − 1) × *M*.

Table 1 presents few examples of the relationship between the cardinalities of spectral null codes denoted by C*b*(*M*, *N*) and their correspondences of graph distances. It is clear from Table 1 that the cardinalities of different codebooks with the same length of codewords, increase when the number of swaps increases. This results is also verified in Table 1 based

In this section we make use of one of the properties in graph theory related to the design of

, and NAd (6, 3) =

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ .

*matrices are*

N*Ad* (6, 2) =

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

*We can see that* |N*Ad* (6, 2)| = 12 > |N*Ad* (6, 3)| = 6*.*

Table 1. Graph Distances and Cardinalities of Different Codebooks **Theorem 5.17.** *The total number of swaps in an adjacency-swap matrix is*

on the concept of distances from graph theory perspective.

**5.2 Subsets approach 5.2.1 Subgraph theory**

subgraphs as presented in Definition 3.1.

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

**Definition 5.12.** *The sum on the graph-swap distances in the* MG*<sup>d</sup>* (*M*, *<sup>N</sup>*) *distance matrix is*

$$|\mathcal{M}\_{\mathcal{G}\_d}(M, N)| = \sum\_{i=1}^{M} \sum\_{j=1}^{M} m\_{i,j}.\tag{18}$$

**Example 5.13.** *We consider the case of M* = 8 *with N* = 2 *or N* = 4*, the corresponding graph-swap distance matrices are respectively as*

MG*<sup>d</sup>* (8, 2) = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 12345678 1 00102010 2 00010201 3 10001020 4 01000102 5 20100010 6 02010001 7 10201000 8 01020100 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ , and MG<sup>d</sup> (8, 4) = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 12345678 1 00001000 2 00000100 3 00000010 4 00000001 5 10000000 6 01000000 7 00100000 8 00010000 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ .

*From Definition 5.12, we have* |MG*<sup>d</sup>* (8, 2)| = <sup>32</sup> *and* |MG*<sup>d</sup>* (8, 4)| = <sup>8</sup>*. where we can see clearly that*

$$|\mathcal{M}\_{\mathcal{G}\_{\mathfrak{d}}}(8,2)| > |\mathcal{M}\_{\mathcal{G}\_{\mathfrak{d}}}(8,4)|.$$

**Theorem 5.14.** *The sum on the graph distances for all index-permutation symbols is*

$$|\mathcal{M}\_{\mathcal{G}\_d}(M, N)| = \begin{cases} \left(\frac{z}{2}\right)^2 M, & \text{for } z \text{ even,} \\\\ \frac{z^2 - 1}{4} M, & \text{for } z \text{ odd.} \end{cases}$$

*Proof.* The graphs that we are using are cycle graphs. As long as we go through the edges of a graph the graph distance is incremented by one. When *z* is even, the first state has the farthest state to it located at *<sup>z</sup>* <sup>2</sup> . So the graph distances from the first state to the *<sup>z</sup>* <sup>2</sup> state are in a numerical series of ratio one from one to *<sup>z</sup>* <sup>2</sup> . From the state at the position *<sup>z</sup>* <sup>2</sup> − 1 till the first state, the graph distances are in a numerical series of ratio one from one to *<sup>z</sup>* <sup>2</sup> − 1. Adding the two series we get the final sum equal to � *<sup>z</sup>* 2 �<sup>2</sup> *M*. Same analogy for the case of *z* as odd with a numerical series from one till *<sup>z</sup>*−<sup>1</sup> 2 .

#### **5.1.3 Adjacency-swap matrix approach**

We introduce the adjacency-swap matrix inspired by graph theory as follows.

**Definition 5.15.** *The adjacency-swap matrix of index-permutation symbols is an M* × *M matrix* N*Ad* (*M*, *N*)=(*ni*,*j*) *in which the entry ni*,*<sup>j</sup>* = 1 *if there is a swap between an index symbol i and an index symbol j and is* 0 *if there is no swap between index symbol i and index symbol j as presented in each grouping of a spectral null equation.*

**Example 5.16.** *For the case of M* = 6 *with N* = 2 *or N* = 3*, the corresponding adjacency-swap matrices are*


*We can see that* |N*Ad* (6, 2)| = 12 > |N*Ad* (6, 3)| = 6*.*

12 Will-be-set-by-IN-TECH

**Example 5.13.** *We consider the case of M* = 8 *with N* = 2 *or N* = 4*, the corresponding graph-swap*

*From Definition 5.12, we have* |MG*<sup>d</sup>* (8, 2)| = <sup>32</sup> *and* |MG*<sup>d</sup>* (8, 4)| = <sup>8</sup>*. where we can see clearly that*


⎧ ⎨ ⎩

� *z* 2

*<sup>z</sup>*<sup>2</sup>−<sup>1</sup>

*Proof.* The graphs that we are using are cycle graphs. As long as we go through the edges of a graph the graph distance is incremented by one. When *z* is even, the first state has the

**Definition 5.15.** *The adjacency-swap matrix of index-permutation symbols is an M* × *M matrix* N*Ad* (*M*, *N*)=(*ni*,*j*) *in which the entry ni*,*<sup>j</sup>* = 1 *if there is a swap between an index symbol i and an index symbol j and is* 0 *if there is no swap between index symbol i and index symbol j as presented in*

�<sup>2</sup> *M*, for *z* even,

<sup>4</sup> *M*, for *z* odd.

<sup>2</sup> . So the graph distances from the first state to the *<sup>z</sup>*

<sup>2</sup> . From the state at the position *<sup>z</sup>*

�<sup>2</sup> *M*. Same analogy for the case of *z* as odd with a

**Theorem 5.14.** *The sum on the graph distances for all index-permutation symbols is*

state, the graph distances are in a numerical series of ratio one from one to *<sup>z</sup>*

We introduce the adjacency-swap matrix inspired by graph theory as follows.

2 .

2


*M* ∑ *i*=1

, and MG<sup>d</sup> (8, 4) =

*M* ∑ *j*=1

*mi*,*j*. (18)

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

.

<sup>2</sup> state are in

<sup>2</sup> − 1 till the first

<sup>2</sup> − 1. Adding the

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

**Definition 5.12.** *The sum on the graph-swap distances in the* MG*<sup>d</sup>* (*M*, *<sup>N</sup>*) *distance matrix is*


⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

*distance matrices are respectively as*

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

MG*<sup>d</sup>* (8, 2) =

farthest state to it located at *<sup>z</sup>*

numerical series from one till *<sup>z</sup>*−<sup>1</sup>

a numerical series of ratio one from one to *<sup>z</sup>*

two series we get the final sum equal to � *<sup>z</sup>*

**5.1.3 Adjacency-swap matrix approach**

*each grouping of a spectral null equation.*


Table 1. Graph Distances and Cardinalities of Different Codebooks

**Theorem 5.17.** *The total number of swaps in an adjacency-swap matrix is*


*Proof.* The proof is trivial as per grouping we have *z* index-permutation symbols. Thus we have *z* − 1 ones in each row of the matrix N*Ad* (*M*, *N*) which refer to the possible swaps of each symbol with others in the same grouping. The total number of swaps is (*z* − 1) × *M*.

Table 1 presents few examples of the relationship between the cardinalities of spectral null codes denoted by C*b*(*M*, *N*) and their correspondences of graph distances. It is clear from Table 1 that the cardinalities of different codebooks with the same length of codewords, increase when the number of swaps increases. This results is also verified in Table 1 based on the concept of distances from graph theory perspective.

#### **5.2 Subsets approach**

#### **5.2.1 Subgraph theory**

In this section we make use of one of the properties in graph theory related to the design of subgraphs as presented in Definition 3.1.

1

4

. (20)

*<sup>y</sup>*<sup>2</sup> <sup>+</sup> *<sup>y</sup>*<sup>4</sup> <sup>+</sup> *<sup>y</sup>*<sup>6</sup> . (21)

. (22)

5

6

1

5

6

8

7

*Thus we get,*

*graph theory perspective.*

2

4

Fig. 11. Subgraph design from *M* = 8 to *M* = 6 with *N* = 2

*The corresponding graph for* C*b*(8, 2) *is G*<sup>8</sup> *as presented in Fig. 11.*

3

1

M = 8 M = 6

A Graph Theoretic Approach for Certain Properties of Spectral Null Codes 15

5

G<sup>8</sup> G<sup>6</sup>

*limitation in the page) and which is designed from the spectral null equation presented as follows:*

*N*=2 *<sup>z</sup>*=<sup>4</sup>

*From the spectral null equation* (20) *we eliminate the variables y*<sup>7</sup> *and y*<sup>8</sup> *using the addition property.*

*N*=2 *<sup>z</sup>*=<sup>3</sup>

*This resultant equation is the spectral null equation for the case of M* = 6 *with N* = 2 *and the corresponding codebook is denoted by* C*b*(6, 2)*. Fig. 11 depicts the elimination of the states from a*

*Based on the same approach, we eliminate the variables y*<sup>5</sup> *and y*<sup>6</sup> *from the equation* (21)*. The resultant*

*N*=2 *<sup>z</sup>*=<sup>2</sup>

*The code generated from the spectral null equation* (22) *is denoted by the codebook* C*b*(4, 2) *as depicted*

*It is clear that from the codebook presented in* (19)*, we have* C*b*(4, 2) ⊂ C*b*(6, 2) ⊂ C*b*(8, 2) *in terms of the existence of elements from the codebooks* C*b*(4, 2) *and* C*b*(6, 2) *in the codebook* C*b*(8, 2)*, which is*

*z*=2 *<sup>y</sup>*<sup>2</sup> <sup>+</sup> *<sup>y</sup>*<sup>4</sup>

*<sup>y</sup>*<sup>1</sup> <sup>+</sup> *<sup>y</sup>*<sup>3</sup> <sup>=</sup>

6

*<sup>y</sup>*<sup>1</sup> <sup>+</sup> *<sup>y</sup>*<sup>3</sup> <sup>+</sup> *<sup>y</sup>*<sup>5</sup> <sup>+</sup> *<sup>y</sup>*<sup>7</sup> <sup>=</sup>

*<sup>y</sup>*<sup>1</sup> <sup>+</sup> *<sup>y</sup>*<sup>3</sup> <sup>+</sup> *<sup>y</sup>*<sup>5</sup> <sup>=</sup>

*spectral equation for the case of M* = 4*, with N* = 2 *and z* = 2 *is presented as follows:*

*in* (19)*. The corresponding graph for* C*b*(4, 2) *is G*<sup>4</sup> *as presented in Fig. 12.*

*the same as for the subgraps where we have G*<sup>4</sup> ⊂ *G*<sup>6</sup> ⊂ *G*8*.*

2

4

*z*=4 *<sup>y</sup>*<sup>2</sup> <sup>+</sup> *<sup>y</sup>*<sup>4</sup> <sup>+</sup> *<sup>y</sup>*<sup>6</sup> <sup>+</sup> *<sup>y</sup>*<sup>8</sup>

*z*=3

3

2

3

The elimination of states from any graph corresponding to the index-permutation symbols is in fact the same as eliminating the corresponding variables from the spectral null equation (1). The elimination of the variables is performed in such a way that the spectral null equation is always satisfied. This leads to the basic idea of eliminating an equivalent number of variable equal to *N* as a total number from different groupings in the spectral null equation. This is true when we eliminate only one variable from each grouping. In the case when we eliminate *t* variables with 1 < *t* < *z* from each grouping, we have a total number of eliminated variables of *tN*.


**Example 5.18.** *We construct the code for the case of M* = 8*, with N* = 2 *and z* = 4*, which is represented by the codebook* C*b*(8, 2) *in* (19) *(we present only the half of the codebook because of space*

14 Will-be-set-by-IN-TECH

The elimination of states from any graph corresponding to the index-permutation symbols is in fact the same as eliminating the corresponding variables from the spectral null equation (1). The elimination of the variables is performed in such a way that the spectral null equation is always satisfied. This leads to the basic idea of eliminating an equivalent number of variable equal to *N* as a total number from different groupings in the spectral null equation. This is true when we eliminate only one variable from each grouping. In the case when we eliminate *t* variables with 1 < *t* < *z* from each grouping, we have a total number of eliminated variables

*N* bits *N* bits

0 0 0 0 0000 ⎫

**Example 5.18.** *We construct the code for the case of M* = 8*, with N* = 2 *and z* = 4*, which is represented by the codebook* C*b*(8, 2) *in* (19) *(we present only the half of the codebook because of space*

⎪⎪⎪⎪⎪⎬

C*b*(4, 2)

⎫

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬

C*b*(6, 2)

(19)

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

⎪⎪⎪⎪⎪⎭

⎪⎪⎪⎪⎪⎬

C*b*(4, 2)

⎪⎪⎪⎪⎪⎭

of *tN*.

1 2

C*b*(8, 2) =

Fig. 11. Subgraph design from *M* = 8 to *M* = 6 with *N* = 2

*limitation in the page) and which is designed from the spectral null equation presented as follows:*

$$\overbrace{\underbrace{\color{z=4}\,^{z=4}\,^{1}}\_{\begin{subarray}{c}\mathbf{y}\_{1}+\mathbf{y}\_{3}+\mathbf{y}\_{5}+\mathbf{y}\_{7}=\mathbf{y}\_{2}\end{subarray}}^{\text{N=2}}\underbrace{\mathbf{z={4}}\,^{z=4}\mathbf{y}}\_{\begin{subarray}{c}\mathbf{z={4}}\\\mathbf{y}\_{1}+\mathbf{{y}\_{6}}+\mathbf{{y}\_{8}}\end{subarray}}\,\mathbf{.}\mathbf{z}\tag{20}$$

*The corresponding graph for* C*b*(8, 2) *is G*<sup>8</sup> *as presented in Fig. 11.*

*From the spectral null equation* (20) *we eliminate the variables y*<sup>7</sup> *and y*<sup>8</sup> *using the addition property. Thus we get,*

$$\overbrace{\overbrace{y\_1 + y\_3 + y\_5}^{z=3} = \overbrace{y\_2 + y\_4 + y\_6}^{z=2}}^{N=2} \tag{21}$$

*This resultant equation is the spectral null equation for the case of M* = 6 *with N* = 2 *and the corresponding codebook is denoted by* C*b*(6, 2)*. Fig. 11 depicts the elimination of the states from a graph theory perspective.*

*Based on the same approach, we eliminate the variables y*<sup>5</sup> *and y*<sup>6</sup> *from the equation* (21)*. The resultant spectral equation for the case of M* = 4*, with N* = 2 *and z* = 2 *is presented as follows:*

$$\overbrace{\underbrace{z=2}^{z=2}\overbrace{y\_1+y\_3}^{z=2}+\cdots}^{N=2}\tag{22}$$

*The code generated from the spectral null equation* (22) *is denoted by the codebook* C*b*(4, 2) *as depicted in* (19)*. The corresponding graph for* C*b*(4, 2) *is G*<sup>4</sup> *as presented in Fig. 12.*

*It is clear that from the codebook presented in* (19)*, we have* C*b*(4, 2) ⊂ C*b*(6, 2) ⊂ C*b*(8, 2) *in terms of the existence of elements from the codebooks* C*b*(4, 2) *and* C*b*(6, 2) *in the codebook* C*b*(8, 2)*, which is the same as for the subgraps where we have G*<sup>4</sup> ⊂ *G*<sup>6</sup> ⊂ *G*8*.*

of four states which corresponds to the case of *M* = 4. An addition of a state corresponds to

A Graph Theoretic Approach for Certain Properties of Spectral Null Codes 17

Spectral shaping technique that design codes with certain power spectral density properties is used to construct codes called spectral null codes that can generate nulls at rational submultiples of the symbol frequency. These codes have great importance in certain applications like in the case of transmission systems employing pilot tones for synchronization and that of track-following servos in digital recording. these codes are not confined to magnetic recorders but they ware taken further to their utilization in write-once recording

In this investigation we have shown how the use of graphs can give a new insight into the analysis and understanding the structure of the spectral null codes, where with incisive observations to spectral null codebooks, we could derive important properties that can be

The relationship between the spectral null equations for our designed codes and the permutation sequences corresponding to the indices of the variables in those equations have lead to a very important derivation of certain properties based on graph theory approach. The properties that we have presented could potentially lead to the discovery of other interesting properties for specific applications like those that we have investigated in [13]. The use of certain graph theory properties helped in understanding certain properties of spectral null codes. The introduction of the index-permutation sequences and the use of the concept of distances gave us an idea about the structure and the design conditions of spectral

[1] R. J. Wilson, *Graph theory and Combinatorics*. England: Pitman Advanced Publishing

[2] J. L. Gross and J. Yellen, *Graph theory and its Applications*. USA: Chapman and Hall/CRC.,

[3] K. A. S. Immink, "Spectral null codes," *IEEE Transactions on Magnetics*, vol. 26, no. 2, pp.

[4] N. Hansen, "A head-positioning system using buried servos,Tˇ *IEEE Transactions on*

[5] M. Haynes, "Magnetic recording techniques for buried servos,Tˇ *IEEE Transactions on*

[6] C. Yeh and B. Parhami, "Parallel algorithms for index-permutation graphs. An extension of Cayley graphs for multiple chip-multiprocessors (MCMP)"*International Conference on*

[7] T. G. Swart, "Distance-Preserving Mappings and Trellis Codes with Permutation Sequences", Ph.D. dissertation, University of Johannesburg, Johannesburg, South Africa,

[8] E. Gorog, "Alphabets with desirable frequency spectrum properties," *IBM J. Res. Develop.*,

the addition of its corresponding variable in a way to keep the equation (1) satisfied.

**6. Conclusion**

systems.

null codes.

**7. References**

2006.

Apr. 2006.

Program., 1979.

1130–1135, Mar. 1990.

*Magnetics*, vol. 17, no. 6, pp. 2735–2738, Nov. 1981.

*Magnetics*, vol. 17, no. 6, pp. 2730–2734, Nov. 1981.

*Parallel Processing*,pp. 3–12, Sept. 2001.

vol. 12, pp. 234–241, May 1968.

useful in the field of digital communications.

Fig. 12. Subgraph design from *M* = 6 to *M* = 4 with *N* = 2

Fig. 13. Supergraph design: From *M* = 4 to *M* = 6 with *N* = 2

#### **5.2.2 Supergraph theory**

The concept of supergraphs is totally opposite to what was introduced with the subgraphs. Although this concept is not treated in graph theory because of its complexity and the conditions that we should have to add vertices to any graph. This problem is already solved in the design of spectral null codes since we are dealing with spectral null equations where it is easy to add variables in all groupings in such a way the spectral null equations are satisfied. Thus it results in the addition of the corresponding states of the symbols in the corresponding permutation equation.

**Definition 5.19.** *A spectral null preserving supergraph is an extension of a graph with a multiple of N states, which always keeps the spectral null equation satisfied.*

Fig. 13 presents the mechanism of the addition of states to an existing graph. The example of a graph of six states, which is related to the case of *M* = 6, is actually an extension of the graph of four states which corresponds to the case of *M* = 4. An addition of a state corresponds to the addition of its corresponding variable in a way to keep the equation (1) satisfied.

### **6. Conclusion**

16 Will-be-set-by-IN-TECH

M = 6 M = 4

1

4

M = 4 M = 6

G<sup>4</sup> G<sup>6</sup>

x<sup>1</sup> + x<sup>3</sup> + x<sup>1</sup> + x<sup>3</sup> + x<sup>5</sup> = x<sup>2</sup> + x<sup>4</sup> + x<sup>6</sup> ... = x<sup>2</sup> + x<sup>4</sup> + ...

The concept of supergraphs is totally opposite to what was introduced with the subgraphs. Although this concept is not treated in graph theory because of its complexity and the conditions that we should have to add vertices to any graph. This problem is already solved in the design of spectral null codes since we are dealing with spectral null equations where it is easy to add variables in all groupings in such a way the spectral null equations are satisfied. Thus it results in the addition of the corresponding states of the symbols in the corresponding

**Definition 5.19.** *A spectral null preserving supergraph is an extension of a graph with a multiple of*

Fig. 13 presents the mechanism of the addition of states to an existing graph. The example of a graph of six states, which is related to the case of *M* = 6, is actually an extension of the graph

2

1

3

G<sup>4</sup>

2

3

1

4

2

3

5

6

4

1

4

G<sup>6</sup>

1

3

5

4

**5.2.2 Supergraph theory**

permutation equation.

6

2

3

Fig. 12. Subgraph design from *M* = 6 to *M* = 4 with *N* = 2

2

x<sup>5</sup> x<sup>6</sup>

Fig. 13. Supergraph design: From *M* = 4 to *M* = 6 with *N* = 2

*N states, which always keeps the spectral null equation satisfied.*

5

6

Spectral shaping technique that design codes with certain power spectral density properties is used to construct codes called spectral null codes that can generate nulls at rational submultiples of the symbol frequency. These codes have great importance in certain applications like in the case of transmission systems employing pilot tones for synchronization and that of track-following servos in digital recording. these codes are not confined to magnetic recorders but they ware taken further to their utilization in write-once recording systems.

In this investigation we have shown how the use of graphs can give a new insight into the analysis and understanding the structure of the spectral null codes, where with incisive observations to spectral null codebooks, we could derive important properties that can be useful in the field of digital communications.

The relationship between the spectral null equations for our designed codes and the permutation sequences corresponding to the indices of the variables in those equations have lead to a very important derivation of certain properties based on graph theory approach.

The properties that we have presented could potentially lead to the discovery of other interesting properties for specific applications like those that we have investigated in [13].

The use of certain graph theory properties helped in understanding certain properties of spectral null codes. The introduction of the index-permutation sequences and the use of the concept of distances gave us an idea about the structure and the design conditions of spectral null codes.

#### **7. References**


**2** 

**Pure Links Between Graph Invariants** 

Hamiltonian graph theory is one of the oldest and attractive fields in discrete mathematics, concerning various path and cycle existence problems in graphs. These problems mainly are known to be NP-complete that force the graph theorists to direct efforts toward understanding the global and general relationship between various invariants of a graph

This chapter is devoted to large cycle substructures, perhaps the most important cycle structures in graphs: Hamilton, longest and dominating cycles and some generalized cycles

Graph invariants provide a powerful and maybe the single analytical tool for investigation of abstract structures of graphs. They, combined in convenient algebraic relations, carry global and general information about a graph and its particular substructures such as cycle structures, factors, matchings, colorings, coverings, and so on. The discovery of these

In the literature, eight basic (initial) invariants of a graph *G* are known having significant impact on large cycle structures, namely order *n* , size *q* , minimum degree , connectivity , independence number , toughness and the lengths of a longest path and a longest

In this chapter we have collected 37 pure algebraic relations between *nq p* ,,, , ,, and *c* ensuring the existence of a certain type of large cycles. The majority of these results are

Focusing only on basic graph invariants, as well as on pure algebraic relations between these parameters, in fact, we present the simplest kind of relations for large cycles having no forerunners in the area. Actually they form a source from which nearly all possible hamiltonian results (including well-known Ore's theorem, Pósa's theorem and many other

cycle in *G C*\ for a given longest cycle *C* in *G* , denoted by *p* and *c* , respectively.

**1. Introduction** 

sharp in all respects.

G.G. Nicoghossian (up to 1997)

 \*

and its path and cycle structure.

including Hamilton and dominating cycles as special cases.

relations is the primary problem of graph theory.

**and Large Cycle Structures** 

*Institute for Informatics and Automation Problems,* 

Zh.G. Nikoghosyan\*

 *Armenia* 

 *National Academy of Sciences,* 


## **Pure Links Between Graph Invariants and Large Cycle Structures**

Zh.G. Nikoghosyan\*

*Institute for Informatics and Automation Problems, National Academy of Sciences, Armenia* 

### **1. Introduction**

18 Will-be-set-by-IN-TECH

18 New Frontiers in Graph Theory

[9] B. H. Marcus and P. H. Siegel, "On codes with spectral nulls at rational submultiples of the symbol frequency," *IEEE Trans. Inf. Theory*, vol. 33, no. 4, pp. 557–568, Jul. 1987. [10] K. A. S. Immink, *Codes for mass data storage systems*, Shannon Foundation Publishers, The

[11] A. Viterbi and J. Omura, *Principles of Digital Communication and Coding*. McGraw-Hill

[12] K. Ouahada and H. C. Ferreira, "A *k*-Cube Construction mapping mapping binary vector to permutation," in *Proceedings of the International Symposium on Information Theory*, South

[13] K. Ouahada, T. G. Swart, H. C. Ferreira and L. Cheng, "Binary permutation sequences as subsets of Levenshtein codes, run-length limited codes and spectral shaping codes,"

*Designs, Codes and Cryptography Journal*, vol. 48, no. 2, pp. 141–154, Aug. 2008.

Netherlands, 1999.

Kogakusha LTD, Tokyo Japan, 1979.

Korea, pp. 630–634, June 28–July 3, 2009.

Hamiltonian graph theory is one of the oldest and attractive fields in discrete mathematics, concerning various path and cycle existence problems in graphs. These problems mainly are known to be NP-complete that force the graph theorists to direct efforts toward understanding the global and general relationship between various invariants of a graph and its path and cycle structure.

This chapter is devoted to large cycle substructures, perhaps the most important cycle structures in graphs: Hamilton, longest and dominating cycles and some generalized cycles including Hamilton and dominating cycles as special cases.

Graph invariants provide a powerful and maybe the single analytical tool for investigation of abstract structures of graphs. They, combined in convenient algebraic relations, carry global and general information about a graph and its particular substructures such as cycle structures, factors, matchings, colorings, coverings, and so on. The discovery of these relations is the primary problem of graph theory.

In the literature, eight basic (initial) invariants of a graph *G* are known having significant impact on large cycle structures, namely order *n* , size *q* , minimum degree , connectivity , independence number , toughness and the lengths of a longest path and a longest cycle in *G C*\ for a given longest cycle *C* in *G* , denoted by *p* and *c* , respectively.

In this chapter we have collected 37 pure algebraic relations between *nq p* ,,, , ,, and *c* ensuring the existence of a certain type of large cycles. The majority of these results are sharp in all respects.

Focusing only on basic graph invariants, as well as on pure algebraic relations between these parameters, in fact, we present the simplest kind of relations for large cycles having no forerunners in the area. Actually they form a source from which nearly all possible hamiltonian results (including well-known Ore's theorem, Pósa's theorem and many other

<sup>\*</sup> G.G. Nicoghossian (up to 1997)

Pure Links Between Graph Invariants and Large Cycle Structures 21

has a vertex in common with *C* . When *C* dominates all vertices in *G* then *C* is a Hamilton cycle. When *C* dominates all edges in *G* then *C* is called a dominating cycle introduced by Nash-Williams (Nash-Williams, 1971). Further, if *C* dominates all paths in *G* of length at least some fixed integer then *C* is a *PD* (path dominating)-cycle introduced by Bondy (Bondy, 1981). Finally, if *C* dominates all cycles in *G* of length at least then *C* is a *CD* (cycle dominating)-cycle, introduced in (Zh.G. Nikoghosyan, 2009a). The existence problems of generalized *PD* and *CD* -cycles are studied in (Zh.G. Nikoghosyan, 2009a) including

Section 2 is devoted to necessary notation and terminology. In Section 3, we discuss pure relations between various basic invariants of a graph and Hamilton cycles. Next sections are devoted to analogous pure relations concerning dominating cycles (Section 4), *CD* -cycles (Section 5), long cycles (Section 6), long cycles with Hamilton cycles (Section 7), long cycles with dominating cycles (Section 8) and long cycles with *CD* -cycles (Section 9). In Section 10 we present the proofs of Theorems 6, 21 and 27. Concluding remarks are given in Section

We consider only finite undirected graphs without loops or multiple edges. A good reference for any undefined terms is (Bondy & Murty, 1976). The set of vertices of a graph *G* is denoted by *V G*( ) and the set of edges by *E G*( ) . For *S* a subset of *V G*( ) , we denote by *G S*\ the maximum subgraph of *G* with vertex set *VG S* ( )\ . For a subgraph *H* of *G* we use \ *G H* short for *G VH* \( ) . Denote by *N x*( ) the neighborhood of a vertex *x* in *G* . Put

A simple cycle (or just a cycle) *C* of length *t* is a sequence 12 1 ... *<sup>t</sup> vv vv* of distinct vertices 1 2 , ,..., *<sup>t</sup> vv v* with 1 ( ) *i i vv EG* for each *i t* {1,..., } , where 1 1. *<sup>t</sup> v v* When 2 *t* , the cycle *C vvv* 121 on two vertices 1 2 *v v*, coincides with the edge 1 2 *v v* , and when 1 *t* , the cycle *C v* 1 coincides with the vertex 1 *v* . So, all vertices and edges in a graph can be considered as cycles of lengths 1 and 2, respectively. A graph *G* is hamiltonian if *G* contains a Hamilton cycle, i.e. a cycle containing all vertices of G. Let be an integer. A cycle *C* in *G* is a *PD* -cycle if *P* 1 for each path *P* in \ *G C* and is a *CD* -cycle if *C* 1 for each cycle *C* in \ *G C* . In particular, *PD*<sup>0</sup> -cycles and *CD*<sup>1</sup> -cycles are well-known Hamilton cycles and *PD*<sup>1</sup> -cycles and *CD*<sup>2</sup> -cycles are often called dominating

We reserve *n q*,,, and to denote the number of vertices (order), number of edges (size), minimum degree, connectivity and independence number of a graph, respectively. Let *c* denote the circumference - the length of a longest cycle in a graph. In general, 1 *c* . For *C* a longest cycle in *G* , denote by *p* and *c* the lengths of a longest path and a longest cycle in *G C*\ , respectively. Let *s G*( ) denote the number of components of a graph *G* . A graph *G* is *t* -tough if *S t sG S* ( \) for every subset *S VG* ( ) with *sG S* ( \ ) 1. The toughness of *G* , denoted ( ) *G* , is the maximum value of *t* for which *G* is *t* -tough (taking ( ) *Kn* for

Hamilton and dominating cycles as special cases.

11.

**2. Terminology** 

*dx Nx* ( )

cycles.

all 1 *n* ).

generalizations) can be developed further by various additional new ideas, generalizations, extensions, restrictions and structural limitations:


We refer to (Bermond, 1978) and (Gould, 1991, 2003) for more background and general surveys.

The order *n* , size *q* and minimum degree clearly are easy computable graph invariants. In (Even & Tarjan, 1975), it was proved that connectivity can be determined in polynomial time, as well. Determining the independence number and toughness are shown in (Garey & Johnson, 1983) and (Bauer et al., 1990a) to be *CD* -hard problems. Moreover, it was proved (Bauer et al., 1990a) that for any positive rational number *t* , recognizing *t* -tough graphs (in particular 1-tough graphs) is an *NP* -hard problem.

The order *n* and size *q* are neutral with respect to cycle structures. Meanwhile, they become more effective combined together (Theorem 1). The minimum degree having high frequency of occurrence in different relations is, in a sense, a more essential invariant than the order and size, providing some dispersion of the edges in a graph. The combinations between order *n* and minimum degree become much more fruitful especially under some additional connectivity conditions. The impact of some relations on cycle structures can be strengthened under additional conditions of the type *i* for appropriate integer *i* . By many graph theorists, the connectivity is at the heart of all path and cycle questions providing comparatively more uniform dispersion of the edges. An alternate connectedness measure is toughness - the most powerful and less investigated graph invariant introduced by Chvátal (Chvátal, 1973) as a means of studying the cycle structure of graphs. Chvátal (Chvátal, 1973) conjectured that there exists a finite constant 0*t* such that every 0*t* -tough graph is hamiltonian. This conjecture is still open. We have omitted a number of results involving toughness as a parameter since they are far from being best possible.

Large cycle structures are centered around well-known Hamilton (spanning) cycles. Other types of large cycles were introduced for different situations when the graph contains no Hamilton cycles or it is difficult to find it. Generally, a cycle *C* in a graph *G* is a large cycle if it dominates some certain subgraph structures in *G* in a sense that every such structure has a vertex in common with *C* . When *C* dominates all vertices in *G* then *C* is a Hamilton cycle. When *C* dominates all edges in *G* then *C* is called a dominating cycle introduced by Nash-Williams (Nash-Williams, 1971). Further, if *C* dominates all paths in *G* of length at least some fixed integer then *C* is a *PD* (path dominating)-cycle introduced by Bondy (Bondy, 1981). Finally, if *C* dominates all cycles in *G* of length at least then *C* is a *CD* (cycle dominating)-cycle, introduced in (Zh.G. Nikoghosyan, 2009a). The existence problems of generalized *PD* and *CD* -cycles are studied in (Zh.G. Nikoghosyan, 2009a) including Hamilton and dominating cycles as special cases.

Section 2 is devoted to necessary notation and terminology. In Section 3, we discuss pure relations between various basic invariants of a graph and Hamilton cycles. Next sections are devoted to analogous pure relations concerning dominating cycles (Section 4), *CD* -cycles (Section 5), long cycles (Section 6), long cycles with Hamilton cycles (Section 7), long cycles with dominating cycles (Section 8) and long cycles with *CD* -cycles (Section 9). In Section 10 we present the proofs of Theorems 6, 21 and 27. Concluding remarks are given in Section 11.

### **2. Terminology**

20 New Frontiers in Graph Theory

generalizations) can be developed further by various additional new ideas, generalizations,

 **generalized and extended graph invariants** - degree sequences (Pósa type, Chvátal type), degree sums (Ore type, Fun type), neighborhood unions, generalized degrees,

 **extended list of path and cycle structures** - Hamilton, longest and dominating cycles, generalized cycles including Hamilton and dominating cycles as special cases, 2-factor, multiple Hamilton cycles, edge disjoint Hamilton cycles, powers of Hamilton cycles, *k* ordered Hamilton cycles, arbitrary cycles, cycle systems, pancyclic-type cycle systems, cycles containing specified sets of vertices or edges, shortest cycles, analogous path

 **structural (descriptive) limitations** - regular, planar, bipartite, chordal and interval graphs, graphs with forbidden subgraphs, Boolean graphs, hypercubes, and so on, **graph extensions** - hypergraphs, digraphs and orgraphs, labeled and weighted graphs,

We refer to (Bermond, 1978) and (Gould, 1991, 2003) for more background and general

The order *n* , size *q* and minimum degree clearly are easy computable graph invariants. In (Even & Tarjan, 1975), it was proved that connectivity can be determined in polynomial time, as well. Determining the independence number and toughness are shown in (Garey & Johnson, 1983) and (Bauer et al., 1990a) to be *CD* -hard problems. Moreover, it was proved (Bauer et al., 1990a) that for any positive rational number *t* ,

The order *n* and size *q* are neutral with respect to cycle structures. Meanwhile, they become more effective combined together (Theorem 1). The minimum degree having high frequency of occurrence in different relations is, in a sense, a more essential invariant than the order and size, providing some dispersion of the edges in a graph. The combinations between order *n* and minimum degree become much more fruitful especially under some additional connectivity conditions. The impact of some relations on cycle structures can be strengthened under additional conditions of the type *i* for appropriate integer *i* . By many graph theorists, the connectivity is at the heart of all path and cycle questions providing comparatively more uniform dispersion of the edges. An alternate connectedness measure is toughness - the most powerful and less investigated graph invariant introduced by Chvátal (Chvátal, 1973) as a means of studying the cycle structure of graphs. Chvátal (Chvátal, 1973) conjectured that there exists a finite constant 0*t* such that every 0*t* -tough graph is hamiltonian. This conjecture is still open. We have omitted a number of results involving toughness as a parameter since they are far from

Large cycle structures are centered around well-known Hamilton (spanning) cycles. Other types of large cycles were introduced for different situations when the graph contains no Hamilton cycles or it is difficult to find it. Generally, a cycle *C* in a graph *G* is a large cycle if it dominates some certain subgraph structures in *G* in a sense that every such structure

recognizing *t* -tough graphs (in particular 1-tough graphs) is an *NP* -hard problem.

extensions, restrictions and structural limitations:

infinite graphs, random graphs, and so on.

local connectivity, and so on,

structures, and so on,

surveys.

being best possible.

We consider only finite undirected graphs without loops or multiple edges. A good reference for any undefined terms is (Bondy & Murty, 1976). The set of vertices of a graph *G* is denoted by *V G*( ) and the set of edges by *E G*( ) . For *S* a subset of *V G*( ) , we denote by *G S*\ the maximum subgraph of *G* with vertex set *VG S* ( )\ . For a subgraph *H* of *G* we use \ *G H* short for *G VH* \( ) . Denote by *N x*( ) the neighborhood of a vertex *x* in *G* . Put *dx Nx* ( )

A simple cycle (or just a cycle) *C* of length *t* is a sequence 12 1 ... *<sup>t</sup> vv vv* of distinct vertices 1 2 , ,..., *<sup>t</sup> vv v* with 1 ( ) *i i vv EG* for each *i t* {1,..., } , where 1 1. *<sup>t</sup> v v* When 2 *t* , the cycle *C vvv* 121 on two vertices 1 2 *v v*, coincides with the edge 1 2 *v v* , and when 1 *t* , the cycle *C v* 1 coincides with the vertex 1 *v* . So, all vertices and edges in a graph can be considered as cycles of lengths 1 and 2, respectively. A graph *G* is hamiltonian if *G* contains a Hamilton cycle, i.e. a cycle containing all vertices of G. Let be an integer. A cycle *C* in *G* is a *PD* -cycle if *P* 1 for each path *P* in \ *G C* and is a *CD* -cycle if *C* 1 for each cycle *C* in \ *G C* . In particular, *PD*<sup>0</sup> -cycles and *CD*<sup>1</sup> -cycles are well-known Hamilton cycles and *PD*<sup>1</sup> -cycles and *CD*<sup>2</sup> -cycles are often called dominating cycles.

We reserve *n q*,,, and to denote the number of vertices (order), number of edges (size), minimum degree, connectivity and independence number of a graph, respectively. Let *c* denote the circumference - the length of a longest cycle in a graph. In general, 1 *c* . For *C* a longest cycle in *G* , denote by *p* and *c* the lengths of a longest path and a longest cycle in *G C*\ , respectively. Let *s G*( ) denote the number of components of a graph *G* . A graph *G* is *t* -tough if *S t sG S* ( \) for every subset *S VG* ( ) with *sG S* ( \ ) 1. The toughness of *G* , denoted ( ) *G* , is the maximum value of *t* for which *G* is *t* -tough (taking ( ) *Kn* for all 1 *n* ).

Pure Links Between Graph Invariants and Large Cycle Structures 23

<sup>2</sup> *q* 1

*Example for sharpness.* The bound <sup>2</sup> 1 in Theorem 2 can not be relaxed to <sup>2</sup> since the graph 1 *K K*2 consisting of two copies of *K*1 and having exactly one vertex in

The earliest sufficient condition for a graph to be hamiltonian is based on the order *n* and minimum degree ensuring the existence of a Hamilton cycle with sufficient number of

> 2 *<sup>n</sup>*

The graph 1 2*K K* shows that the bound *n* 2 in Theorem 3 can not be replaced by

The minimum degree bound *n* 2 in Theorem 3 can be slightly relaxed for graphs under

4 2 *<sup>n</sup>*

 .

> 7 2 *<sup>n</sup>*

This bound *n* 4 2 itself was lowered further to *n* 7 2 under stronger conditions

Furthermore, the bound *n* / 2 was essentially lowered to *n* 3 (when *k n* 2 ) by

**Theorem 2** (Zh.G. Nikoghosyan, 2011). Let *G* be an arbitrary graph. If

common, has <sup>2</sup> edges but is not hamiltonian.

edges by keeping the minimum degree at a fairly high level.

**Theorem 4** (Jung, 1978). Let *G* be a graph with 11 *n* and 1 . If

**Theorem 5** (Bauer et al., 1991a). Let *G* be a graph with 30 *n* and 1 . If

incorporating connectivity into the minimum degree bound.

*Examples for sharpness*: Petersen graph; , 1 ; *K Gn*

**Theorem 3** (Dirac, 1952). Let *G* be an arbitrary graph. If

then *G* is hamiltonian.

then *G* is hamiltonian.

*n* 1 2 .

*Example for sharpness*: 1 2 . *K K*

additional 1-tough condition.

then *G* is hamiltonian.

*n* 30 and 1 .

then G is hamiltonian.

An *x*,*y* -path is a path with end vertices *x* and *y* . Given an *x*,*y* -path *L* of *G* , we denote by *L* the path *L* with an orientation from *x* to *y* . If *uv V L* , then *uLv* denotes the consecutive vertices on *L* from *u* to *v* in the direction specified by *L* . The same vertices, in reverse order, are given by *vLu* . For *L xL <sup>y</sup>* and *u VL* , let *u L* (or just

*u* ) denotes the successor of *u u y* on *L* , and *u* denotes its predecessor *u x* . If *A VL* \*y* then we denote *A vvA* | . Similar notation is used for cycles. If *Q* is a cycle and *u VQ* , then *uQu u* .

Let *abtk* ,,, be integers with *k t* . We use *H abtk* , ,, to denote the graph obtained from *a t tK K* by taking any *k* vertices in subgraph *Kt* and joining each of them to all vertices of . *Kb* Denote by *L* the graph obtained from 1 3*K K* by taking one vertex in each of three copies of *Kb* and joining them each to other. For odd *n* , where 15 *n* , construct the graph *Gn* from *K KK n n* 1 2 1 2 , where *n n* 3 52 , by joining every vertex in *K* to all other vertices and by adding a matching between all vertices in *K <sup>n</sup>* 1 2 and *n* 1 2 vertices in *K <sup>n</sup>*1 2 . It is easily seen that *Gn* is 1-tough but not hamiltonian. A variation of the graph *Gn* , with *K* replaced by *K* and *n* 5 2 , will be denoted by *Gn* .

### **3. Pure relations for Hamilton cycles**

We begin with a pure algebraic relation between order *n* and size *q* insuring the existence of a Hamilton cycle based on the natural idea that if a sufficient number of edges are present in the graph then a Hamilton cycle will exist.

**Theorem 1** (Erdös & Gallai, 1959). Let *G* be an arbitrary graph. If

$$q \ge \frac{n^2 - 3n + 5}{2}$$

then *G* is hamiltonian.

*Example for sharpness.* To see that the size bound <sup>2</sup> ( 3 5) 2 *n n* in Theorem 1 is best possible, note that the graph formed by joining one vertex of *Kn*1 to *K*<sup>1</sup> , contains <sup>2</sup> ( 3 4) 2 *n n* edges and is not hamiltonian.

The next pure algebraic relation links the size *q* and minimum degree insuring the existence of a Hamilton cycle. In view of Theorem 1, it seems a little surprising, providing, in fact, a contrary statement.

**Theorem 2** (Zh.G. Nikoghosyan, 2011). Let *G* be an arbitrary graph. If

$$q \le \delta^2 + \delta - 1$$

then *G* is hamiltonian.

22 New Frontiers in Graph Theory

An *x*,*y* -path is a path with end vertices *x* and *y* . Given an *x*,*y* -path *L* of *G* , we

*A VL* \*y* then we denote *A vvA* | . Similar notation is used for cycles. If *Q* is

Let *abtk* ,,, be integers with *k t* . We use *H abtk* , ,, to denote the graph obtained from *a t tK K* by taking any *k* vertices in subgraph *Kt* and joining each of them to all vertices of . *Kb* Denote by *L* the graph obtained from 1 3*K K* by taking one vertex in each of three copies of *Kb* and joining them each to other. For odd *n* , where 15 *n* , construct the graph *Gn* from *K KK n n* 1 2 1 2 , where *n n* 3 52 , by joining every vertex in *K* to all other vertices and by adding a matching between all vertices in *K <sup>n</sup>* 1 2 and *n* 1 2 vertices in *K <sup>n</sup>*1 2 . It is easily seen that *Gn* is 1-tough but not hamiltonian. A variation of the graph *Gn* , with *K* replaced by *K* and *n* 5 2 , will be denoted by

We begin with a pure algebraic relation between order *n* and size *q* insuring the existence of a Hamilton cycle based on the natural idea that if a sufficient number of edges are present

> <sup>2</sup> 3 5 2 *n n <sup>q</sup>*

*Example for sharpness.* To see that the size bound <sup>2</sup> ( 3 5) 2 *n n* in Theorem 1 is best possible, note that the graph formed by joining one vertex of *Kn*1 to *K*<sup>1</sup> , contains

existence of a Hamilton cycle. In view of Theorem 1, it seems a little surprising, providing,

The next pure algebraic relation links the size *q* and minimum degree

the path *L* with an orientation from *x* to *y* . If *uv V L* , then *uLv*

. For *L xL <sup>y</sup>*

from *u* to *v* in the direction specified by *L*

 (or just

insuring the

and *u VL* , let *u L*

, and *u* denotes its predecessor *u x* . If

denotes

. The same

denote by *L*

*Gn* . the consecutive vertices on *L*

a cycle and *u VQ* , then *uQu u*

vertices, in reverse order, are given by *vLu*

**3. Pure relations for Hamilton cycles** 

in the graph then a Hamilton cycle will exist.

<sup>2</sup> ( 3 4) 2 *n n* edges and is not hamiltonian.

then *G* is hamiltonian.

in fact, a contrary statement.

**Theorem 1** (Erdös & Gallai, 1959). Let *G* be an arbitrary graph. If

*u* ) denotes the successor of *u u y* on *L*

.

*Example for sharpness.* The bound <sup>2</sup> 1 in Theorem 2 can not be relaxed to <sup>2</sup> since the graph 1 *K K*2 consisting of two copies of *K*1 and having exactly one vertex in common, has <sup>2</sup> edges but is not hamiltonian.

The earliest sufficient condition for a graph to be hamiltonian is based on the order *n* and minimum degree ensuring the existence of a Hamilton cycle with sufficient number of edges by keeping the minimum degree at a fairly high level.

**Theorem 3** (Dirac, 1952). Let *G* be an arbitrary graph. If

$$
\lg \ge \frac{n}{2}
$$

then *G* is hamiltonian.

*Example for sharpness*: 1 2 . *K K*

The graph 1 2*K K* shows that the bound *n* 2 in Theorem 3 can not be replaced by *n* 1 2 .

The minimum degree bound *n* 2 in Theorem 3 can be slightly relaxed for graphs under additional 1-tough condition.

**Theorem 4** (Jung, 1978). Let *G* be a graph with 11 *n* and 1 . If

$$
\delta \ge \frac{n-4}{2}
$$

then *G* is hamiltonian.

*Examples for sharpness*: Petersen graph; , 1 ; *K Gn* .

This bound *n* 4 2 itself was lowered further to *n* 7 2 under stronger conditions *n* 30 and 1 .

**Theorem 5** (Bauer et al., 1991a). Let *G* be a graph with 30 *n* and 1 . If

$$
\delta \ge \frac{n-7}{2}
$$

then G is hamiltonian.

Furthermore, the bound *n* / 2 was essentially lowered to *n* 3 (when *k n* 2 ) by incorporating connectivity into the minimum degree bound.

Pure Links Between Graph Invariants and Large Cycle Structures 25

For a positive integer, the bound ( 2) 3 *n* in Theorem 8 was essentially lowered under

additional condition of the type , including Theorem 8 as a special case.

2 max 1, 1 <sup>2</sup> *<sup>n</sup>* .

1 2 *K K* 1 1 ; 2 2 *KK H* 1; , 1, 3, 2.

**Theorem 11** (Zh.G. Nikoghosyan, 1985a). Let *G* be a graph with 3 . If

Later, Theorem 8 was essentially improved for 3-connected graphs by incorporating the

The graph 2 3 4*K K* shows that for 3 the minimum degree bound *n* 2 4 in

Finally, the bound ( 2 )4 *n* in Theorem 11 was reduced to ( 3) 4 *n* without any

max , <sup>4</sup> *<sup>n</sup>*

The first pure relation between graph invariants involving connectivity as a parameter

3

2 max , <sup>4</sup> *<sup>n</sup>*

**Theorem 10** (Fraisse, 1986). Let *G* be a graph, a positive integer and

If 1 then *G* is hamiltonian.

connectivity into the minimum degree bound.

*Examples for sharpness*: 3 ;4 ; 1,2, 1, . *K K K KH* <sup>2223</sup>

additional limitations providing a best possible result for each 3.

*Examples for sharpness*: 3 ; 2, 3 3, 1, ; 1,2, 1, . *K KH n* 1 2 *H*

**Theorem 13** (Chvátal and Erdös, 1972). Let *G* be an arbitrary graph. If

**Theorem 12** (Yamashita, 2008). Let *G* be a graph with 3 . If

Theorem 11 can not be replaced by ( 2 1) 4. *n*

*Examples for sharpness*:

then *G* is hamiltonian.

then *G* is hamiltonian.

was developed in 1972.

then *G* is hamiltonian.

*Example for sharpness*: , 1 *K* .

**Theorem 6** (Zh.G. Nikoghosyan, 1981). Let *G* be a graph with 2 . If

$$
\delta \ge \frac{n+\kappa}{3}
$$

then G is hamiltonian.

*Examples for sharpness*: 2 ; 1, 1, , 2 2 . *K KH* <sup>1</sup> *n*

A short proof of Theorem 6 was given by Häggkvist (Häggkvist & Nicoghossian, 1981).

The minimum degree bound *n* 3 in Theorem 6 was slightly lowered to *n* 2 3 for 1-tough graphs.

**Theorem 7** (Bauer & Schmeichel, 1991b). Let *G* be a graph with 1 . If

$$
\delta \ge \frac{n + \kappa - 2}{3}
$$

then *G* is hamiltonian.

*Examples for sharpness*: , 1 *K L*; .

Another essential improvement of Dirac's bound *n* 2 was established for 2-connected graphs under additional strong condition .

**Theorem 8** (Nash-Williams, 1971). Let *G* be a graph with 2 . If

$$
\delta \ge \max\left\{ \frac{n+2}{3}, \alpha \right\}
$$

then *G* is hamiltonian.

*Examples for sharpness*:

1 2 *K K* 1 1 ; 2 2 *K K* 1 ; *H* , 1, 3, 2.

Theorem 8 was slightly improved by replacing the condition 2 with a stronger condition 1 .

**Theorem 9** (Bigalke & Jung, 1979). Let *G* be a graph with 1 . If

$$
\delta \ge \max \left\{ \frac{n}{3}, \alpha - 1 \right\}
$$

then *G* is hamiltonian.

*Examples for sharpness*: , 1 , 1 *K n Ln K n* 3; 7; 3.

For a positive integer, the bound ( 2) 3 *n* in Theorem 8 was essentially lowered under additional condition of the type , including Theorem 8 as a special case.

**Theorem 10** (Fraisse, 1986). Let *G* be a graph, a positive integer and

$$
\delta \ge \max \left\{ \frac{n+2}{\lambda+2} + \lambda - 1, \alpha + \lambda - 1 \right\}.
$$

If 1 then *G* is hamiltonian.

24 New Frontiers in Graph Theory

3 *<sup>n</sup>*

A short proof of Theorem 6 was given by Häggkvist (Häggkvist & Nicoghossian, 1981).

The minimum degree bound *n* 3 in Theorem 6 was slightly lowered to *n* 2 3

Another essential improvement of Dirac's bound *n* 2 was established for 2-connected

max , <sup>3</sup> *<sup>n</sup>*

Theorem 8 was slightly improved by replacing the condition 2 with a stronger

max , 1 <sup>3</sup> *<sup>n</sup>*

1 2 *K K* 1 1 ; 2 2 *K K* 1 ; *H* , 1, 3, 2.

2

2 3 *<sup>n</sup>*

**Theorem 6** (Zh.G. Nikoghosyan, 1981). Let *G* be a graph with 2 . If

*Examples for sharpness*: 2 ; 1, 1, , 2 2 . *K KH* <sup>1</sup> *n*

**Theorem 7** (Bauer & Schmeichel, 1991b). Let *G* be a graph with 1 . If

**Theorem 8** (Nash-Williams, 1971). Let *G* be a graph with 2 . If

**Theorem 9** (Bigalke & Jung, 1979). Let *G* be a graph with 1 . If

*Examples for sharpness*: , 1 , 1 *K n Ln K n* 3; 7; 3.

then G is hamiltonian.

for 1-tough graphs.

then *G* is hamiltonian.

then *G* is hamiltonian. *Examples for sharpness*:

then *G* is hamiltonian.

condition 1 .

*Examples for sharpness*: , 1 *K L*; .

graphs under additional strong condition .

*Examples for sharpness*: 1 2 *K K* 1 1 ; 2 2 *KK H* 1; , 1, 3, 2.

Later, Theorem 8 was essentially improved for 3-connected graphs by incorporating the connectivity into the minimum degree bound.

**Theorem 11** (Zh.G. Nikoghosyan, 1985a). Let *G* be a graph with 3 . If

$$
\delta \ge \max\left\{\frac{n+2\kappa}{4}, \alpha\right\}
$$

then *G* is hamiltonian.

*Examples for sharpness*: 3 ;4 ; 1,2, 1, . *K K K KH* <sup>2223</sup>

The graph 2 3 4*K K* shows that for 3 the minimum degree bound *n* 2 4 in Theorem 11 can not be replaced by ( 2 1) 4. *n*

Finally, the bound ( 2 )4 *n* in Theorem 11 was reduced to ( 3) 4 *n* without any additional limitations providing a best possible result for each 3.

**Theorem 12** (Yamashita, 2008). Let *G* be a graph with 3 . If

$$
\delta \ge \max \left\{ \frac{n + \kappa + 3}{4}, \alpha \right\},
$$

then *G* is hamiltonian.

*Examples for sharpness*: 3 ; 2, 3 3, 1, ; 1,2, 1, . *K KH n* 1 2 *H*

The first pure relation between graph invariants involving connectivity as a parameter was developed in 1972.

**Theorem 13** (Chvátal and Erdös, 1972). Let *G* be an arbitrary graph. If

then *G* is hamiltonian.

*Example for sharpness*: , 1 *K* .

Pure Links Between Graph Invariants and Large Cycle Structures 27

The graph 2 3 4*K K* shows that for 3 the minimum degree bound *n* 2 4 in

In 2008, the bound ( 2 )4 *n* itself was essentially reduced to ( 3) 4 *n* without any

In 1990, the exact analog of Theorems 3 and 14 was established In terms of generalized *CD*<sup>3</sup> -

In 2009, a common generalization of Theorems 3, 14 and 18 was proved by covering *CD* -

<sup>2</sup> <sup>2</sup> 1 *<sup>n</sup>* .

In (Zh.G. Nikoghosyan, 2009a), an analogous generalization has been conjectured in terms

**Conjecture 1** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph, a positive integer and

**Theorem 19** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph, a positive integer and

6 4 *<sup>n</sup>* .

3 4 *<sup>n</sup>*

*Examples for sharpness*: 3 ; 4 ; 1,2, 1, . *K K K KH* 22 23

additional limitations, providing a best possible result for each 3 .

*Examples for sharpness*: 3 ; 2, 3 3, 1, ; 1,2, 1, . *K KH n* 1 2 *H*

*K K* 1 1 2; 1 *KK H* <sup>1</sup> 1 ; 1, , 2, 1 2 .

*K K* 1 1 2; 1 *KK H* <sup>1</sup> 1 ; 1, , 2, 1 2 .

**Theorem 17** (Yamashita, 2008). Let *G* be graph with 3 . If

Theorem 16 can not be replaced by *n* 2 1 4.

then each longest cycle in *G* is a dominating cycle.

**Theorem 18** (Jung, 1990). Let *G* be a graph with

If 3 then each longest cycle in *G* is a *CD*<sup>3</sup> -cycle.

Then each longest cycle in *G* is a min , 1 *CD* -cycle.

**5. Pure relations for** *CD* **-cycles** 

cycles.

*Examples for sharpness*:

*Examples for sharpness*:

of *PD* -cycles.

. If

cycles for each integer 1.

### **4. Pure relations for dominating cycles**

In view of Theorem 2, the following upper size bound is reasonable for dominating cycles.

**Conjecture 1.** Let *G* be a graph with 2 . If

$$q \le \frac{3\left(\delta^2 + \delta - 2\right) - 1}{2}$$

then each longest cycle in *G* is a dominating cycle.

In 1971, it was proved that the minimum degree bound *n* 2 3 insures the existence of dominating cycles.

**Theorem 14** (Nash-Williams, 1971). Let *G* be a graph with

$$
\delta \ge \frac{n+2}{3} \cdot \frac{1}{2}
$$

If 2 then each longest cycle in *G* is a dominating cycle.

*Examples for sharpness*: 2 ; 3 ; 1,2,4,3 . *K K K KH* 31 12

The graph 3 1 2*K K* shows that the connectivity condition 2 in Theorem 14 can not be replaced by 1 . The second graph shows that the minimum degree condition *n* 2 3 can not be replaced by *n* 1 3 and the third graph shows that the conclusion "is a dominating cycle" can not be strengthened by replacing it with "is a Hamilton cycle".

The condition *n* 2 3 in Theorem 14 can be slightly relaxed under stronger 1-tough condition instead of 2.

**Theorem 15** (Bigalke & Jung, 1979). Let *G* be a graph with 1 . If

$$\frac{\mathfrak{g}}{\mathfrak{g}} \le \mathfrak{g}$$

then each longest cycle in *G* is a dominating cycle.

*Examples for sharpness*: 2 13 2 1 ;;. *K KLGn* 

The bound *n* 2 3 in Theorem 14 can be lowered to *n* 2 4 by incorporating into the minimum degree bound.

**Theorem 16** (Lu et al., 2005). Let *G* be graph with 3 . If

$$
\mathfrak{G} \ge \frac{n+2\kappa}{4}
$$

then each longest cycle in *G* is a dominating cycle.

26 New Frontiers in Graph Theory

In view of Theorem 2, the following upper size bound is reasonable for dominating cycles.

<sup>2</sup> *<sup>q</sup>*

<sup>2</sup> 3 21

In 1971, it was proved that the minimum degree bound *n* 2 3 insures the existence of

The graph 3 1 2*K K* shows that the connectivity condition 2 in Theorem 14 can not be replaced by 1 . The second graph shows that the minimum degree condition *n* 2 3 can not be replaced by *n* 1 3 and the third graph shows that the conclusion "is a dominating cycle" can not be strengthened by replacing it with "is a

The condition *n* 2 3 in Theorem 14 can be slightly relaxed under stronger 1-tough

3 *<sup>n</sup>*

The bound *n* 2 3 in Theorem 14 can be lowered to *n* 2 4 by incorporating into

2 4 *<sup>n</sup>*

2 3 *<sup>n</sup>* .

**4. Pure relations for dominating cycles** 

**Conjecture 1.** Let *G* be a graph with 2 . If

then each longest cycle in *G* is a dominating cycle.

**Theorem 14** (Nash-Williams, 1971). Let *G* be a graph with

If 2 then each longest cycle in *G* is a dominating cycle.

**Theorem 15** (Bigalke & Jung, 1979). Let *G* be a graph with 1 . If

then each longest cycle in *G* is a dominating cycle.

**Theorem 16** (Lu et al., 2005). Let *G* be graph with 3 . If

then each longest cycle in *G* is a dominating cycle.

*Examples for sharpness*: 2 13 2 1 ;;. *K KLGn*

*Examples for sharpness*: 2 ; 3 ; 1,2,4,3 . *K K K KH* 31 12

dominating cycles.

Hamilton cycle".

condition instead of 2.

the minimum degree bound.

*Examples for sharpness*: 3 ; 4 ; 1,2, 1, . *K K K KH* 22 23

The graph 2 3 4*K K* shows that for 3 the minimum degree bound *n* 2 4 in Theorem 16 can not be replaced by *n* 2 1 4.

In 2008, the bound ( 2 )4 *n* itself was essentially reduced to ( 3) 4 *n* without any additional limitations, providing a best possible result for each 3 .

**Theorem 17** (Yamashita, 2008). Let *G* be graph with 3 . If

$$
\delta \ge \frac{n + \kappa + 3}{4}
$$

then each longest cycle in *G* is a dominating cycle.

*Examples for sharpness*: 3 ; 2, 3 3, 1, ; 1,2, 1, . *K KH n* 1 2 *H*

### **5. Pure relations for** *CD* **-cycles**

In 1990, the exact analog of Theorems 3 and 14 was established In terms of generalized *CD*<sup>3</sup> cycles.

**Theorem 18** (Jung, 1990). Let *G* be a graph with

$$
\mathfrak{G} \ge \frac{n+6}{4} \cdot \mathfrak{c}
$$

If 3 then each longest cycle in *G* is a *CD*<sup>3</sup> -cycle.

*Examples for sharpness*: *K K* 1 1 2; 1 *KK H* <sup>1</sup> 1 ; 1, , 2, 1 2 .

In 2009, a common generalization of Theorems 3, 14 and 18 was proved by covering *CD* cycles for each integer 1.

**Theorem 19** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph, a positive integer and

$$
\mathfrak{G} \ge \frac{n+2}{\lambda+1} + \lambda - 2 \cdot \frac{1}{\lambda}
$$

Then each longest cycle in *G* is a min , 1 *CD* -cycle.

*Examples for sharpness*:

*K K* 1 1 2; 1 *KK H* <sup>1</sup> 1 ; 1, , 2, 1 2 .

In (Zh.G. Nikoghosyan, 2009a), an analogous generalization has been conjectured in terms of *PD* -cycles.

**Conjecture 1** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph, a positive integer and . If

Pure Links Between Graph Invariants and Large Cycle Structures 29

 

*c*

*C c*

*C*

In view of Theorem 23, the following seems reasonable for *PD* -cycles.

**7. Pure relations for Hamilton cycles and long cycles** 

**Theorem 25** (Dirac, 1952). Let *G* be a graph with 2 . Then

1 1 *KK KK* 1 1 ; 3 2 1 2;2 1 *K K* .

**Theorem 26** (Bauer and Schmeichel, 1986). Let *G* be a graph with 1 . Then

For 1-tough graphs the bound 2 in Theorem 25 was slightly enlarged.

*Examples for sharpness*: 1 1 1 ;. *KKK*

Hamilton cycles for 2-connexted graphs.

*Examples for sharpness*:

The following direct generalization includes Theorem 3 as a special case.

*<sup>p</sup> <sup>C</sup> p*

Otherwise,

Otherwise,

*Example for sharpness*: <sup>1</sup> 1 . *K K*

cycle in *G* . If *p* 1 then

<sup>1</sup>

1

<sup>1</sup>

2 1 *c c*

**Conjecture 3** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph with 2 and *C* a longest

<sup>2</sup>

 

2

<sup>2</sup>

2 2 *p p <sup>C</sup> p* 

**Theorem 24** (Alon, 1986). Let *G* be a graph and a positive integer. If *n* 1 then

. *n c* 

In 1952, a relationship was established linking the minimum degree , circumference *c* and

*c n* min ,2 .

*c* 

2 .

2 .

2 .

2 .

$$
\delta \ge \frac{n+2}{\lambda+1} + \lambda - 2
$$

then each longest cycle in *G* is a min 1, *PD* -cycle.

In view of Theorems 6 and 17, the next generalization seems reasonable.

**Conjecture 2** (Yamashita, 2008). Let *G* be graph, an integer and 2. If

$$\delta \ge \frac{n + \kappa + \lambda(\lambda - 2)}{\lambda + 1}$$

then each longest cycle in *G* is a *PD*2 and *CD*<sup>1</sup> -cycle.

#### **6. Pure relations for long cycles**

The earliest and simplest hamiltonian result links the circumference c and minimum degree .

**Theorem 20** (Dirac, 1952). In every graph,

*c* 1 .

*Example for sharpness*: Join two copies of *K*1 by an edge.

For *C* a longest cycle in a graph *G* , a lower bound for *C* was developed based on the minimum degree and *p* - the length of a longest path in \ *G C* .

**Theorem 21** (Zh.G. Nikoghosyan, 1998). Let *G* be a graph and *C* a longest cycle in *G* . Then

$$|\mathbf{C}| \ge (\overline{p} + 2)(\delta - \overline{p})\dots$$

*Example for sharpness*: <sup>1</sup> 1 . *K K*

The next similar bound is based On the minimum degree and *c* - the length of a longest cycle in \ *G C* .

**Theorem 22** (Zh.G. Nikoghosyan, 2000a). Let *G* be a graph and *C* a longest cycle in *G* . Then

$$|\mathbf{C}| \ge (\overline{c} + 1)(\delta - \overline{c} + 1)\dots$$

*Example for sharpness*: <sup>1</sup> 1 . *K K*

In 2000, Theorem 22 was improved involving connectivity as a parameter combined with *c* and .

**Theorem 23** (Zh.G. Nikoghosyan, 2000b). Let *G* be a graph with 2 and *C* a longest cycle in *G* . If *c* then

$$|C| \ge \frac{(\overline{c} + 1)\kappa}{\overline{c} + \kappa + 1} (\delta + 2).$$

Otherwise,

28 New Frontiers in Graph Theory

then each longest cycle in *G* is a min 1, *PD* -cycle.

then each longest cycle in *G* is a *PD*2 and *CD*<sup>1</sup> -cycle.

*Example for sharpness*: Join two copies of *K*1 by an edge.

The next similar bound is based On the minimum degree

minimum degree and *p* - the length of a longest path in \ *G C* .

**6. Pure relations for long cycles** 

**Theorem 20** (Dirac, 1952). In every graph,

*Example for sharpness*: <sup>1</sup> 1 . *K K*

*Example for sharpness*: <sup>1</sup> 1 . *K K*

cycle in \ *G C* .

Then

*c* and .

cycle in *G* . If *c* then

.

In view of Theorems 6 and 17, the next generalization seems reasonable.

**Conjecture 2** (Yamashita, 2008). Let *G* be graph, an integer and 2. If

<sup>2</sup> <sup>2</sup> 1 *<sup>n</sup>* 

> 2 1 *n*

The earliest and simplest hamiltonian result links the circumference c and minimum degree

*c* 1 .

For *C* a longest cycle in a graph *G* , a lower bound for *C* was developed based on the

**Theorem 21** (Zh.G. Nikoghosyan, 1998). Let *G* be a graph and *C* a longest cycle in *G* . Then

*Cp p* 2 .

**Theorem 22** (Zh.G. Nikoghosyan, 2000a). Let *G* be a graph and *C* a longest cycle in *G* .

*Cc c* 1 1.

In 2000, Theorem 22 was improved involving connectivity as a parameter combined with

**Theorem 23** (Zh.G. Nikoghosyan, 2000b). Let *G* be a graph with 2 and *C* a longest

and *c* - the length of a longest

$$|\mathbf{C}| \ge \frac{(\overline{c} + 1)\overline{c}}{2\overline{c} + 1} (\delta + 2).$$

*Example for sharpness*: <sup>1</sup> 1 . *K K*

In view of Theorem 23, the following seems reasonable for *PD* -cycles.

**Conjecture 3** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph with 2 and *C* a longest cycle in *G* . If *p* 1 then

$$|\mathcal{C}| \ge \frac{\left(\overline{p} + 2\right)\kappa}{\overline{p} + \kappa + 2} (\delta + 2).$$

Otherwise,

$$|C| \ge \frac{(\overline{p} + 2)\overline{p}}{2\overline{p} + 2} (\delta + 2).$$

### **7. Pure relations for Hamilton cycles and long cycles**

The following direct generalization includes Theorem 3 as a special case.

**Theorem 24** (Alon, 1986). Let *G* be a graph and a positive integer. If *n* 1 then

$$c \ge \frac{n}{\lambda}.$$

*Examples for sharpness*: 1 1 1 ;. *KKK*

In 1952, a relationship was established linking the minimum degree , circumference *c* and Hamilton cycles for 2-connexted graphs.

**Theorem 25** (Dirac, 1952). Let *G* be a graph with 2 . Then

$$c \ge \min\{n, 2\delta\}\dots$$

*Examples for sharpness*:

1 1 *KK KK* 1 1 ; 3 2 1 2;2 1 *K K* .

For 1-tough graphs the bound 2 in Theorem 25 was slightly enlarged.

**Theorem 26** (Bauer and Schmeichel, 1986). Let *G* be a graph with 1 . Then

Pure Links Between Graph Invariants and Large Cycle Structures 31

*c n* min ,4 4 .

The next theorem provides a lower bound for the circumference in terms of *n*, and

*c nn* min , .

*c nn* min , 1 .

*c* 3 3

The bound 3 3 in Theorem 34 was enlarged to 4 2 by incorporating connectivity

*c* 4 2

Theorem 35 is sharp only for 4 as can be seen from 2 4 5*K K* . Further, the bound 4 2 in Theorem 35 was essentially improved to 4 4 without any limitation

**Theorem 35** (Zh.G. Nikoghosyan, 2009b). Let *G* be a graph with 4 . Then either

The exact analog of Theorem 25 for dominating cycles can be formulated as follows.

**Theorem 34** (Voss & Zuluaga, 1977). Let *G* be a graph with 3 . Then either

1 1 *KK KK* 1 1 ; 3 2 1 2;2 1 *K K* .

**Theorem 32** (Bauer et al., 1990b). Let *G* be a graph with 2 . If *n* 2 3 then

**Theorem 33** (Bauer et al., 1988). Let *G* be a graph with 1 . If *n* 3 then

**8. Pure relations for dominating cycles and long cycles** 

*Examples for sharpness*: 4 ; 1,2, 1, ; 2, 3 3, 1, . *K KH* 2 3 *H n*

under the hypothesis of Theorem 14.

*Examples for sharpness:* , 1 ;; . *K LGn*

*Examples for sharpness*:

or *G* has a dominating cycle.

providing a sharp bound for each 4 .

into the bound.

*Examples for sharpness:* 1 1 2 2 2, 2 ;3 ; . *K K K KK*

An analogous bound was established for 1-tough graphs.

or each longest cycle in *G* is a dominating cycle.

*Examples for sharpness*: 4 ; 5 ; 1, 2 , , . *K K K KH n* 23 24

*c n* min ,2 2 .

*Examples for sharpness*: ,1 2 *K L*; .

The first essential improvement of Theorem 25 was achieved by incorporating connectivity into the relation without any essential limitation.

**Theorem 27** (Zh.G. Nikoghosyan, 1981). Let *G* be a graph with 3 . Then

*c n* min ,3 .

*Examples for sharpness:* 3 ; 1, 1, , . *K KH* 1 2

In (Voss & Zuluaga, 1977), it was proved that the bound min{ ,2 } *n* in Theorem 25 can be essentially enlarged under additional condition combined with 3.

**Theorem 28** (Voss and Zuluaga, 1977). Let *G* be a graph with 3. If then

*c n* min ,3 3 .

*Examples for sharpness*: 2 ;4 ;3 . *K K KK K K* 2 1 3 12

In 2009, a direct generalization was established for each positive integer , including Theorem 28 as a special case 1 .

**Theorem 29** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph and a positive integer. If 2 and 1 then

$$c \ge \min\{n, (\lambda + 2)(\delta - \lambda)\}.$$

*Examples for sharpness*: 2 ;4 ;3 . *K K KK K K* 2 1 3 12

In 1985, the bound 3 in Theorem 27 was enlarged to 4 2 under additional condition combined with 4 .

**Theorem 30** (Zh.G. Nikoghosyan, 1985b). Let *G* be a graph with 4 and . Then

$$c \ge \min\{n, 4\delta - 2\kappa\}\dots$$

*Examples for sharpness*: 2 3 2 4 4 ; 1, 2 , , ; 5 . *K KH n K K*

The bound 4 2 in Theorem 30 is sharp for 4 .

Furthermore, the bound 4 2 in Theorem 30 was essentially improved to 4 4 without any additional limitations providing a best possible result for each 4 .

**Theorem 31** (M.Zh. Nikoghosyan & Zh.G. Nikoghosyan, 2011). Let *G* be a graph with 4 and . Then

30 New Frontiers in Graph Theory

*c n* min ,2 2 .

The first essential improvement of Theorem 25 was achieved by incorporating connectivity

*c n* min ,3 .

In (Voss & Zuluaga, 1977), it was proved that the bound min{ ,2 } *n* in Theorem 25 can be

*c n* min ,3 3 .

In 2009, a direct generalization was established for each positive integer , including

**Theorem 29** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph and a positive integer. If

*c n* min , 2 .

In 1985, the bound 3 in Theorem 27 was enlarged to 4 2 under additional

*c n* min ,4 2 .

Furthermore, the bound 4 2 in Theorem 30 was essentially improved to 4 4

**Theorem 31** (M.Zh. Nikoghosyan & Zh.G. Nikoghosyan, 2011). Let *G* be a graph with

without any additional limitations providing a best possible result for each 4 .

**Theorem 30** (Zh.G. Nikoghosyan, 1985b). Let *G* be a graph with 4 and . Then

**Theorem 27** (Zh.G. Nikoghosyan, 1981). Let *G* be a graph with 3 . Then

essentially enlarged under additional condition combined with 3.

**Theorem 28** (Voss and Zuluaga, 1977). Let *G* be a graph with 3. If then

*Examples for sharpness*: 2 ;4 ;3 . *K K KK K K* 2 1 3 12

*Examples for sharpness*: 2 ;4 ;3 . *K K KK K K* 2 1 3 12

*Examples for sharpness*: ,1 2 *K L*; .

Theorem 28 as a special case 1 .

condition combined with 4 .

4 and . Then

*Examples for sharpness*: 2 3 2 4 4 ; 1, 2 , , ; 5 . *K KH n K K*

The bound 4 2 in Theorem 30 is sharp for 4 .

2 and 1 then

into the relation without any essential limitation.

*Examples for sharpness:* 3 ; 1, 1, , . *K KH* 1 2

*c n* min ,4 4 .

*Examples for sharpness*: 4 ; 1,2, 1, ; 2, 3 3, 1, . *K KH* 2 3 *H n*

The next theorem provides a lower bound for the circumference in terms of *n*, and under the hypothesis of Theorem 14.

**Theorem 32** (Bauer et al., 1990b). Let *G* be a graph with 2 . If *n* 2 3 then

*c nn* min , .

*Examples for sharpness:* 1 1 2 2 2, 2 ;3 ; . *K K K KK*

An analogous bound was established for 1-tough graphs.

**Theorem 33** (Bauer et al., 1988). Let *G* be a graph with 1 . If *n* 3 then

$$c \ge \min\left\{n, n+\delta-\alpha+1\right\}.$$

*Examples for sharpness:* , 1 ;; . *K LGn* 

### **8. Pure relations for dominating cycles and long cycles**

The exact analog of Theorem 25 for dominating cycles can be formulated as follows.

**Theorem 34** (Voss & Zuluaga, 1977). Let *G* be a graph with 3 . Then either

*c* 3 3

or each longest cycle in *G* is a dominating cycle.

*Examples for sharpness*: 1 1 *KK KK* 1 1 ; 3 2 1 2;2 1 *K K* .

The bound 3 3 in Theorem 34 was enlarged to 4 2 by incorporating connectivity into the bound.

**Theorem 35** (Zh.G. Nikoghosyan, 2009b). Let *G* be a graph with 4 . Then either

$$c \ge 4\delta - 2\kappa$$

or *G* has a dominating cycle.

*Examples for sharpness*: 4 ; 5 ; 1, 2 , , . *K K K KH n* 23 24

Theorem 35 is sharp only for 4 as can be seen from 2 4 5*K K* . Further, the bound 4 2 in Theorem 35 was essentially improved to 4 4 without any limitation providing a sharp bound for each 4 .

Pure Links Between Graph Invariants and Large Cycle Structures 33

**Proof of Theorem 27** (Mosesyan et al., 2009). Let *G* be a 3-connected graph and *S* a minimum cut-set in *G* . Choose a longest cycle *C* in *G* so as to maximize *VC S* . The result holds immediately if *C* 3 3 , since 3 3 3 . Otherwise, by Theorem 34, *C* is a dominating cycle. Assume first that *S VC* ( ) and let *v S VC* \ . Since *C* is dominating, *Nv VC* . Let 1 ,..., *<sup>t</sup>* be the elements of *N v* , occurring on *C*

1 1 21 | ,\ . *<sup>M</sup> i ii V C S M Nv M*

*M MN* 1 21 1, *v M* 1.

<sup>2</sup> *Nv N v M* .

*C Nv N v M*

<sup>2</sup> 2 31.

Now assume that *S VC* . Let 1 ,..., *H Hh* be the connected components of \ . *G S* If *VG C* \ then *C n* and we are done. Let *x VG C* \ . Assume without loss of generality that *x VH* <sup>1</sup> . Since *C* is dominating, *Nx VC* . Put *Y Nx N x* <sup>1</sup> . Clearly 1 *Y* 2 and to prove that *C* 3 , it remains to find a subset *Y*2 in *V C* such that *Y Y* 1 2 and *Y*<sup>2</sup> . Abbreviate, *V VH S* 1 1 . Suppose first that 1 1 *Y V* . If *VH VC* <sup>2</sup> then *Y VH* 2 2 since *V H* <sup>2</sup> 1 . Otherwise, there exist *y VH C* <sup>2</sup> \ . Since *C* is dominating, *Ny V C* and we can take *Y N* <sup>2</sup> *y* \*S* . Now let 1 1 *Y V* . Assume without loss of generality that *Y VH* 1 2 . Since *Nx V* <sup>1</sup> , we have *N x VH* <sup>2</sup> . Let *z N x VH* <sup>2</sup> . If *Nz VC* then take *Y Nz S* <sup>2</sup> \ , since *N x* is an independent set of vertices (by standard arguments) and therefore,

<sup>2</sup> *Nw VC w VH Nw N x z* ,, .

*Y Nw z S z* <sup>2</sup> \ \\

2

*Nz N x* . Otherwise, choose *w N z VC* \() . Clearly

*Nv M*

 

Further, since *C* is extreme and *VC S* is maximum,

consecutive order. Put

Since *v S* , we have

Hence

Then by taking

 in a

**Theorem 36** (M.Zh. Nikoghosyan & Zh.G. Nikoghosyan, 2011). Let *G* be a graph with 4 . Then either

$$c \ge 4\delta - \kappa - 4$$

or each longest cycle in *G* is a dominating cycle.

*Examples for sharpness*: 4 ; 2, 1, 1, ; 1,2, 1, . *K KH* 2 3 *H*

### **9. Pure relations for** *CD* **-cycles and long cycles**

TThe following theorem can be considered as a common generalization of Theorems 25 and 34 by covering *CD* -cycles for all 1 including Hamilton and dominating cycles as special cases.

**Theorem 37** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph and a positive integer. If 1 then either

$$c \ge (\lambda + 1)(\delta - \lambda + 1)$$

or each longest cycle in *G* is a min , *CD* -cycle.

*Examples for sharpness*: 1 1 *KK KK* 1 1 ; 3 2 1 2;2 1 *K K* .

In (Zh.G. Nikoghosyan, 2009a), another version of Theorem 37 was conjectured in terms of *PD* -cycles, instead of *CD*-cycles.

**Conjecture 4** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph and a positive integer. If 1 then either

$$c \ge (\lambda + 1)(\delta - \lambda + 1)$$

or each longest cycle in *G* is a min 1, 1 *PD* -cycle.

In view of Theorems 27 and 36, the following common generalization seems quite reasonable.

**Conjecture 5.** Let *G* be a graph and 2 an integer. If 1 then either

$$c \ge (\lambda + 1)\delta - \kappa - (\lambda + 1)(\lambda - 2)\delta$$

or each longest cycle in *G* is a *PD*2 and *CD*<sup>1</sup> -cycle.

#### **10. Proofs of theorems 6, 21 and 27**

In proofs of theorems and lemmas, the end of the proof is marked by . In proofs of claims, the end of the proof is marked by .

**Proof of Theorem 27** (Mosesyan et al., 2009). Let *G* be a 3-connected graph and *S* a minimum cut-set in *G* . Choose a longest cycle *C* in *G* so as to maximize *VC S* . The result holds immediately if *C* 3 3 , since 3 3 3 . Otherwise, by Theorem 34, *C* is a dominating cycle. Assume first that *S VC* ( ) and let *v S VC* \ . Since *C* is dominating, *Nv VC* . Let 1 ,..., *<sup>t</sup>* be the elements of *N v* , occurring on *C* in a consecutive order. Put

$$\mathcal{M}\_1 = \left\{ \xi\_i \mid V\left(\xi\_i^+ \stackrel{\rightarrow}{\mathsf{C}} \xi\_{i+1}^-\right) \cap S \neq \mathcal{Q} \right\} \; \; \; M\_2 = N\left(\upsilon\right) \backslash M\_1. \; \; \;$$

Since *v S* , we have

$$\left|M\_1\right| \le \kappa - 1, \qquad \left|M\_2\right| = \left|N\left(\upsilon\right)\right| - \left|M\_1\right| \ge \delta - \kappa + 1.$$

Further, since *C* is extreme and *VC S* is maximum,

$$N(v) \cap N^+(v) \cap \mathcal{M}\_2^{++} = \mathcal{Q}.$$

Hence

32 New Frontiers in Graph Theory

**Theorem 36** (M.Zh. Nikoghosyan & Zh.G. Nikoghosyan, 2011). Let *G* be a graph with

*c* 4 4

TThe following theorem can be considered as a common generalization of Theorems 25 and

**Theorem 37** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph and a positive integer. If

*c* 1 1

In (Zh.G. Nikoghosyan, 2009a), another version of Theorem 37 was conjectured in terms of

**Conjecture 4** (Zh.G. Nikoghosyan, 2009a). Let *G* be a graph and a positive integer. If

*c* 1 1

In view of Theorems 27 and 36, the following common generalization seems quite reasonable.

*c* 1 12

In proofs of theorems and lemmas, the end of the proof is marked by . In proofs of claims,

including Hamilton and dominating cycles as

*Examples for sharpness*: 4 ; 2, 1, 1, ; 1,2, 1, . *K KH* 2 3 *H*

1 1 *KK KK* 1 1 ; 3 2 1 2;2 1 *K K* .

**Conjecture 5.** Let *G* be a graph and 2 an integer. If 1 then either

4 . Then either

34 by covering *CD*

1 then either

*Examples for sharpness*:

1 then either


*PD*

special cases.

or each longest cycle in *G* is a dominating cycle.

or each longest cycle in *G* is a min , *CD* -cycle.


or each longest cycle in *G* is a min 1, 1 *PD* -cycle.

or each longest cycle in *G* is a *PD*2 and *CD*<sup>1</sup> -cycle.

**10. Proofs of theorems 6, 21 and 27** 

the end of the proof is marked by .

**9. Pure relations for** *CD* **-cycles and long cycles** 


$$\begin{aligned} \left| \mathbf{C} \right| &\geq \left| N\left( \upsilon \right) \right| + \left| N^+\left( \upsilon \right) \right| + \left| M\_2^{++} \right| \\ &= 2 \left| N\left( \upsilon \right) \right| + \left| M\_2 \right| \geq 3\delta - \kappa + 1. \end{aligned}$$

Now assume that *S VC* . Let 1 ,..., *H Hh* be the connected components of \ . *G S* If *VG C* \ then *C n* and we are done. Let *x VG C* \ . Assume without loss of generality that *x VH* <sup>1</sup> . Since *C* is dominating, *Nx VC* . Put *Y Nx N x* <sup>1</sup> . Clearly 1 *Y* 2 and to prove that *C* 3 , it remains to find a subset *Y*2 in *V C* such that *Y Y* 1 2 and *Y*<sup>2</sup> . Abbreviate, *V VH S* 1 1 . Suppose first that 1 1 *Y V* . If *VH VC* <sup>2</sup> then *Y VH* 2 2 since *V H* <sup>2</sup> 1 . Otherwise, there exist *y VH C* <sup>2</sup> \ . Since *C* is dominating, *Ny V C* and we can take *Y N* <sup>2</sup> *y* \*S* . Now let 1 1 *Y V* . Assume without loss of generality that *Y VH* 1 2 . Since *Nx V* <sup>1</sup> , we have *N x VH* <sup>2</sup> . Let *z N x VH* <sup>2</sup> . If *Nz VC* then take *Y Nz S* <sup>2</sup> \ , since *N x* is an independent set of vertices (by standard arguments) and therefore, *Nz N x* . Otherwise, choose *w N z VC* \() . Clearly

$$N(w) \subseteq V(\mathbb{C}) \text{ , } w \in V(H\_2) \text{ , } N(w) \cap N^+(\mathfrak{x}) = \{z\} \text{ .}$$

Then by taking

$$Y\_2 = \left( N(w) \backslash \{z\} \right) \backslash \left( S \backslash \{z^-\} \right)^\perp$$

Pure Links Between Graph Invariants and Large Cycle Structures 35

1 1

**Proof.** We can assume without loss of generality that *v wi r i i* 1,..., , since otherwise,

*FN w w i t ii r* <sup>1</sup> ,..., 1,..., .

1 1 1 1 1

*i i i CC Z Z Z* 

1 11 1

be the largest segment on *M*

*i ii* <sup>1</sup> 2 / 2. Indeed, if *i i x F* and *i i* <sup>1</sup> *<sup>y</sup> <sup>F</sup>* , then *i ii ii* <sup>1</sup> *f x My*

*i ii i C f F Zt Z* 

*t tr r*

, ,.

*i ii i*

*r r r*

1 .

*i*

(1)

*r r i i i i CZ Z* 

.

in a consecutive

on *M* with 1 *uv F* , ,

with 1 , *ii i i xy F F* (indices

since

having only 1 ,..., *<sup>r</sup> v v* in common

*<sup>r</sup> i i <sup>Z</sup>* , then there is nothing to prove. Let

*i ii <sup>i</sup> Z Z* and the result follows from

*<sup>r</sup> i i <sup>Z</sup>* occurring on *<sup>C</sup>*

be

**Lemma 1**. Let *C* be a longest cycle in a graph *G* and *M* a path in \ *G C* . Let *L L* <sup>1</sup> ,..., *<sup>r</sup>*

vertex disjoint paths in \ *G C* with *i i* 1,..., *L vLw i r i i*

with *M* and let . *Z Nw VC i r i i* 1,..., .. Then

*<sup>r</sup> i i <sup>Z</sup>* and let 1 ,..., *<sup>t</sup>* be the elements of 1

Suppose first that 1. *<sup>t</sup>* If 1*<sup>F</sup>* 1 then 1 <sup>1</sup> <sup>1</sup> *<sup>r</sup> <sup>r</sup>*

*C* 2 immediately. If 1*F* 2 , then choosing a largest segment *uMv*

we can use the same arguments. If 1

 satisfying

1

order. Set

we get a cycle *C uMv* 1 1

Now assume 2. *t* Put

 

 

<sup>1</sup> 1,2,..., , *i ii f*

For each *i t* 1,..., , let *i i x My*

*C* is extreme. It means that

*f FF* 

mod *t* ). Now we need to show that

*Ci t*

where 1 1. *<sup>i</sup>* Then it is easy to see that

we complete the proof of Theorem 27.

**Proof of Theorem 6** (Mosesyan et al., 2009). Let *G* be a 2-connected graph with ( )3 *n* and let *S* be a minimum cut-set in *G* . Since ( ) 3 ( 2) 3 *n n* , by Theorem 14, every longest cycle in *G* is a dominating cycle. As in proof of Theorem 27, we can show that either *G* is hamiltonian or 3 *c* . Since 3 *n* (by the hypothesis), it follows from 3 *c* that 3 *c n* . So, in any case, *G* is hamiltonian.

To prove Theorem 21, we need some special definitions. Let *G* be a graph, *C* a longest cycle in *G* and *M* a longest path (or a cycle) in \ *G C* . Further, let 1 *u u* ,..., *<sup>m</sup>* be the elements of *V M* occurring on *M* in a consecutive order.

**Definition 1** { *MC* -spreading; *u uu* ; ; }. An *MC* -spreading is a family of pairwise disjoint paths *u u* <sup>1</sup> ,..., *<sup>m</sup>* in \ *G C* with *u u uu i i ii i m* 1,..., . If *u u* for some *<sup>u</sup>* , then we use *u* to denote the successor of *u* along *<sup>u</sup>* .

**Definition 2** *uu u u* ;; ; . Let be any *MC* -spreading. For each *u VM* , put

$$\begin{aligned} \Phi\_u &= N\left(\ddot{u}\right) \cap V\left(\Upsilon\right)\_\prime \quad \Phi\_u = \left\| \Phi\_u \right\|\_\prime \\\\ \Psi\_u &= N\left(\ddot{u}\right) \cap V\left(H\right)\_\prime \quad \Psi\_u = \left\| \Psi\_u \right\|. \end{aligned}$$

**Definition 3** *UUUU* <sup>001</sup> ;;; . For an *MC* -spreading, put

$$\begin{aligned} \mathcal{U}\mathcal{U}\_0 &= \left\{ \mu \in V\left(\mathcal{M}\right) \,|\,\mu = \overleftarrow{\boldsymbol{\mu}}\right\}, \quad \overline{\mathcal{U}}\_0 = V\left(\mathcal{M}\right) \,\backslash \mathcal{U}\_0, \\ \mathcal{U}^\* &= \left\{ \mu \in \overline{\mathcal{U}}\_0 \,|\,\Phi\_\mu \subseteq V\left(\mathcal{Y}\left(\boldsymbol{\mu}\right)\right) \right\}, \quad \mathcal{U}\_1 = V\left(\mathcal{M}\right) \,\backslash \left(\mathcal{U}\_0 \cup \mathcal{U}^\*\right). \end{aligned}$$

**Definition 4** { *U*<sup>0</sup> -minimal *MC* -spreading}. An *MC* -spreading is said to be *U*<sup>0</sup> minimal, if it is chosen such that *U*0 is minimum.

**Definition 5** *BBbb u uuu* ; ;; . For an *MC* -spreading and *u VM* , set

$$B\_u = \left\{ \upsilon \in \mathcal{U}\_0 \mid \upsilon \dot{\iota} \in E \right\} \quad b\_u = \left| B\_u \right|.$$

Further, for each *u U* <sup>0</sup> , set

$$B\_{\boldsymbol{u}}^{\star} = \left\{ \boldsymbol{v} \in \overline{\mathcal{U}}\_{0} \mid \boldsymbol{u}\dot{\boldsymbol{v}} \in E \right\} \; \; \; b\_{\boldsymbol{u}}^{\star} = \left\lvert \boldsymbol{B}\_{\boldsymbol{u}}^{\star} \right\rvert .$$

34 New Frontiers in Graph Theory

**Proof of Theorem 6** (Mosesyan et al., 2009). Let *G* be a 2-connected graph with ( )3 *n* and let *S* be a minimum cut-set in *G* . Since ( ) 3 ( 2) 3 *n n* , by Theorem 14, every longest cycle in *G* is a dominating cycle. As in proof of Theorem 27, we can show that either *G* is hamiltonian or 3 *c* . Since 3 *n* (by the hypothesis), it

To prove Theorem 21, we need some special definitions. Let *G* be a graph, *C* a longest

a longest path (or a cycle) in \ *G C* . Further, let 1 *u u* ,..., *<sup>m</sup>* be the elements

}. An *MC* -spreading is a family of pairwise

*i m* 1,..., . If *u u* for

.

follows from 3 *c* that 3 *c n* . So, in any case, *G* is hamiltonian.

in a consecutive order.

in \ *G C* with *u u uu i i ii*

*U u VM u u U VM U*

**Definition 5** *BBbb u uuu* ; ;; . For an *MC* -spreading and *u VM* , set

0 0 0

**Definition 2** *uu u u* ;; ; . Let be any *MC* -spreading. For each *u VM* , put

, *u u Nu V <sup>u</sup>* ,

, . *u u Nu VH <sup>u</sup>*



*U u U V u U VM U U*

**Definition 4** { *U*<sup>0</sup> -minimal *MC* -spreading}. An *MC* -spreading is said to be *U*<sup>0</sup> -

0|, . *B v U vu E b B u u <sup>u</sup>*

 0|, . *B v U uv E b B u u <sup>u</sup>* 

0 10

, then we use *u* to denote the successor of *u* along *<sup>u</sup>*

**Definition 3** *UUUU* <sup>001</sup> ;;; . For an *MC* -spreading, put

minimal, if it is chosen such that *U*0 is minimum.

Further, for each *u U* <sup>0</sup> , set

we complete the proof of Theorem 27.

**Definition 1** { *MC* -spreading; *u uu* ; ;

cycle in *G* and *M*

some *<sup>u</sup>*

of *V M* occurring on *M*

disjoint paths *u u* <sup>1</sup> ,..., *<sup>m</sup>*

**Lemma 1**. Let *C* be a longest cycle in a graph *G* and *M* a path in \ *G C* . Let *L L* <sup>1</sup> ,..., *<sup>r</sup>* be vertex disjoint paths in \ *G C* with *i i* 1,..., *L vLw i r i i* having only 1 ,..., *<sup>r</sup> v v* in common with *M* and let . *Z Nw VC i r i i* 1,..., .. Then

$$\left| C \right| \ge \sum\_{i=1}^r \left| Z\_i \right| + \left| \bigcup\_{i=1}^r Z\_i \right|.$$

**Proof.** We can assume without loss of generality that *v wi r i i* 1,..., , since otherwise, we can use the same arguments. If 1 *<sup>r</sup> i i <sup>Z</sup>* , then there is nothing to prove. Let 1 *<sup>r</sup> i i <sup>Z</sup>* and let 1 ,..., *<sup>t</sup>* be the elements of 1 *<sup>r</sup> i i <sup>Z</sup>* occurring on *<sup>C</sup>* in a consecutive order. Set

$$F\_i = \mathcal{N}(\xi\_i) \cap \{w\_1, \dots, w\_r\} \quad (i = 1, \dots, t).$$

Suppose first that 1. *<sup>t</sup>* If 1*<sup>F</sup>* 1 then 1 <sup>1</sup> <sup>1</sup> *<sup>r</sup> <sup>r</sup> i ii <sup>i</sup> Z Z* and the result follows from *C* 2 immediately. If 1*F* 2 , then choosing a largest segment *uMv* on *M* with 1 *uv F* , , we get a cycle *C uMv* 1 1 satisfying

$$\left| \mathbf{C} \right| \ge \left| \mathbf{C}' \right| \ge \sum\_{i=1}^r \left| Z\_1 \right| + 1 = \sum\_{i=1}^r \left| Z\_1 \right| + \left| \bigcup\_{i=1}^r Z\_i \right|.$$

Now assume 2. *t* Put

$$f\left(\xi\_i\right) = \left|\xi\_i \stackrel{\rightarrow}{C} \xi\_{i+1}\right| \quad \left(i = 1, 2, \dots, t\right)\_{\prime \prime}$$

where 1 1. *<sup>i</sup>* Then it is easy to see that

$$\left|\mathbf{C}\right| = \sum\_{i=1}^{t} f\left(\left.\xi\_{i}\right\vert\right), \quad \sum\_{i=1}^{t} \left|F\_{i}\right| = \sum\_{i=1}^{r} \left|Z\_{i}\right|, \quad \mathbf{t} = \left|\bigcup\_{i=1}^{r} Z\_{i}\right|. \tag{1}$$

For each *i t* 1,..., , let *i i x My* be the largest segment on *M* with 1 , *ii i i xy F F* (indices mod *t* ). Now we need to show that

*f FF i ii* <sup>1</sup> 2 / 2. Indeed, if *i i x F* and *i i* <sup>1</sup> *<sup>y</sup> <sup>F</sup>* , then *i ii ii* <sup>1</sup> *f x My* since *C* is extreme. It means that

Pure Links Between Graph Invariants and Large Cycle Structures 37

*u u* , . *u u <sup>u</sup> xy x x x x u y y yy* 

*M M A A indices i i i i ui ui* 1 1 , m od *<sup>f</sup>*

*M AA i u ii u i u i i* , . 1 1

If *<sup>u</sup> V* 2 and *u f V* , then the inequality *Mi i i* 1, *f* holds

as in previous case and we are done. Now let *<sup>u</sup> V* <sup>2</sup> and *u f V* .

It means that *Au* 2 2 and therefore, 1 21 21 1 . *M A u u A u* Analogously, 1. *M Au f fu* By the definition of 2 , *<sup>u</sup> u E* and . *u E <sup>f</sup>* Since <sup>1</sup> *u U* , we have *u s V* for some 3 1. *s f* Then we can choose *i j* , such that 2 1 *i s* and *sjf* 1 with 1 *M Au iiu* and 1 *M Au jju* , and the result follows. Finally, because of the symmetry, we can suppose that *<sup>u</sup> V* 2 and . *u f V* Clearly 1 1 1. *M Au <sup>u</sup>* By the definition of 2 , . *<sup>u</sup> u E* Then we can choose *i f* 2,..., 1 such that

**Proof.** Suppose to the contrary and let 0. *<sup>u</sup> v U* Then replacing *u* and *v* by

*u uu* and *vu* , respectively, we can form a new *MH* -spreading, contradicting the

 

*MM A A*

2 2 2.

*A Ax B*

*u i u uu*

*i i ui ui*

1 11

*i ii*

*i x V M*

*f ff*

1

(3)

in a consecutive order with 1 *u*. For

Let 1 ,..., *<sup>f</sup>* be the elements of *<sup>u</sup>* , occurring on *M*

**Proof**. Since *M* is extreme, for each *i f* 2,..., 1 ,

1 *M Au iiu* and again the result follows.

1

*f*

**Claim 2**. If *u* 2 then 0 . *<sup>u</sup> U*

*U*<sup>0</sup> -minimality of .

By (2) and Claim 1,

each integer *i i* 1 *f* , set

**Claim 1**. 1 1 . *f f i i i i <sup>M</sup>*

$$f\left(\left.\xi\_{i}\right\vert\geq\max\left\{\left|F\_{i}\right|,\left|F\_{i+1}\right|\right\}+1\geq\frac{1}{2}\left(\left|F\_{i}\right|+\left|F\_{i+1}\right|+2\right).\right.$$

The same inequality holds from *i ii ii* <sup>1</sup> *f y Mx* if *i i* <sup>1</sup> *x F* and *i i y F* , by a similar argument. Now suppose that either , *ii i xy F* or 1 , . *ii i xy F* Assume without loss of generality that , *ii i xy F* . In addition, we have 1 , *ii i xy F* , since otherwise we are in the previous case. Let *i i x My* be the largest segment on *M* with 1 , *ii i xy F* . If <sup>1</sup> / 2 *ii ii x Mx F F* , then *i ii ii* <sup>1</sup> *f x My* and hence

$$f\left(\xi\_i\right) \ge \frac{1}{2} \left( \left| F\_i \right| - \left| F\_{i+1} \right| \right) + \left| F\_{i+1} \right| + 1 = \frac{1}{2} \left( \left| F\_i \right| + \left| F\_{i+1} \right| + 2 \right).$$

Finally, if <sup>1</sup> 1 /2 *ii ii x Mx F F* , then

$$\begin{split} \left| f\left(\xi\_{i}\right) \right| &\geq \left| \xi\_{i} \mathcal{Y}\_{i} \stackrel{\leftarrow}{\dot{\mathcal{M}}} \mathcal{X}\_{i}^{\prime} \xi\_{i+1} \right| = \left| \mathcal{X}\_{i}^{\prime} \stackrel{\rightarrow}{\dot{\mathcal{M}}} \mathcal{Y}\_{i} \right| + 2 = \left| \mathcal{X}\_{i} \stackrel{\rightarrow}{\dot{\mathcal{M}}} \mathcal{Y}\_{i} \right| - \left| \mathcal{X}\_{i} \stackrel{\rightarrow}{\dot{\mathcal{M}}} \mathcal{X}\_{i}^{\prime} \right| + 2 \\ &\geq \left| F\_{i} \right| - 1 - \frac{1}{2} (\left| F\_{i} \right| - \left| F\_{i+1} \right| - 1) + 2 > \frac{1}{2} (\left| F\_{i} \right| + \left| F\_{i+1} \right| + 2). \end{split}$$

So, *f i ii FF i t* <sup>1</sup> 2 / 2 1,..., in any case, implying that

$$\sum\_{i=1}^{t} f\left(\xi\_{i}\right) \ge \sum\_{i=1}^{t} \frac{1}{2} \left( \left| F\_{i} \right| + \left| F\_{i+1} \right| + 2 \right) = \sum\_{i=1}^{t} \left| F\_{i} \right| + t^{-1}$$

and the result follows from (1).

**Lemma 2**. Let *C* be a longest cycle in a graph *G* and *M* a longest cycle in *G C*\ with a *U*<sup>0</sup> -minimal *MC* -spreading . Then for each 1 *u U* , 1. *M b u u*

**Proof**. Let 1 *u U* . For each *x VM* , put

. *Ax B V x u uu* By the definition,

$$\left| \Phi\_u \cup B\_u \right| = \sum\_{\mathbf{x} \in V(M)} \left| A\_u(\mathbf{x}) \right|. \tag{2}$$

If *A x <sup>u</sup>* for some *x VM* ( ) , then we choose a vertex ( ) *<sup>u</sup> x* in ( ) *Au x* such that () () *<sup>u</sup> xx x* is maximum. By the definition, ( ) ( ) . *<sup>u</sup> u u* Put ( ) *<sup>u</sup> x u* if () , *u u <sup>x</sup>* and ( ) *<sup>u</sup> x u* if () \ . *u uu x B* Clearly ( ) *<sup>u</sup> u u* .

Let *u u x VM A x* | . Further, for each distinct , *<sup>u</sup> x y* , put (,) *<sup>u</sup> x y xuy* if either 0 *x uy U* , or 0 *y ux U* , . Otherwise,

$$
\Lambda\_u(\mathfrak{x}, y) = \mathfrak{x} \stackrel{\rightarrow}{\Upsilon}(\mathfrak{x}) \mathfrak{p}\_u(\mathfrak{x}) \overline{\mathfrak{p}}\_u(\mathfrak{x}) \Upsilon(u) \overline{\mathfrak{p}}\_u(y) \mathfrak{p}\_u(y) \stackrel{\leftarrow}{\Upsilon}(y) y.
$$

Let 1 ,..., *<sup>f</sup>* be the elements of *<sup>u</sup>* , occurring on *M* in a consecutive order with 1 *u*. For each integer *i i* 1 *f* , set

$$\mathcal{M}\_i = \xi\_i \stackrel{\rightarrow}{\mathcal{M}} \xi\_{i+1}, \quad \text{co}\_i = \left| A\_u \left( \xi\_i \right) \right| + \left| A\_u \left( \xi\_{i+1} \right) \right| \quad \text{(indices} \,\text{mod}\, f \text{)}.$$

**Claim 1**. 1 1 . *f f i i i i <sup>M</sup>*

36 New Frontiers in Graph Theory

 1 1 <sup>1</sup> max , 1 2 . <sup>2</sup> *i ii i i f FF F F*

argument. Now suppose that either , *ii i xy F* or 1 , . *ii i xy F* Assume without loss of generality that , *ii i xy F* . In addition, we have 1 , *ii i xy F* , since otherwise we are in the

be the largest segment on *M*

 1 1 <sup>1</sup> 1 1 <sup>1</sup> 2 .

*i ii i*

**Lemma 2**. Let *C* be a longest cycle in a graph *G* and *M* a longest cycle in *G C*\ with a

(2)

 . *uu u xVM B Ax* 

If *A x <sup>u</sup>* for some *x VM* ( ) , then we choose a vertex ( ) *<sup>u</sup> x* in ( ) *Au x* such that

is maximum. By the definition, ( ) ( ) . *<sup>u</sup> u u* Put ( ) *<sup>u</sup> x u* if () , *u u <sup>x</sup>* and

Let *u u x VM A x* | . Further, for each distinct , *<sup>u</sup> x y* , put (,) *<sup>u</sup> x y xuy* if

*f F F Ft*

1 1 <sup>1</sup> 1 2 2 .

 <sup>1</sup> 1 1 1 <sup>1</sup> <sup>2</sup>

 

*i i i*

*t t t*

2

*i ii ii i i i i i i*

*f y Mx x My x My x Mx*

1 1

2 2 *i ii i i i f FF F FF*

and hence

if *i i* <sup>1</sup> *x F* and *i i y F* , by a similar

2 2

with 1 , *ii i xy F* . If

The same inequality holds from *i ii ii* <sup>1</sup> *f y Mx*

, then *i ii ii* <sup>1</sup> *f x My*

, then

1

So, *f i ii FF i t* <sup>1</sup> 2 / 2 1,..., in any case, implying that

*U*<sup>0</sup> -minimal *MC* -spreading . Then for each 1 *u U* , 1. *M b u u*

2 2

*F FF F F*

*i ii i i*

previous case. Let *i i x My*

Finally, if <sup>1</sup> 1 /2 *ii ii x Mx F F*

and the result follows from (1).

() () *<sup>u</sup> xx x* 

**Proof**. Let 1 *u U* . For each *x VM* , put

. *Ax B V x u uu* By the definition,

( ) *<sup>u</sup> x u* if () \ . *u uu x B* Clearly ( ) *<sup>u</sup> u u* .

either 0 *x uy U* , or 0 *y ux U* , . Otherwise,

<sup>1</sup> / 2 *ii ii x Mx F F*

**Proof**. Since *M* is extreme, for each *i f* 2,..., 1 ,

$$\left| M\_i \right| \ge \left| \Lambda\_u \left( \xi\_{i'} \nsubseteq\_{i+1} \right) \right| \ge \left| A\_u \left( \xi\_i \right) \right| + \left| A\_u \left( \xi\_{i+1} \right) \right| = \alpha\_i.$$

If *<sup>u</sup> V* 2 and *u f V* , then the inequality *Mi i i* 1, *f* holds as in previous case and we are done. Now let *<sup>u</sup> V* <sup>2</sup> and *u f V* . It means that *Au* 2 2 and therefore, 1 21 21 1 . *M A u u A u* Analogously, 1. *M Au f fu* By the definition of 2 , *<sup>u</sup> u E* and . *u E <sup>f</sup>* Since <sup>1</sup> *u U* , we have *u s V* for some 3 1. *s f* Then we can choose *i j* , such that 2 1 *i s* and *sjf* 1 with 1 *M Au iiu* and 1 *M Au jju* , and the result follows. Finally, because of the symmetry, we can suppose that *<sup>u</sup> V* 2 and . *u f V* Clearly 1 1 1. *M Au <sup>u</sup>* By the definition of 2 , . *<sup>u</sup> u E* Then we can choose *i f* 2,..., 1 such that 1 *M Au iiu* and again the result follows.

**Claim 2**. If *u* 2 then 0 . *<sup>u</sup> U*

**Proof.** Suppose to the contrary and let 0. *<sup>u</sup> v U* Then replacing *u* and *v* by *u uu* and *vu* , respectively, we can form a new *MH* -spreading, contradicting the *U*<sup>0</sup> -minimality of .

By (2) and Claim 1,

$$\begin{aligned} \left| M \right| = \sum\_{i=1}^{f} \left| M\_i \right| \ge \sum\_{i=1}^{f} \alpha\_i = \sum\_{i=1}^{f} \left( \left| A\_u \left( \xi\_i \right) \right| + \left| A\_u \left( \xi\_{i+1} \right) \right| \right) \\\\ = 2 \sum\_{i=1}^{f} \left| A\_u \left( \xi\_i \right) \right| = 2 \sum\_{x \in V(M)} \left| A\_u \left( x \right) \right| = 2 \left| \Phi\_u \cup B\_u \right|. \end{aligned} \tag{3}$$

Pure Links Between Graph Invariants and Large Cycle Structures 39

Let 0 *u U* . If 0 *v U* then to prove (a1) we can argue exactly as in proof of Claim 2 (see the proof of Lemma 2). The next claim follows immediately from (a1). To prove (a3), let 0 *v U* .

> 0 0 *uU uU u u b b*

0 0 1 1 . *u u <sup>u</sup>*

*pp b b pp*

*u uu d u*

max . *<sup>u</sup> <sup>u</sup> p*

Graph invariants provide a powerful and maybe the single analytical tool for investigation of abstract structures of graphs. They, combined in convenient algebraic relations, carry global and general information about a graph and its particular substructures such as cycle

*p p pp p*

1 2 .

max

*u u <sup>u</sup> uVM*

1 1 . *u u*

*p p p*

Since *M* is extreme, by Lemma 3, *u u p b* for each *u U* <sup>0</sup> , and (a3) follows.

*uVM uU uU*

*uVM uVM*

**(a1)** if *u U* 0 and 0 *v U* then *<sup>u</sup> V v vv* , ,

*C*

**(a2)** if *u U* 0 then , *u u <sup>p</sup> <sup>b</sup>* **(a3)** if 0 *v U* then . *u u p b*

and using (a2) and (a3), we get

Since is extreme, we have

for each *u VM* .

In particular,

By Lemma 1,

**11. Conclusions** 

By summing, we get

Observing that

If ( ) 2 *u* then by Claim 2, *u u uu B b* , which by (3) gives 2 1 . *M bb uu uu*

Finally, if ( ) 1 *u* , i.e. *u u* , then {} 1 *uuu u u B B ub* and again by (3)

2 2 1. *MB b u u u uu* 

**Lemma 3**. Let *C* be a longest cycle in a graph *G* and *L* a longest path in \ *G C* with a *U*<sup>0</sup> minimal *LC* -spreading . Then for each 0 *u U* , . *L b u u*

**Proof**. Put 1 *Luu* ... . *<sup>m</sup>* Let *u u* , , *x y* and *i* be as defined in proof of Lemma 2. Let <sup>1</sup> ,..., *<sup>f</sup>* be the elements of *u* occurring on *L* in a consecutive order. Set

$$
\stackrel{\rightarrow}{M'} = \stackrel{\rightarrow}{\mu\_1} \stackrel{\rightarrow}{L} \not\models\_{1'} \quad \stackrel{\rightarrow}{M''} = \stackrel{\rightarrow}{\xi}\_f \stackrel{\rightarrow}{L} \stackrel{\rightarrow}{\mu\_{m'}} \quad \stackrel{\rightarrow}{M}\_i = \mathbb{E}\_i \stackrel{\rightarrow}{L} \not\models\_{i+1} \quad \left(i = 1, \ldots, f - 1\right).
$$

Let *G* be the graph obtained from *G* by adding an extra edge *u um* <sup>1</sup> . Set 1 1 *M u uu* ... *<sup>m</sup>* and *M M f f* <sup>1</sup> . Let *u f* , <sup>1</sup> and *u f* , <sup>1</sup> be the paths obtained from <sup>1</sup> , *u f* by deleting the first and the last edges, respectively. Since *L* is extreme, *M if i uii* , 1,..., 1 . <sup>1</sup> As for *Mf* , observe that

$$\begin{aligned} \left| \mathcal{M}' \right| &\geq \left| \Lambda\_u' \left( \mathbb{\xi}\_{f'}, \mathbb{\xi}\_1 \right) \right| = \left| \Lambda\_u \left( \mathbb{\xi}\_{f'}, \mathbb{\xi}\_1 \right) \right| - 1\_{\mathcal{L}} \\ \left| \mathcal{M}'' \right| &\geq \left| \Lambda\_u'' \left( \mathbb{\xi}\_{f'}, \mathbb{\xi}\_1 \right) \right| = \left| \Lambda\_u \left( \mathbb{\xi}\_{f'}, \mathbb{\xi}\_1 \right) \right| - 1\_{\mathcal{L}} \end{aligned}$$

Implying that

$$\left| M\_f \right| = \left| M' \right| + \left| M'' \right| + 1 \ge 2 \left| \Lambda\_u \left( \xi\_{f'}, \xi\_1 \right) \right| - 1 \ge \left| \Lambda\_u \left( \xi\_{f'}, \xi\_1 \right) \right|.$$

So, *Mi uii* , <sup>1</sup> for each *i* 1,..., *f* . Further, for each *u U* <sup>1</sup> , we can argue exactly as in proof of Lemma 2 to get 1 *LM b u u* . Now let *u U* . By the definition, *<sup>u</sup> V u* and therefore, *u u u* . Since *L* is extreme, *L Bu b* 2 22. *u u* Hence,

$$\left| L \right| \ge \left| \Upsilon(\boldsymbol{u}) \right| + \frac{1}{2} \left| \stackrel{\rightarrow}{L} \right| \ge \mathfrak{q}\_{\boldsymbol{u}} + b\_{\boldsymbol{u}}.$$

**Proof of Theorem 21** (Zh.G. Nikoghosyan, 1998). Let *M* be a longest path in *G C*\ of length *p* with a 0 ( ) *U* -minimal *MC* -spreading . If *p* 1 , i.e. *M* is a Hamilton cycle, then *C* 1 ( 2)( ) *p p* . Let *p* 0 . We claim that


Let 0 *u U* . If 0 *v U* then to prove (a1) we can argue exactly as in proof of Claim 2 (see the proof of Lemma 2). The next claim follows immediately from (a1). To prove (a3), let 0 *v U* . Since *M* is extreme, by Lemma 3, *u u p b* for each *u U* <sup>0</sup> , and (a3) follows.

Observing that

38 New Frontiers in Graph Theory

If ( ) 2 *u* then by Claim 2, *u u uu B b* , which by (3) gives

**Lemma 3**. Let *C* be a longest cycle in a graph *G* and *L* a longest path in \ *G C* with a *U*<sup>0</sup> -

**Proof**. Put 1 *Luu* ... . *<sup>m</sup>* Let *u u* , , *x y* and *i* be as defined in proof of Lemma 2. Let

1 1 , , <sup>1</sup> 1,..., 1 . *M u L M Lu M L i f f m i ii*

 . Let *u f* , <sup>1</sup> and *u f* , <sup>1</sup> be the paths obtained from <sup>1</sup> , *u f* by deleting the first and the last edges, respectively. Since *L* is extreme,

*uf uf*

*uf uf*

*M MM f u* 12 , 1 , . *<sup>f</sup>* 1 1 *<sup>u</sup> <sup>f</sup>*

So, *Mi uii* , <sup>1</sup> for each *i* 1,..., *f* . Further, for each *u U* <sup>1</sup> , we can argue exactly as in proof of Lemma 2 to get 1 *LM b u u* . Now let *u U* . By the definition,

*<sup>u</sup> V u* and therefore, *u u u* . Since *L* is extreme,

**Proof of Theorem 21** (Zh.G. Nikoghosyan, 1998). Let *M* be a longest path in *G C*\ of length *p* with a 0 ( ) *U* -minimal *MC* -spreading . If *p* 1 , i.e. *M* is a Hamilton cycle,

 <sup>1</sup> . <sup>2</sup> *LuL b u u* 

1 1

, ,1,

, ,1,

1 1

Let *G* be the graph obtained from *G* by adding an extra edge *u um* <sup>1</sup> . Set 1 1 *M u uu* ... *<sup>m</sup>*

in a consecutive order. Set

and

Finally, if ( ) 1 *u* , i.e. *u u* , then {} 1 *uuu u u B B ub* and again by (3)

minimal *LC* -spreading . Then for each 0 *u U* , . *L b u u*

*M if i uii* , 1,..., 1 . <sup>1</sup> As for *Mf* , observe that

*M*

*M*

<sup>1</sup> ,..., *<sup>f</sup>* be the elements of *u* occurring on *L*

2 1 . *M bb*

 *uu uu*

2 2 1. *MB b u u u uu* 

*M M f f* <sup>1</sup> 

Implying that

*L Bu b* 2 22. *u u* Hence,

then *C* 1 ( 2)( ) *p p* . Let *p* 0 . We claim that

$$\sum\_{\mu \in \mathcal{U}\_0} b\_{\mu}^\* = \sum\_{\mu \in \mathcal{U}\_0} b\_{\mu}$$

and using (a2) and (a3), we get

$$\sum\_{\mu \in V(\mathcal{M})} \mathfrak{g}\_{\mu} \le \overline{p} \left( \overline{p} + 1 \right) + \sum\_{\mu \in \mathcal{U}\_0} b\_{\mu}^\* - \sum\_{\mu \in \overline{\mathcal{U}}\_0} b\_{\mu} = \overline{p} \left( \overline{p} + 1 \right).$$

Since is extreme, we have

$$\Psi\_{\underline{u}} = d(\ddot{\mu}) - \mathfrak{q}\_{\underline{u}} \ge \mathfrak{G} - \mathfrak{q}\_{\underline{u}}$$

for each *u VM* .

By summing, we get

$$\sum\_{\boldsymbol{\mu}\in V(\mathcal{M})} \boldsymbol{\upmu}\_{\boldsymbol{\mu}} = \left(\overline{\boldsymbol{p}} + \mathbf{1}\right) \boldsymbol{\updelta} - \sum\_{\boldsymbol{\mu}\in V(\mathcal{M})} \boldsymbol{\upmu}\_{\boldsymbol{\mu}} \ge \left(\overline{\boldsymbol{p}} + \mathbf{1}\right) \left(\boldsymbol{\updelta} - \overline{\boldsymbol{p}}\right).$$

In particular,

$$\max\_{\boldsymbol{\mu}} \psi\_{\boldsymbol{\mu}} \ge \delta - \overline{p}.$$

By Lemma 1,

$$\begin{aligned} \left| \mathbb{C} \right| &\geq \sum\_{\boldsymbol{\mu} \in V(\mathcal{M})} \mathbb{W}\_{\boldsymbol{\mu}} + \max\_{\boldsymbol{\mu}} \mathbb{W}\_{\boldsymbol{\mu}} \\ &\geq \left( \overline{p} + 1 \right) \left( \mathbb{S} - \overline{p} \right) + \mathbb{S} - \overline{p} = \left( \overline{p} + 2 \right) \left( \mathbb{S} - \overline{p} \right). \end{aligned}$$

### **11. Conclusions**

Graph invariants provide a powerful and maybe the single analytical tool for investigation of abstract structures of graphs. They, combined in convenient algebraic relations, carry global and general information about a graph and its particular substructures such as cycle

Pure Links Between Graph Invariants and Large Cycle Structures 41

Bondy, J.A. (1981). Integrity in graph theory, *In: The Theory and Application of Graphs*, *G.* 

Chvátal, V. & Erdös, P. (1972). A note on hamiltonian circuits, *Discrete Mathematics*, Vol. 2,

Chvátal, V. (1973). Tough graphs and Hamiltonian circuits, *Discrete Mathematics*, Vol. 5, No.

Dirac, G.A. (1952). Some theorems on abstract graphs, *Proceedings of the London Mathematical* 

Even, S. & Tarjan, R.E. (1975). Network flow and testing graph connectivity, *SIAM journal on* 

Erdös, P. & Gallai, T. (1959). On maximal paths and circuits of graphs, *Acta Mathematica* 

Fraisse, P. (1986). *D* -cycles and their applications for Hamiltonian graphs, Universite de

Garey, M.R. & Johnson, D.S. (1983). *Computers and Intractability: A Guide to the Theory of NP-*

Gould, R.J. (1991). Updating the Hamiltonian Problem - A survey, *Journal of Graph Theory*,

Gould, R.J. (2003). Advances on the Hamiltonian Problem - A survey, *Graphs and* 

Häggkvist, R. & Nicoghossian, G.G. (1981). A remark on hamiltonian cycles, *Journal of* 

Jung, H.A. (1978). On maximal circuits in finite graphs, *Annals of Discrete Mathematics*, Vol. 3,

Jung, H.A. (1990). Long Cycles in Graphs with Moderate Connectivity, In: *Topics in* 

Lu, M., Liu, H. & Tian, F. (2005). Two sufficient conditions for dominating cycles, *Journal of* 

Mosesyan, C.M., Nikoghosyan, M.Zh. & Nikoghosyan, Zh.G. (2009). Simple proofs of two

Nash-Williams, C.St.J.A. (1971). Edge-disjoint hamiltonian cycles in graphs with vertices of

Nikoghosyan, M.Zh. & Nikoghosyan, Zh.G. (2011). Large cycles in 4-connected graphs,

Nikoghosyan, Zh.G. (1981). On maximal cycle of a graph, *DAN Arm. SSR*, Vol. LXXII, No. 2,

Nikoghosyan, Zh.G. (1985a). A sufficient condition for a graph to be Hamiltonian,

*combinatorics and graph theory, R.Bodendieck and R.Henn (Eds),* Phisika Verlag,

Dirac-type theorems involving connectivity, *In: arXiv:0906.3630v2 [math.CO],* 27 Jul

large valency, In: *Studies in Pure Mathematics, L. Mirsky, (Ed.),* pp. (157-183),

*Matematicheskie voprosy kibernetiki i vichislitelnoy tekhniki*, Vol. 14, pp. (34-54) (in

York, pp. (117-125). MR83e:05070.

*Society*, Vol. 2, No. 1, pp. (69-81).

*Completenes,* Freeman, New York.

*Combinatorics*,Vol. 19, No. 1, pp. (7-52).

*Graph Theory*, Vol. 49, No. 2, pp. (135-150).

Academic Press, San Diego/London.

*Combinatorial Theory*, Ser. B, Vol. 30, No. 1, pp. (118-120).

2009, Available from: http://arxiv.org/abs/0906.3630.

*Discrete Mathematics*, Vol. 311, No. 4, pp. (302-306).

Vol. 15, No. 2, pp. (121-157).

Heidelberg, pp. (765-778).

pp. (82-87) (in Russian).

Russian).

*computing*, Vol. 4, No. 4, pp. (507-518).

*Hungarica*, Vol. 10, No. 3-4, pp. (337-356).

No. 2, pp. (111-113).

Paris-sud, preprint.

pp. (129-144).

3, pp. (215-228).

*Chartrand, Y. Alavi, D.L. Goldsmith, L. Lesniak-Foster, D.R. Lick (Eds.),* Wiley, New

structures, factors, matchings, colorings, coverings, and so on. The discovery of these relations is the primary problem of graph theory.

We focus on large cycle substructures, perhaps the most important cycle structures in graphs: Hamilton, longest and dominating cycles and some generalized cycles including Hamilton and dominating cycles as special cases.

In the literature, eight basic (initial) invariants of a graph *G* are known having significant impact on large cycle structures, namely order *n* , size *q* , minimum degree , connectivity , independence number , toughness and the lengths of a longest path and a longest cycle in \ *G C* for a given longest cycle *C* in *G* .

We have collected 37 pure algebraic relations between *n*,,, , ,, *q p* and *c* ensuring the existence of a certain type of large cycles. The majority of these results are sharp in all respects.

Focusing only on basic graph invariants, as well as on pure algebraic relations between these parameters, in fact, we present the simplest kind of relations for large cycles having no forerunners in the area. Actually they form a source from which nearly all possible hamiltonian results (including well-known Ore's theorem, Pósa's theorem and many other generalizations) can be developed further by various additional new ideas, generalizations, extensions, restrictions and structural limitations.

### **12. References**


40 New Frontiers in Graph Theory

structures, factors, matchings, colorings, coverings, and so on. The discovery of these

We focus on large cycle substructures, perhaps the most important cycle structures in graphs: Hamilton, longest and dominating cycles and some generalized cycles including

In the literature, eight basic (initial) invariants of a graph *G* are known having significant impact on large cycle structures, namely order *n* , size *q* , minimum degree , connectivity , independence number , toughness and the lengths of a longest path and a longest

We have collected 37 pure algebraic relations between *n*,,, , ,, *q p* and *c* ensuring the existence of a certain type of large cycles. The majority of these results are sharp in all

Focusing only on basic graph invariants, as well as on pure algebraic relations between these parameters, in fact, we present the simplest kind of relations for large cycles having no forerunners in the area. Actually they form a source from which nearly all possible hamiltonian results (including well-known Ore's theorem, Pósa's theorem and many other generalizations) can be developed further by various additional new ideas, generalizations,

Alon, N. (1986). The longest cycle of a graph with a large minimum degree, *Journal of Graph* 

Bauer, D. & Schmeichel, E. (1986). Long cycles in tough graphs, *Technical Report 8612, Stevens* 

Bauer, D., Schmeichel, E. & Veldman, H.J. (1988). A generalization of a Theorem of Bigalke

Bauer, D., Hakimi, S.L. & Schmeichel, E. (1990a). Recognizing tough graphs is *NP* -hard,

Bauer, D., Morgana, A., Schmeichel, E. & Veldman, H.J. (1990b). Long cycles in graphs with

Bauer, D., Chen, G. & Lasser, L. (1991a). A degree condition for Hamilton cycles in *t* -tough

Bauer, D. & Schmeichel, E. (1991b). On a Theorem of Häggkvist and Nicoghossian, *Graph* 

Bermond, J.C. (1978). Hamiltonian graphs, *In: Selected topics in graph theory, L. Beineke and R.J.* 

Bigalke, A. & Jung, H.A. (1979). Über Hamiltonsche Kreise und unabhängige Ecken in

Bondy, J.A. & Murty, U.S.R. (1976). *Graph Theory with Applications*, Macmillan, London, ISBN

graphs with 1 *t* , In: *Advances in graph theory*, V.R. Kulli, (Ed.), pp. (20-33), Vishwa

large degree sums, *Discrete Mathematics*, Vol. 79, No. 1, pp. (59-70).

*Theory, Combinatorics, Algorithms and Applications*, pp. (20-25).

Graphen, *Monatshefte für Mathematik*, Vol. 88, No. 3, pp. (195-210).

relations is the primary problem of graph theory.

Hamilton and dominating cycles as special cases.

cycle in \ *G C* for a given longest cycle *C* in *G* .

extensions, restrictions and structural limitations.

*Theory*, Vol. 10, No. 1, pp. (123-127).

and Jung, *Ars Combinatoria*, Vol. 26, pp. (53-58).

International publications, Gulbarga, India.

*Wilson, (Eds.),* Academic press, London.

0-444-19451-7.

*Discrete Applied Mathematics*, Vol. 28, No. 3, pp. (191-195).

*Institute of Technology*, Hoboken.

respects.

**12. References** 


**3** 

 *Poland* 

**Analysis of Modified Fifth** 

Antoni Zabludowski and Piotr Kiedrowski *University of Technology and Life Sciences, Bydgoszcz,* 

Bozydar Dubalski, Slawomir Bujnowski, Damian Ledzinski,

Implementation of new telecommunications services has always been associated with the need to ensure network efficiency required to implement these services. Network efficiency can be described by a number of parameters such as: network bandwidth, propagation time, quality, reliability and fault tolerance. More and better performance, and thus network efficiency is achieved mainly by using more and more advanced technical and technological solutions. There were milestones solutions such as the use of coaxial transmission cables, optical fibers, and various techniques of multiplication like TDM or WDM (Newton, 1996). Significant impact on the way to deliver services had wireless transmission, which has

In addition to technical and technological solutions to improve network efficiency by using system solutions such as: protocols or topology (topology control) appropriate for the type of connection or service. Type of system solutions in the network is closely related to the technology involved in the network, so it can be said that technology determines the solutions. Examples may be the different topological approaches as a result or a




From the above examples it follows that in order to provide high efficiency network technology solutions are not always sufficient and require additional system solutions, which should always go hand in hand with these technological ones. Therefore, proposed in

found widespread use in communication networks since the end of last century.

nodes in the path) as result of synchronization signals distribution,

the literal sense) associated with the phenomenon of dispersion,

consequence of the limiters for a specific technology; e. g.:

a large area using short-range devices.

this publication the solutions are always up to date.

**1. Introduction** 

**Degree Chordal Rings** 


## **Analysis of Modified Fifth Degree Chordal Rings**

Bozydar Dubalski, Slawomir Bujnowski, Damian Ledzinski, Antoni Zabludowski and Piotr Kiedrowski *University of Technology and Life Sciences, Bydgoszcz, Poland* 

### **1. Introduction**

42 New Frontiers in Graph Theory

Nikoghosyan, Zh.G. (1985b). On maximal cycles in graphs, *DAN Arm. SSR*, Vol. LXXXI, No.

Nikoghosyan, Zh.G. (1998). Path-Extensions and Long Cycles in Graphs, *Mathematical* 

Nikoghosyan, Zh.G. (2000a). Cycle-Extensions and Long Cycles in Graphs, *Mathematical* 

Nikoghosyan, Zh.G. (2000b). Cycle-Extensions and Long Cycles in -connected Graphs,

Nikoghosyan, Zh.G. (2009a). Dirac-type generalizations concerning large cycles in graphs,

Nikoghosyan, Zh.G. (2009b). On the circumference, connectivity and dominating cycles, *In:* 

Nikoghosyan, Zh.G. (2011). A Size Bound for Hamilton Cycles, *In: arXiv:1107.2201v1 [math.CO]* 12 Jul 2011, Available from: http://arxiv.org/abs/1107.2201. Voss H.-J. & Zuluaga, C. (1977). Maximale gerade und ungerade Kreise in Graphen I, *Wiss.* 

Yamashita, T. (2009). A degree sum condition with connectivity for relative length of longest paths and cycles, *Discrete Mathematics*, Vol. 309, No. 23-24, pp. (6503-6507).

*Problems of Computer Science*, Transactions of the Institute for Informatics and Automation Problems of the NAS (Republic of Armenia) and Yerevan State

*Problems of Computer Science,* Transactions of the Institute for Informatics and Automation Problems of the NAS (Republic of Armenia) and Yerevan State

*Mathematical Problems of Computer Science*, Transactions of the Institute for Informatics and Automation Problems of the NAS (Republic of Armenia) and

4, pp. (166-170) (in Russian).

University, Vol. 19, pp. (25-31).

University, Vol. 21, pp. (121-128).

http://arxiv.org/abs/0906.1857.

Yerevan State University, Vol. 21, pp. (129-155).

*Z. Tech. Hochschule,* Ilmenau, Vol. 4, pp. (57-70).

*Discrete Mathematics*, Vol. 309, No. 8, pp. (1925-1930).

*arXiv:0906.1857v1 [math.CO],* 10 Jun 2009, Available from:

Implementation of new telecommunications services has always been associated with the need to ensure network efficiency required to implement these services. Network efficiency can be described by a number of parameters such as: network bandwidth, propagation time, quality, reliability and fault tolerance. More and better performance, and thus network efficiency is achieved mainly by using more and more advanced technical and technological solutions. There were milestones solutions such as the use of coaxial transmission cables, optical fibers, and various techniques of multiplication like TDM or WDM (Newton, 1996). Significant impact on the way to deliver services had wireless transmission, which has found widespread use in communication networks since the end of last century.

In addition to technical and technological solutions to improve network efficiency by using system solutions such as: protocols or topology (topology control) appropriate for the type of connection or service. Type of system solutions in the network is closely related to the technology involved in the network, so it can be said that technology determines the solutions. Examples may be the different topological approaches as a result or a consequence of the limiters for a specific technology; e. g.:


From the above examples it follows that in order to provide high efficiency network technology solutions are not always sufficient and require additional system solutions, which should always go hand in hand with these technological ones. Therefore, proposed in this publication the solutions are always up to date.

Analysis of Modified Fifth Degree Chordal Rings 45

and sixth degree chordal rings and modified graphs of these types. These topologies are the subject of many publications of the researchers from Putra University (Farah et al, 2008,

In this publication the survey of the chordal rings consisting of fifth degree nodes (Fig. 1) will be presented. Until now this type of the regular structures is not widely examined, so

Average distance and diameter was chosen in order to provide a general and simple indication of transmission properties of the analyzed topologies. These follow standard definitions as summarized below. For more basic definitions of e.g. paths and path lengths,

Definition 2. The diameter *D(G)* is the largest path length among all of the shortest length of

min ( ) max { ( , )} *i j*

where *vi* means the number of the node, *dmin* minimal distanc*e* (number of edges) between *i-*

Definition 3. The average path length *dav* between all pairs of nodes is defined by the

1 1

0 0 <sup>1</sup> (, ) ( 1) *p p av i j i j d d v v*

where *dmin* (*vi*, *vj*) is the minimal number of edges between a source node *vi* and every other

A Reference Graph (a virtual example is shown in Fig. 2) can be determined, which presents a reference for all regular graphs of degree 5. It represents lower bounds for average distance and diameter for all these graphs, but since it is a "virtual graph" these bounds

*p p*

min

*DG d v v vv i <sup>j</sup>* (1)

(2)

2010a, 2010b; Azura et al., 2008, 2010; Farah et al. 2010, 2011).

authors decided to focus on it (Dubalski, 2010).

Fig. 1. An example of chordal ring fifth nodal degree

please refer to any basic graph theory book, such as (Distel, 2010).

the paths between any pair of nodes. It is defined as follows:

chosen node *vj,,* and *p* denotes the number of nodes.

The Reference Graph possesses parameters as follows:

may not always be achievable.

*th* and *j-th* node.

formula:

### **2. Background**

A critical issue in designing telecommunications systems is choosing the interconnection network topology as it has the biggest impact on efficiency, speed, and reliability of the entire system (Bhuyan, 1987). Nowadays, analysis of regular network structures is one of the most important issues in telecommunications and computer science.

These networks can be model by symmetric digraphs, i.e., a directed graph *G* with vertex set *V***(***G***)** and edge set *E(G)*, such that, if [*vi*, *vj*] is in *E(G)*, then [*vj*, *vi*] is also in *E(G)*. So any edge of digraph connecting vertices *vi* and *vj* can be replaced by two directed edges [*vi*, *vj*] and [*vj*, *vi*] (Narayanan et al., 2001).

It is obvious that the best service and reliability parameters one can obtain by forming complete networks (described by a complete graph), but only small networks can be built in this way. In (Kocis, 1992) a survey of known topologies has been presented. Among the analyzed topologies that would be used in designing the distributed structures, the authors of this publication have chosen rings as they are very simple and extensible. They are characterized by connectivity equal to 2 (damage of one edge or node ensures possibility of transmission), are not expensive (number of edges is equal to the number of nodes), are regular and symmetric, but possess poor transmission parameters.

Halfway between the complete graph and the ring is the chordal ring structure (Arden & Lee, 1981). The chordal ring is a ring with additional chords. It is defined by pair (*p*,*Q*), where *p* is the number of nodes of the ring and *Q* is the set of chords. Each chord connects every pair of nodes of the ring that are at distance *qi* in the ring.

The application of this type of structure is useful due to its simplicity, clear topology, resistance to damages, simplicity of routings, and good extension (Kocis, 1992).

The application of chordal rings in computer systems (Mans, 1999), TDM networks (communication between distributed switching modules) (Bujnowski, 2003), core optical networks (Freire & da Silva, 1999, 2001a, 2001b; Liestman et al., 1998; Narayanan & Opatrny, 1999; Narayanan et al., 2001), and optical access networks (Pedersen, 2005; Pedersen et al., 2004a, 2004b, 2005; Bujnowski et al., 2003) has been analyzed. The authors of this publication, in their earlier works on modeling of telecommunication and computer networks, present an analysis of chordal rings (Bujnowski et al. 2004a, 2004b, 2005).

In the beginning the general definition of chordal ring will be giving.

Definition 1. A chordal ring is a ring with additional edges called chords. A chordal ring is defined by the pair (*p*, *Q*), where *p* denotes the number of nodes of the ring and *Q* denotes the set of chord lengths *Q* {1, 2, ..., *p*/2}. Since it is a ring, every node is connected to exactly two other nodes (i.e. assume a numbering of the nodes *1*,*2*,…, *p* – then node *i* is connected to node *i-1* and *i+1 (mod p)*. Node *0* is connected to *p* and *1*). Each chord of length *q Q* connects every two nodes of the ring that are at distance *q*. The chordal ring will be further denoted as *G(p; 1, q1, ..., qi), q1* ... *qi*. In general, the degree of chordal rings is 2*i*, unless there is a chord of length *p*/2. In this case *p* should be even and rings' degree is 2*i* – 1 (Gavoille, n.d).

In the papers (Bujnowski et al., 2008a, 2009b, 2010; Dubalski et al., 2007, 2008; Pedersen et al., 2009) the authors have previously analysed the transmission properties of third, fourth 44 New Frontiers in Graph Theory

A critical issue in designing telecommunications systems is choosing the interconnection network topology as it has the biggest impact on efficiency, speed, and reliability of the entire system (Bhuyan, 1987). Nowadays, analysis of regular network structures is one of the

These networks can be model by symmetric digraphs, i.e., a directed graph *G* with vertex set *V***(***G***)** and edge set *E(G)*, such that, if [*vi*, *vj*] is in *E(G)*, then [*vj*, *vi*] is also in *E(G)*. So any edge of digraph connecting vertices *vi* and *vj* can be replaced by two directed edges [*vi*, *vj*] and [*vj*,

It is obvious that the best service and reliability parameters one can obtain by forming complete networks (described by a complete graph), but only small networks can be built in this way. In (Kocis, 1992) a survey of known topologies has been presented. Among the analyzed topologies that would be used in designing the distributed structures, the authors of this publication have chosen rings as they are very simple and extensible. They are characterized by connectivity equal to 2 (damage of one edge or node ensures possibility of transmission), are not expensive (number of edges is equal to the number of nodes), are

Halfway between the complete graph and the ring is the chordal ring structure (Arden & Lee, 1981). The chordal ring is a ring with additional chords. It is defined by pair (*p*,*Q*), where *p* is the number of nodes of the ring and *Q* is the set of chords. Each chord connects

The application of this type of structure is useful due to its simplicity, clear topology,

The application of chordal rings in computer systems (Mans, 1999), TDM networks (communication between distributed switching modules) (Bujnowski, 2003), core optical networks (Freire & da Silva, 1999, 2001a, 2001b; Liestman et al., 1998; Narayanan & Opatrny, 1999; Narayanan et al., 2001), and optical access networks (Pedersen, 2005; Pedersen et al., 2004a, 2004b, 2005; Bujnowski et al., 2003) has been analyzed. The authors of this publication, in their earlier works on modeling of telecommunication and computer

Definition 1. A chordal ring is a ring with additional edges called chords. A chordal ring is defined by the pair (*p*, *Q*), where *p* denotes the number of nodes of the ring and *Q* denotes the set of chord lengths *Q* {1, 2, ..., *p*/2}. Since it is a ring, every node is connected to exactly two other nodes (i.e. assume a numbering of the nodes *1*,*2*,…, *p* – then node *i* is connected to node *i-1* and *i+1 (mod p)*. Node *0* is connected to *p* and *1*). Each chord of length *q Q* connects every two nodes of the ring that are at distance *q*. The chordal ring will be further denoted as *G(p; 1, q1, ..., qi), q1* ... *qi*. In general, the degree of chordal rings is 2*i*, unless there is a chord

In the papers (Bujnowski et al., 2008a, 2009b, 2010; Dubalski et al., 2007, 2008; Pedersen et al., 2009) the authors have previously analysed the transmission properties of third, fourth

resistance to damages, simplicity of routings, and good extension (Kocis, 1992).

networks, present an analysis of chordal rings (Bujnowski et al. 2004a, 2004b, 2005).

of length *p*/2. In this case *p* should be even and rings' degree is 2*i* – 1 (Gavoille, n.d).

In the beginning the general definition of chordal ring will be giving.

most important issues in telecommunications and computer science.

regular and symmetric, but possess poor transmission parameters.

every pair of nodes of the ring that are at distance *qi* in the ring.

**2. Background** 

*vi*] (Narayanan et al., 2001).

and sixth degree chordal rings and modified graphs of these types. These topologies are the subject of many publications of the researchers from Putra University (Farah et al, 2008, 2010a, 2010b; Azura et al., 2008, 2010; Farah et al. 2010, 2011).

In this publication the survey of the chordal rings consisting of fifth degree nodes (Fig. 1) will be presented. Until now this type of the regular structures is not widely examined, so authors decided to focus on it (Dubalski, 2010).

Fig. 1. An example of chordal ring fifth nodal degree

Average distance and diameter was chosen in order to provide a general and simple indication of transmission properties of the analyzed topologies. These follow standard definitions as summarized below. For more basic definitions of e.g. paths and path lengths, please refer to any basic graph theory book, such as (Distel, 2010).

Definition 2. The diameter *D(G)* is the largest path length among all of the shortest length of the paths between any pair of nodes. It is defined as follows:

$$D(\mathcal{G}) = \max\_{v\_i v\_j} \{ d\_{\min}(v\_{i'} v\_j) \} \tag{1}$$

where *vi* means the number of the node, *dmin* minimal distanc*e* (number of edges) between *ith* and *j-th* node.

Definition 3. The average path length *dav* between all pairs of nodes is defined by the formula:

$$d\_{av} = \frac{1}{p(p-1)} \sum\_{i=0}^{p-1} \sum\_{j=0}^{p-1} d\_{\text{min}}(v\_{i'} v\_j) \tag{2}$$

where *dmin* (*vi*, *vj*) is the minimal number of edges between a source node *vi* and every other chosen node *vj,,* and *p* denotes the number of nodes.

A Reference Graph (a virtual example is shown in Fig. 2) can be determined, which presents a reference for all regular graphs of degree 5. It represents lower bounds for average distance and diameter for all these graphs, but since it is a "virtual graph" these bounds may not always be achievable.

The Reference Graph possesses parameters as follows:

Analysis of Modified Fifth Degree Chordal Rings 47

In order to determine parameters of the theoretical calculated reference topologies of chordal rings two types of these structures were defined. The first one is called the ideal graph and the second one - optimal graph. In fact these graphs exist only in particular cases, but they are useful as reference models for evaluation expected parameters of tested graphs. Definition 4. The ideal chordal ring with degree *D*(*G*) is the regular graph with total number

( )1

*D G i d DG d p pp* 

1

( )1

*d G*

*d*

1

*<sup>d</sup> avo*

*d*

value, then such a ring is called the optimal ring (optimal graph). For ideal chordal ring the average path length *davi* is expressed as:

*avi*

whereas for the optimal graph the average path length *davo* is equal to:

*d*

and obtained in reality parameters of analyzed structures.

Fig. 3. Basic chordal ring fifth nodal degree CHR5(20; 3,10)

1

where *pd* means the number of nodes that belong to the *d-th* layer (the layer is the subset of nodes that are at a distance *d* from the source node), while *pD*(*<sup>G</sup>*) denotes the number of the remaining nodes which appear in the last layer. For ideal rings, for every *n* and *m* < *D*(*G*) *pn m p* = Ø. If for certain *D*(*G*) the subset *pD(G)* of chordal ring reaches the maximal possible

( )

( )

( )

*d d G*

1

*d*

*d p*

*dp DG p*

*i*

( )

*d G*

1 1

*o*

*p* 

where *d* – layer number, *pd* – number of nodes in *d*-*th* layer, *po* – number of nodes in optimal

Optimal graphs were used to calculate the formulas describing parameters of each type of analyzed chordal ring, whereas ideal rings were served to compare calculated theoretically

The basic topology of fifth degree chordal rings in Fig. 3 is shown. The definition, short

presentation and author's consideration concerned of this structure are given below.

*p*

(7)

(8)

(9)

of nodes *pi* given by the formula:

graph.

1. The number of nodes *pdr* in *d*-th layer is determined by formula:

$$\begin{aligned} p\_{1r} &= \mathbf{5} \\ p\_{dr} = \mathbf{20} \cdot \mathbf{2}^{2(d-2)} \text{ when} &\quad d > 1 \end{aligned} \tag{3}$$

2. Total number of nodes *pD(G)r* versus graph diameter is described by expression:

$$p\_{D(G)r} = \frac{5 \cdot 4^{D(G)r} - 2}{3} \tag{4}$$

3. Value of diameter versus total number of nodes can be calculated following formula:

$$D(G) = \left\lceil \log\_4 \left(\frac{3p\_r + 2}{5}\right) \right\rceil \tag{5}$$

4. Average path length *davr* in function of diameter is equal to:

$$d\_{avr} = \frac{1 + \left(\Im \cdot D(G)\_r - 1\right) \cdot 4^{D(G)\_r}}{\Im \cdot \left(4^{D(G)\_r} - 1\right)}\tag{6}$$

5. This graph is symmetrical, its all parameters are equal regardless from which node they are calculated.

Fig. 2. General diagram of virtual infinite Reference Graph

Only one Reference Graph fifth nodal degree exists in reality, it is the complete graph consisting of 6 nodes.

Two other reference graphs, named as Ideal and Optimal graphs, are also useful for determining average distance and diameter of the chordal rings. They provide theoretical values, which in the following will be compared to values obtained in the real graphs. As for the reference graph mentioned above, the optimal and ideal graphs do not always exist.

46 New Frontiers in Graph Theory

1 2( 2)

3. Value of diameter versus total number of nodes can be calculated following formula:

4 3 2 ( ) log <sup>5</sup> *<sup>r</sup> <sup>p</sup> D G*

5. This graph is symmetrical, its all parameters are equal regardless from which node they

Only one Reference Graph fifth nodal degree exists in reality, it is the complete graph

Two other reference graphs, named as Ideal and Optimal graphs, are also useful for determining average distance and diameter of the chordal rings. They provide theoretical values, which in the following will be compared to values obtained in the real graphs. As for the reference graph mentioned above, the optimal and ideal graphs do not always exist.

*avr D G D G <sup>d</sup>*

*r*

( ) 1 3 () 1 4 34 1

*r*

( )

*D G*

*r*

(6)

*p p when d*

2. Total number of nodes *pD(G)r* versus graph diameter is described by expression:

( )

*r d*

5 20 2 1

( )

54 2 3 *DGr*

(3)

*DGr <sup>p</sup>* (4)

(5)

1. The number of nodes *pdr* in *d*-th layer is determined by formula:

*dr*

4. Average path length *davr* in function of diameter is equal to:

Fig. 2. General diagram of virtual infinite Reference Graph

are calculated.

consisting of 6 nodes.

In order to determine parameters of the theoretical calculated reference topologies of chordal rings two types of these structures were defined. The first one is called the ideal graph and the second one - optimal graph. In fact these graphs exist only in particular cases, but they are useful as reference models for evaluation expected parameters of tested graphs.

Definition 4. The ideal chordal ring with degree *D*(*G*) is the regular graph with total number of nodes *pi* given by the formula:

$$p\_i = 1 + \sum\_{d=1}^{D(G)-1} \left| p\_d \right| + \left| p\_{D(G)} \right| \tag{7}$$

where *pd* means the number of nodes that belong to the *d-th* layer (the layer is the subset of nodes that are at a distance *d* from the source node), while *pD*(*<sup>G</sup>*) denotes the number of the remaining nodes which appear in the last layer. For ideal rings, for every *n* and *m* < *D*(*G*) *pn m p* = Ø. If for certain *D*(*G*) the subset *pD(G)* of chordal ring reaches the maximal possible value, then such a ring is called the optimal ring (optimal graph).

For ideal chordal ring the average path length *davi* is expressed as:

$$d\_{avi} = \frac{\sum\_{d=1}^{d(G)-1} d \left| p\_d \right| + D(G) \left| p\_{d(G)} \right|}{p\_i - 1} \tag{8}$$

whereas for the optimal graph the average path length *davo* is equal to:

$$d\_{\rm aro} = \frac{\sum\_{d=1}^{d(G)} d \, p\_d}{p\_o - 1} \tag{9}$$

where *d* – layer number, *pd* – number of nodes in *d*-*th* layer, *po* – number of nodes in optimal graph.

Optimal graphs were used to calculate the formulas describing parameters of each type of analyzed chordal ring, whereas ideal rings were served to compare calculated theoretically and obtained in reality parameters of analyzed structures.

The basic topology of fifth degree chordal rings in Fig. 3 is shown. The definition, short presentation and author's consideration concerned of this structure are given below.

Fig. 3. Basic chordal ring fifth nodal degree CHR5(20; 3,10)

Analysis of Modified Fifth Degree Chordal Rings 49

*q D G or q D G q p or q p* 1 1 1 1

*i i*

1 1

1 1 ( ) <sup>2</sup> *<sup>i</sup> <sup>p</sup> D G*

The lengths of chords used to construct ideal graphs can be calculated using formulas:

1

4() 2() 3 4(9 9 2) <sup>3</sup>

4(9 9 2) 6(6 10 4) (1, 2, , )

*i*

*p i i or p i i where i n*

1

3 2 2 8() 6() 8() 3

Unfortunately the parameters of CHR5 graphs are considerably different of Reference

It follows from the difference of number of nodes appearing in successive layers and thus the difference of total number of nodes appearing in dependence of its diameter as well.

34 ( ) 4 ( ) 1 *avi DG DG DG <sup>d</sup>*

*DG DG*

4() 6() 3 6(6 10 4) <sup>3</sup>

2 8() 3() 8() 3

(16)

<sup>2</sup> 4() 4() 4() () 1 *<sup>i</sup> p DG DG DG DG* (17)

1 1 2() 1 1 *<sup>i</sup> q D G or q p* (19)

(21)

2

2

(18)

(20)

(15)

2() 1 2() 1

 

3 2

34 ( ) 1 *avi DG DG DG <sup>d</sup> D G*

The graphs belonging to the second group are described as follows:

When the number of nodes creating chordal ring is given by equation: 2 2

2() 1 1 2

*DG DG if p i i then q*

*DG DG if p i i then q*

The average path length of all these graphs is described by formula:

Graph parameters, what is shown in fig. 4 and 5 given above.

1 1

*then q D G or q p*

2

*i*

*i*

*i i*

2

In this case a chord length *q*1 of ideal graphs is equal to:

these both graphs are isomorphic each other.

If *D*(*G*) > 2 then:

The average path length can be express by formula:

So when the number of nodes is equal to *pi* then

Definition 5. The basic chordal ring fifth nodal degree called CHR5 is an undirected graph, based on a cycle with additional connections (chords). It is denoted by CHR5(*p*; *q*1,*q*2) where *p* must be even and means number of nodes creating the ring, chord length *q*1 > *p*/2 is odd, even too, chord length *q*2 is equal to *p*/2. The values of *p* and *q*1 must be prime each other (Bujnowski, 2011).

In order to calculate the diameters and average path lengths appearing in optimal graphs it is necessary to evaluate the maximal number of nodes appearing in each layer. In the table 1 the numbers of nodes in the first successive layers of virtual optimal ring are shown (*d* denotes the layer number, *pd* - the number of nodes appearing in *d-th* layer).


Table 1. Maximal number of nodes in the layers

If *d* > 1 the power of these sets is described by formula:

$$p\_{do} = 4(2d - 1)\tag{10}$$

Using the formula given above, the total number of nodes *po* in the optimal graph with diameter *D*(*G*) can be calculated (*D*(*G*) > 1):

$$p\_o = 4D(G)^2 + 2\text{ .}\tag{11}$$

The total number of nodes in optimal graphs versus its diameter is shown in table 2.


Table 2. Total numbers of nodes forming optimal graphs versus diameter

The average path length in optimal graphs is given by formula:

$$d\_{\rm avo} = \frac{8D(\rm G)^3 + 6D(\rm G)^2 - 2D(\rm G) + 3}{\Re\left(4D(\rm G)^2 + 1\right)}\tag{12}$$

Only one optimal graph exists in reality. It is the complete graph which possesses 6 nodes, but the ideal chordal rings can be found. Whereas it founded two groups of ideal graphs consisting of *p* nodes, which can be described by formulas given below.

The graphs belonging to the first group are defined as follows:

$$p\_i = 4D(G)^2 \quad \text{( $D(G) > 1$ )}\tag{13}$$

so

$$D(G) = \frac{\sqrt{p\_i}}{2} \tag{14}$$

48 New Frontiers in Graph Theory

Definition 5. The basic chordal ring fifth nodal degree called CHR5 is an undirected graph, based on a cycle with additional connections (chords). It is denoted by CHR5(*p*; *q*1,*q*2) where *p* must be even and means number of nodes creating the ring, chord length *q*1 > *p*/2 is odd, even too, chord length *q*2 is equal to *p*/2. The values of *p* and *q*1 must be prime each other

In order to calculate the diameters and average path lengths appearing in optimal graphs it is necessary to evaluate the maximal number of nodes appearing in each layer. In the table 1 the numbers of nodes in the first successive layers of virtual optimal ring are shown (*d*

*d* 1 2 3 4 5 6 7 8 *pdo* 5 12 20 28 36 44 52 60

Using the formula given above, the total number of nodes *po* in the optimal graph with

The total number of nodes in optimal graphs versus its diameter is shown in table 2.

Table 2. Total numbers of nodes forming optimal graphs versus diameter

consisting of *p* nodes, which can be described by formulas given below.

The graphs belonging to the first group are defined as follows:

The average path length in optimal graphs is given by formula:

*d*(*G*) 1 2 3 4 5 6 7 8 *pdo* 6 18 38 66 102 146 198 258

3 2

Only one optimal graph exists in reality. It is the complete graph which possesses 6 nodes, but the ideal chordal rings can be found. Whereas it founded two groups of ideal graphs

( ) <sup>2</sup>

34 ( ) 1 *avo DG DG DG <sup>d</sup>*

*D G* 

2 8() 6() 2() 3

4(2 1) *do p d* (10)

<sup>2</sup> 4() 2 *<sup>o</sup> p DG* . (11)

<sup>2</sup> 4() () 1 *<sup>i</sup> p DG DG* (13)

*<sup>i</sup> <sup>p</sup> D G* (14)

(12)

denotes the layer number, *pd* - the number of nodes appearing in *d-th* layer).

Table 1. Maximal number of nodes in the layers

diameter *D*(*G*) can be calculated (*D*(*G*) > 1):

If *d* > 1 the power of these sets is described by formula:

(Bujnowski, 2011).

so

In this case a chord length *q*1 of ideal graphs is equal to:

$$\begin{aligned} q\_1 &= 2D(\mathbf{G}) - 1 & \text{or} & q\_1 &= 2D(\mathbf{G}) + 1\\ q\_1 &= \sqrt{p\_i} - 1 & \text{or} & q\_1 &= \sqrt{p\_i} + 1 \end{aligned} \tag{15}$$

these both graphs are isomorphic each other.

The average path length can be express by formula:

$$d\_{avi} = \frac{8D(G)^3 + 3D(G)^2 - 8D(G) + 3}{3\left(4D(G)^2 - 1\right)}\tag{16}$$

The graphs belonging to the second group are described as follows: If *D*(*G*) > 2 then:

$$p\_i = 4D(G)^2 - 4D(G) = 4D(G)\left[D(G) - 1\right] \tag{17}$$

So when the number of nodes is equal to *pi* then

$$D(G) = \frac{1 + \sqrt{1 + p\_i}}{2} \tag{18}$$

The lengths of chords used to construct ideal graphs can be calculated using formulas:

$$q\_1 = 2D(G) - 1 \quad \text{or} \quad q\_1 = \sqrt{1 + p\_i} \tag{19}$$

When the number of nodes creating chordal ring is given by equation:

$$\begin{aligned} p\_i &= 4(9i^2 + 9i + 2) \quad \text{or} \quad p\_i = 6(6i^2 + 10i + 4) \quad \text{where} \quad i \in (1, 2, \cdots, n) \\ \text{then} \quad q\_1 &= 2D(\mathbf{G}) + 1 \quad \text{or} \quad q\_1 = \sqrt{p\_i + 1} + 2 \\ \text{if} \quad p\_i &= 4(9i^2 + 9i + 2) \quad \text{then} \quad q\_1 = \frac{4D(\mathbf{G})^2 - 2D(\mathbf{G}) - 3}{3} \\ \text{if} \quad p\_i &= 6(6i^2 + 10i + 4) \quad \text{then} \quad q\_1 = \frac{4D(\mathbf{G})^2 - 6D(\mathbf{G}) + 3}{3} \end{aligned} \tag{20}$$

The average path length of all these graphs is described by formula:

$$d\_{wi} = \frac{8D(G)^3 - 6D(G)^2 - 8D(G) + 3}{3\left(4D(G)^2 + 4D(G) - 1\right)}\tag{21}$$

Unfortunately the parameters of CHR5 graphs are considerably different of Reference Graph parameters, what is shown in fig. 4 and 5 given above.

It follows from the difference of number of nodes appearing in successive layers and thus the difference of total number of nodes appearing in dependence of its diameter as well.

Analysis of Modified Fifth Degree Chordal Rings 51

number of nodes divisible by 4. The third group of graphs also has a number of nodes divisible by 4, but for these no mathematical expressions of node distribution (and thus the

Definition 6. The modified fifth degree chordal rings called CHR5\_a (Fig. 6) is denoted by CHR5\_a(*p*; *q*1,*q*2), where *p* is even and means number of nodes; *q*1, *q*2 are chords. Chords *q*<sup>1</sup> and *q*2 are odd and < *p*/2. Chord *q*1 generates a Hamiltonian cycle. whereas *q*2 is odd too and < *p*/2. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*1(mod *<sup>p</sup>*), *i*2*k*+1+*q*1(mod *<sup>p</sup>*) and *i*2*k+*1-*q*2(mod *<sup>p</sup>*) (0 ≤ *k* < *p*/2). The values of *p* and *q*1 must be prime each other (this ensures that the

In table 3 the numbers of nodes in the layers of optimal rings as the function of node degree

d 1 2 3 4 5 6 7 8 pdo 5 16 33 58 89 128 173 226

When *d* (layer number) is odd, then the power of these sets is described by the expression:

<sup>1</sup> <sup>2</sup> (7 3)

<sup>2</sup> *do odd p d* (22)

average distance and diameter) were found.

As previously mentioned, for each type of graph we present:

Comparisons of parameters for real and theoretical graphs.

**3.1 First group of chordal rings** 

Expressions for key parameters

Hamiltonian cycle is created).

Fig. 6. Modified chordal ring CHR5\_a(20; 3,7)

Table 3. Maximal number of nodes in the successive layers

 Definitions Descriptions

**Graph CHR5\_a.** 

are shown.

and when *d* is even:

Distribution of nodes

Fig. 4. Comparison of diameter and average path length of Reference Graphs and CHR5

Fig. 5. Differences of number of nodes in successive layers and total number of nodes in Reference Graphs and CHR5

The aim of authors of this publication was to find structures possessing basic parameters which values would be closer to reference graph parameters.

### **3. Analysis of modified graphs fifth degree**

The authors prepared two programs which were used to make it possible to examine the analysed graphs - "Program Graph Finder" and "Find the best distribution of nodes in the layers". The first one - "Program Graph Finder" was used in the first stage of analysis for quite simple topologies, the second one "Find the best distribution of nodes in the layers" – for more complicated structures, when the number of variables describing the way of connections is greater than 4.

The real values of parameters of modified chordal rings were calculated using these programs and compared to those obtained in a theoretical way.

In the following sections, an analysis of 15 different regular structures based on chordal rings is presented. Each of the type of graphs is defined, examples are given, the distribution of nodes in different layers is analyzed, and the ideal and optimal graphs are compared to real graphs. Also, basing on the analysis of nodes in different layers, the average distance and diameter can be calculated as a function of the number of nodes.

The graphs are divided into 3 groups, each consisting of 5 types of graphs. The first group of graphs needs to have a number of nodes divisible by two, and the second group of graphs a number of nodes divisible by 4. The third group of graphs also has a number of nodes divisible by 4, but for these no mathematical expressions of node distribution (and thus the average distance and diameter) were found.

### **3.1 First group of chordal rings**

As previously mentioned, for each type of graph we present:

Definitions

50 New Frontiers in Graph Theory

*dav*

Fig. 4. Comparison of diameter and average path length of Reference Graphs and CHR5

1 2,5 4 5,5 7 8,5 10 11,5 13 14,5 16

0 500 1000 1500 2000

1 2 3 4 5 6 7 8 9 10

Number of nodes

*D*(*G*)

CHR5 Ref. graph

CHR5 Ref. graph

Number of nodes

CHR5 Ref. graph

Fig. 5. Differences of number of nodes in successive layers and total number of nodes in

*d*

CHR5 Ref. graph

which values would be closer to reference graph parameters.

programs and compared to those obtained in a theoretical way.

and diameter can be calculated as a function of the number of nodes.

**3. Analysis of modified graphs fifth degree** 

The aim of authors of this publication was to find structures possessing basic parameters

log(Total number of nodes)

The authors prepared two programs which were used to make it possible to examine the analysed graphs - "Program Graph Finder" and "Find the best distribution of nodes in the layers". The first one - "Program Graph Finder" was used in the first stage of analysis for quite simple topologies, the second one "Find the best distribution of nodes in the layers" – for more complicated structures, when the number of variables describing the way of

The real values of parameters of modified chordal rings were calculated using these

In the following sections, an analysis of 15 different regular structures based on chordal rings is presented. Each of the type of graphs is defined, examples are given, the distribution of nodes in different layers is analyzed, and the ideal and optimal graphs are compared to real graphs. Also, basing on the analysis of nodes in different layers, the average distance

The graphs are divided into 3 groups, each consisting of 5 types of graphs. The first group of graphs needs to have a number of nodes divisible by two, and the second group of graphs a

Reference Graphs and CHR5

0 200 400 600 800

1 2 3 4 5 6 7 8 9 10

log(Number of nodes in layers)

*D*(*G*)

connections is greater than 4.


### **Graph CHR5\_a.**

Definition 6. The modified fifth degree chordal rings called CHR5\_a (Fig. 6) is denoted by CHR5\_a(*p*; *q*1,*q*2), where *p* is even and means number of nodes; *q*1, *q*2 are chords. Chords *q*<sup>1</sup> and *q*2 are odd and < *p*/2. Chord *q*1 generates a Hamiltonian cycle. whereas *q*2 is odd too and < *p*/2. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*1(mod *<sup>p</sup>*), *i*2*k*+1+*q*1(mod *<sup>p</sup>*) and *i*2*k+*1-*q*2(mod *<sup>p</sup>*) (0 ≤ *k* < *p*/2). The values of *p* and *q*1 must be prime each other (this ensures that the Hamiltonian cycle is created).

Fig. 6. Modified chordal ring CHR5\_a(20; 3,7)

In table 3 the numbers of nodes in the layers of optimal rings as the function of node degree are shown.


Table 3. Maximal number of nodes in the successive layers

When *d* (layer number) is odd, then the power of these sets is described by the expression:

$$p\_{do\ odd} = \frac{1}{2}(\Im d^2 + 3) \tag{22}$$

and when *d* is even:

Analysis of Modified Fifth Degree Chordal Rings 53

All graphs of this type are symmetrical, the values of their basic parameters do not depend

Definition 6. The modified fifth degree chordal ring called CHR5\_b is denoted by CHR5\_b(*p*; *q*1,*q*2,*q*3) where *p* is even and means number of nodes; *q*1, *q*2, *q*3 are chords, where chord *q*1 and *q*2 possess even lengths, whereas the length of *q*3 is odd. The values of *p* and *q*1, *q*2, *q*3 must be lower than *p*/2. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*3(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*2(mod *<sup>p</sup>*),

Fig. 8 shows an example of CHR5\_b. In table 5, the numbers of nodes in the layers of an

*d* 1 2 3 4 5 6 7 8 *pdo* 5 20 61 140 267 454 713 1056

When *d* is bigger than 2, the maximal number of nodes which can appear in the successive

This was also confirmed by constructing the possible graphs. These results can be seen in

*d*(*G*) 1 2 3 4 5 6 7 8 *pdo* 6 26 87 227 494 948 1661 2717

Table 6. Total numbers of nodes in optimal graphs versus diameter

The total number of nodes *po* in the optimal graph with diameter *D*(*G*) > 1 is given by:

<sup>3</sup> 2 58 *do p dd* (27)

<sup>1</sup> <sup>432</sup> ( ) 2 ( ) 6 ( ) 11 ( ) 18 <sup>2</sup> *<sup>o</sup> p DG DG DG DG* (28)

on the number of source node.

*i*2*k*+1+*q*2(mod *<sup>p</sup>*) and *i*2*k+*1-*q*3(mod *<sup>p</sup>*) (0 ≤ *k* < *p*/2).

Fig. 8. Modified chordal ring CHR5\_b(20; 2,6,7)

Table 5. Maximal number of nodes in the layers

optimal graph is shown.

layers is described by:

Table 6.

**Graph CHR5\_b.** 

$$p\_{do\text{ even}} = \frac{1}{2}(7d^2 + 4)\tag{23}$$

The general expression has the following form:

$$p\_{do} = \frac{1}{2}(\7d^2 + 4 - d(\text{mod } 2))\tag{24}$$

The total number of nodes *po* forming an optimal graph which possesses diameter *D*(*G*) is expressed as:

$$p\_{o\text{ odd}} = \frac{7}{12} \Big( 2D(\text{G})^3 + 3D(\text{G})^2 + 4D(\text{G}) \Big) + \frac{3}{4}$$

$$p\_{o\text{ even}} = \frac{7}{12} \Big( 2D(\text{G})^3 + 3D(\text{G})^2 + 4D(\text{G}) \Big) + 1$$

$$p\_o = \frac{7}{12} \Big( 2D(\text{G})^3 + 3D(\text{G})^2 + 4D(\text{G}) \Big) + 1 - \frac{D(\text{G})(\text{mol}\,\text{2})}{4} \tag{25}$$

which confirms the results obtained by constructing the possible graphs, as shown in Table 4.


Table 4. Diameters and total numbers of nodes in virtual, optimal graphs

The average path length in optimal graphs can be calculated as:

$$d\_{avo} = \frac{3}{2} \frac{7d(\text{G})^4 + 14d(\text{G})^3 + 14d(\text{G})^2 + 8d(\text{G}) - 2d(\text{G})d(\text{G})(\text{mod }2) - d(\text{G})\text{mod }2}{14d(\text{G})^3 + 21d(\text{G})^2 + 28d(\text{G}) - 3d(\text{G})\text{mod }2} \tag{26}$$

Fig. 7 shows a comparison of diameters and average path lengths between theoretical and real graphs.

Fig. 7. Comparison of diameter and average path length of theoretical and real graphs CHR5\_a

All graphs of this type are symmetrical, the values of their basic parameters do not depend on the number of source node.

#### **Graph CHR5\_b.**

52 New Frontiers in Graph Theory

The general expression has the following form:

expressed as:

real graphs.

*D*(*G*)

CHR5\_a

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_a**

<sup>1</sup> <sup>2</sup> (7 4)

<sup>1</sup> <sup>2</sup> (7 4 (mod2))

The total number of nodes *po* forming an optimal graph which possesses diameter *D*(*G*) is

7 3 3 2 2() 3() 4() <sup>12</sup> <sup>4</sup> *o odd p DG DG DG*

<sup>7</sup> 3 2 2() 3() 4() 1 <sup>12</sup> *o even p DG DG DG*

<sup>7</sup> 3 2 ( )(mod 2) 2() 3() 4() 1 <sup>12</sup> <sup>4</sup> *<sup>o</sup>*

which confirms the results obtained by constructing the possible graphs, as shown in Table 4.

*D*(*G*) 1 2 3 4 5 6 7 8 *po* 6 22 55 113 202 330 503 729

3 7 ( ) 14 ( ) 14 ( ) 8 ( ) 2 ( ) ( )(mod2) ( )mod2

*dav*

(26)

*dG dG dG dG*

Fig. 7 shows a comparison of diameters and average path lengths between theoretical and

Table 4. Diameters and total numbers of nodes in virtual, optimal graphs

3 2

Fig. 7. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

1 1,5 2 2,5 3 3,5

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_a**

Number of nodes

theory real

theory real

2 14 ( ) 21 ( ) 28 ( ) 3 ( )mod2 *avo dG dG dG dG dGdG dG <sup>d</sup>*

The average path length in optimal graphs can be calculated as:

432

*D G p DG DG DG* (25)

<sup>2</sup> *do even p d* (23)

<sup>2</sup> *do p dd* (24)

Definition 6. The modified fifth degree chordal ring called CHR5\_b is denoted by CHR5\_b(*p*; *q*1,*q*2,*q*3) where *p* is even and means number of nodes; *q*1, *q*2, *q*3 are chords, where chord *q*1 and *q*2 possess even lengths, whereas the length of *q*3 is odd. The values of *p* and *q*1, *q*2, *q*3 must be lower than *p*/2. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*3(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*2(mod *<sup>p</sup>*), *i*2*k*+1+*q*2(mod *<sup>p</sup>*) and *i*2*k+*1-*q*3(mod *<sup>p</sup>*) (0 ≤ *k* < *p*/2).

Fig. 8. Modified chordal ring CHR5\_b(20; 2,6,7)

Fig. 8 shows an example of CHR5\_b. In table 5, the numbers of nodes in the layers of an optimal graph is shown.


Table 5. Maximal number of nodes in the layers

When *d* is bigger than 2, the maximal number of nodes which can appear in the successive layers is described by:

$$p\_{do} = 2d^3 + 5d - 8 \tag{27}$$

The total number of nodes *po* in the optimal graph with diameter *D*(*G*) > 1 is given by:

$$p\_o = \frac{1}{2} \left( D(\mathbf{G})^4 + 2D(\mathbf{G})^3 + 6D(\mathbf{G})^2 - 11D(\mathbf{G}) + 18 \right) \tag{28}$$

This was also confirmed by constructing the possible graphs. These results can be seen in Table 6.


Table 6. Total numbers of nodes in optimal graphs versus diameter

Analysis of Modified Fifth Degree Chordal Rings 55

Definition 7. The modified fifth degree chordal ring called CHR5\_c is denoted by CHR5\_c(*p*; *q*1,*q*2,*q*3), where *p* is even and means number of nodes; *q*1, *q*2, *q*3 are chords, all chords possess odd lengths less then *p*/2. The values of *p* and *q*1, *q*2, *q*3 must be prime each other. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*), *i*2*k*+*q*3(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*1(mod *<sup>p</sup>*), *i*2*k*+1-*q*2(mod *<sup>p</sup>*) and *i*2*k+*1-*q*3(mod *<sup>p</sup>*) where (0 ≤ *k* <

Fig. 10 shows an example of CHR5\_c. In Table 8 the numbers of nodes in the layers of an

*d* 1 2 3 4 5 6 7 8 *pdo* 5 20 50 110 200 340 550 850

In the case when *d* – number of layer is bigger than 2 the number of nodes in the layers can

2 67 3 2 5 5 30

In table 9 the total number of nodes in virtual, optimal graphs, as described by the above

*D*(*G*) 1 2 3 4 5 6 7 8 *po* 6 26 76 186 386 726 1276 2126

The average path length in optimal graphs can be calculated using the expression:

The total number of nodes *po* in the optimal graph with diameter *D*(*G*) > 1 is given by:

3 3 *do p dd d* (30)

<sup>1</sup> 43 2 5 ( ) 40 ( ) 265 ( ) 590 ( ) 516 <sup>6</sup> *<sup>o</sup> p DG DG DG DG* (31)

**Graph CHR5\_c** 

optimal graph is shown.

Fig. 10. Modified chordal ring CHR5\_c(16; 3,5,,7)

be described by the following expression:

Table 9. Total numbers of nodes in optimal graphs

expression, is shown.

Table 8. Number of nodes appearing in successive layers

*p*/2).

The average path length in optimal graphs can be expressed as:

$$d\_{\rm avo} = \frac{12D(\rm G)^5 + 30D(\rm G)^4 + 70D(\rm G)^3 - 45D(\rm G)^2 - 97D(\rm G) + 300}{15\left(D(\rm G)^4 + 2D(\rm G)^3 + 6D(\rm G)^2 - 11D(\rm G) + 16\right)}\tag{29}$$

Fig. 9. Comparison of diameter and average path length of theoretical and real graphs CHR5\_b

Fig. 9 shows a comparison of the diameter and average path length between theoretical and real graphs.

Not all these graphs are symmetric, but most of the graphs possessing parameters equal or close to ideal graphs are symmetric. In table 7 examples of the real and ideal chordal rings are presented.


Table 7. Examples of ideal graphs CHR5\_b

### **Graph CHR5\_c**

54 New Frontiers in Graph Theory

5432 432 12 ( ) 30 ( ) 70 ( ) 45 ( ) 97 ( ) 300

15 ( ) 2 ( ) 6 ( ) 11 ( ) 16 *avo DG DG DG DG DG <sup>d</sup>*

Fig. 9. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

theory real

Fig. 9 shows a comparison of the diameter and average path length between theoretical and

1 1,2 1,4 1,6 1,8 2 2,2 2,4 2,6 2,8 3

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_b**

Not all these graphs are symmetric, but most of the graphs possessing parameters equal or close to ideal graphs are symmetric. In table 7 examples of the real and ideal chordal rings

of nodes *q*<sup>1</sup> *<sup>q</sup>*<sup>2</sup> *<sup>q</sup>*<sup>3</sup> *dav*

*dav*

(29)

Number of nodes

theory real

*DG DG DG DG* 

The average path length in optimal graphs can be expressed as:

CHR5\_b

1

2

3

4

5

*D*(*G*)

real graphs.

are presented.

Number

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_b**

Table 7. Examples of ideal graphs CHR5\_b

Definition 7. The modified fifth degree chordal ring called CHR5\_c is denoted by CHR5\_c(*p*; *q*1,*q*2,*q*3), where *p* is even and means number of nodes; *q*1, *q*2, *q*3 are chords, all chords possess odd lengths less then *p*/2. The values of *p* and *q*1, *q*2, *q*3 must be prime each other. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*), *i*2*k*+*q*3(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*1(mod *<sup>p</sup>*), *i*2*k*+1-*q*2(mod *<sup>p</sup>*) and *i*2*k+*1-*q*3(mod *<sup>p</sup>*) where (0 ≤ *k* < *p*/2).

Fig. 10 shows an example of CHR5\_c. In Table 8 the numbers of nodes in the layers of an optimal graph is shown.

Fig. 10. Modified chordal ring CHR5\_c(16; 3,5,,7)


Table 8. Number of nodes appearing in successive layers

In the case when *d* – number of layer is bigger than 2 the number of nodes in the layers can be described by the following expression:

$$p\_{do} = 5\left(\frac{2}{3}d^3 - 5d^2 + \frac{67}{3}d - 30\right) \tag{30}$$

The total number of nodes *po* in the optimal graph with diameter *D*(*G*) > 1 is given by:

$$p\_o = \frac{1}{6} \left( 5D(\mathbf{G})^4 - 40D(\mathbf{G})^3 + 265D(\mathbf{G})^2 - 590D(\mathbf{G}) + 516 \right) \tag{31}$$

In table 9 the total number of nodes in virtual, optimal graphs, as described by the above expression, is shown.


Table 9. Total numbers of nodes in optimal graphs

The average path length in optimal graphs can be calculated using the expression:

Analysis of Modified Fifth Degree Chordal Rings 57

When the number of layer *d* is bigger than 1, the number of nodes in the layers can be

0 (mod 4) 5 34 0 (mod 4) 5 33

 

The total number of nodes *po* in the optimal graph depending on the diameter is given by:

( ) 10 ( ) 6 ( ) 17 1 0 mod 4 ( ) <sup>6</sup>

*p if p and D G is even*

( ) 10 ( ) 6 ( ) 17 <sup>1</sup> 0 mod 4 ( ) 6 2

In Table 11 the total number of nodes in virtual optimal graphs described by formula given

*D*(*G*) 1 2 3 4 5 6 7 8 *po* = 0 (mod 4) 6 22 58 124 230 386 602 888 *po*  0 (mod 4) 6 24 63 135 248 414 641 941

> 

6 ( ) 5 ( ) 3 ( ) 3 ( ( ) 1)mod2 ( ) 10 ( ) 6 ( ) 17 3 3( ( ) 1)mod2

*dav*

43 2 3

*DG DG*

*DG DG DG DG DG*

( ) 2 ( ) 5 ( ) 12 ( ) 10 ( ) 1 2 5 ( ) 13 ( ) 3

*p if p and D G is odd*

2 2

(33)

(34)

(35)

Number of nodes

theory real

*do do*

2

*if p and layer number is even then p d d if p and layer number is odd then p d d*

0 (mod 4) 5 56

( ) 4 ( ) 13 0 mod 4

Table 11. Total numbers of nodes forming optimal graphs versus diameter

The average path length in optimal graphs can be calculated using the expressions:

2

2

*DG DG DG DG*

*DG DG DG D G*

Fig. 13. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

1 1,5 2 2,5 3 3,5

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_d**

theory real

*If p then p d d*

*o o*

*DG DG DG*

*DG DG DG*

0 mod 4

*o*

*If p*

*avo*

*d*

*o*

*if p*

*avo*

**CHR5\_d**

0 10 20 30 40 50 60 70 80 90 100

*d*

0 mod 4

3

*DG DG p if p*

2

2

2

*do*

described by the following expression:

*o*

*o*

above is shown.

CHR5\_d

*D*(*G*)

$$d\_{avo} = \frac{8D(\text{G})^5 - 55D(\text{G})^4 + 310D(\text{G})^3 - 305D(\text{G})^2 - 678D(\text{G}) + 1260}{2\left(5D(\text{G})^4 - 40D(\text{G})^3 + 265D(\text{G})^2 - 590D(\text{G}) + 510\right)}\tag{32}$$

Fig. 11. Comparison of diameter and the average path length of theoretical and real CHR5\_c graphs

Fig. 11 shows a comparison of diameter and the average path length between theoretical and real graphs. All graphs of this type are symmetrical, but they couldn't find any ideal graph.

#### **Graph CHR5\_d.**

Definition 8. The modified fifth degree chordal ring called CHR5\_d is denoted by CHR5\_d(*p*; *q*1,*q*2,*p/2*), where *p* means the number of nodes and is positive and even; *q*1, *q*2 are chords which possess odd lengths less then *p*/2. The values of *p* and *q*1, *q*2 must be prime each other. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*), *i*2*k*+*p/2*(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*1(mod *<sup>p</sup>*), *i*2*k*+1-*q*2(mod *<sup>p</sup>*) and *i*2*k+*1+p/2(mod *<sup>p</sup>*) where (0 ≤ *k* < *p*/2).

Fig. 12. Example of modified chordal ring CHR5\_d(16; 3,5,,8)

Fig. 12 shows an example of CHR5\_d. In table 10, the numbers of nodes in the layers of an optimal graph are shown. It should be noted that there are two different number of nodes in layers, depending on whether the total number of nodes is divisible by 4 or not.


Table 10. Maximal number of nodes in the successive layers

56 New Frontiers in Graph Theory

*DG DG DG DG* 

Fig. 11. Comparison of diameter and the average path length of theoretical and real CHR5\_c

1 1,5 2 2,5 3 3,5

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_c**

Number of nodes

theory real

Fig. 11 shows a comparison of diameter and the average path length between theoretical and real graphs. All graphs of this type are symmetrical, but they couldn't find any ideal

Definition 8. The modified fifth degree chordal ring called CHR5\_d is denoted by CHR5\_d(*p*; *q*1,*q*2,*p/2*), where *p* means the number of nodes and is positive and even; *q*1, *q*2 are chords which possess odd lengths less then *p*/2. The values of *p* and *q*1, *q*2 must be prime each other. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*), *i*2*k*+*p/2*(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*1(mod *<sup>p</sup>*), *i*2*k*+1-*q*2(mod *<sup>p</sup>*) and

Fig. 12 shows an example of CHR5\_d. In table 10, the numbers of nodes in the layers of an optimal graph are shown. It should be noted that there are two different number of nodes in

d 1 2 3 4 5 6 7 8 *po* = 0 (mod 4) 5 16 36 66 106 156 216 286 *po* 0 (mod 4) 5 18 39 72 113 166 227 300

layers, depending on whether the total number of nodes is divisible by 4 or not.

graphs

*D*(*G*)

graph.

**Graph CHR5\_d.** 

*i*2*k+*1+p/2(mod *<sup>p</sup>*) where (0 ≤ *k* < *p*/2).

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_c**

Fig. 12. Example of modified chordal ring CHR5\_d(16; 3,5,,8)

Table 10. Maximal number of nodes in the successive layers

54 3 2 43 2

2 5 ( ) 40 ( ) 265 ( ) 590 ( ) 510 *avo DG DG DG DG DG <sup>d</sup>*

*dav*

(32)

Number of nodes

theory real

8 ( ) 55 ( ) 310 ( ) 305 ( ) 678 ( ) 1260

When the number of layer *d* is bigger than 1, the number of nodes in the layers can be described by the following expression:

$$\begin{aligned} \text{If } p &= 0 \text{ (mod 4) then} & \quad p\_{do} &= 5d^2 - 5d + 6 \\ \text{if } p &\neq 0 \text{ (mod 4) and layer number is even then} & \quad p\_{do} &= 5d^2 - 3d + 4 \\ \text{if } p &\neq 0 \text{ (mod 4) and layer number is odd then} & \quad p\_{do} &= 5d^2 - 3d + 3 \end{aligned}$$

The total number of nodes *po* in the optimal graph depending on the diameter is given by:

$$\begin{aligned} p\_o &= \frac{D(\mathbf{G})\Big(4D(\mathbf{G})^2 + 13\Big)}{3} \quad \text{if } p\_o = 0 \text{ mod } 4\\ p\_o &= \frac{D(\mathbf{G})\Big(10D(\mathbf{G})^2 + 6D(\mathbf{G}) + 17\Big)}{6} + 1 \quad \text{if } p \neq 0 \text{ mod } 4 \text{ and } D(\mathbf{G}) \text{ is even} \\ p\_o &= \frac{D(\mathbf{G})\Big(10D(\mathbf{G})^2 + 6D(\mathbf{G}) + 17\Big)}{6} + \frac{1}{2} \quad \text{if } p \neq 0 \text{ mod } 4 \text{ and } D(\mathbf{G}) \text{ is odd} \end{aligned} \tag{34}$$

In Table 11 the total number of nodes in virtual optimal graphs described by formula given above is shown.


Table 11. Total numbers of nodes forming optimal graphs versus diameter

The average path length in optimal graphs can be calculated using the expressions:

$$\begin{aligned} \text{If } p\_o &= 0 \text{ mod } 4\\ d\_{\text{woo}} &= \frac{D(\text{G})\left(2D(\text{G})^4 + 5D(\text{G})^3 + 12D(\text{G})^2 + 10D(\text{G}) + 1\right)}{2\left(5D(\text{G})^3 + 13D(\text{G}) - 3\right)} \end{aligned} \tag{35}$$

0 mod 4 *o if p* 

$$d\_{\rm avo} = \frac{6D(G)\left(5D(G)^2 - 3D(G) + 3 + (D(G) + 1)\bmod 2\right)}{D(G)\left(10D(G)^2 + 6D(G) + 17\right) + 3 + 3(D(G) + 1)\bmod 2}$$

Fig. 13. Comparison of diameter and average path length of theoretical and real graphs CHR5\_d

Analysis of Modified Fifth Degree Chordal Rings 59

When the number of layers *d* – is bigger than 1 the number of nodes in the layers can be

0 (mod 4) 2 8 ( 1) 0 (mod 4) 3 8 ( 1) 8

The total number of nodes *po* in the optimal graph depending on the diameter is given by:

*p if p and D G*

8() () 4 8 ( ) 32 ( ) 72 24 0 mod 4 ( ) 2 3 3

8() () 1 8 ( ) 8 ( ) 24 8 0 mod 4 ( ) 1 3 3

In Table 14 the total number of nodes in virtual optimal graphs described by the above

*D*(*G*) 1 2 3 4 5 6 7 8 *po* = 0 (mod 4) 6 22 64 152 304 536 864 1304 *po*  0 (mod 4) 6 24 72 168 328 568 904 1352

*p if p and D G*

*if p and d then p d d if p and d then p d d* 

<sup>2</sup> <sup>3</sup>

*DG dG DG DG*

*DG dG DG DG*

*o*

*o*

*avo*

*avo*

**CHR5\_e**

0 10 20 30 40 50 60 70 80 90 100

*o o*

*o o*

Table 14. Total numbers of nodes forming optimal graphs versus diameter

*When p and D G*

*when p and D G*

The average path length in optimal graphs can be calculated using this expression:

0 mod 4 ( ) 2

0 mod 4 ( ) 1

43 2 3

*DG DG DG DG <sup>d</sup> DG DG*

6 ( ) 4 ( ) 18 ( ) 16 ( ) 105 8 ( ) 32 ( ) 69

> 432 3

*DG DG DG DG <sup>d</sup> DG DG*

Fig. 15. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

1 1,5 2 2,5 3 3,5 4

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_e**

theory real

6 ( ) 4 ( ) 6 ( ) 4 ( ) 27 8 ( ) 8 ( ) 21

*dav*

<sup>2</sup> <sup>3</sup>

*do do*

(36)

(37)

(38)

Number of nodes

theory real

Table 13. Maximal number of nodes in the successive layers

described by the following expressions:

expressions is shown.

CHR5\_e

*D*(*G*)

*d* 1 2 3 4 5 6 7 8 *po*= 0 (mod 4) 5 16 42 88 152 232 328 440 *po* 0 (mod 4) 5 18 48 96 160 240 336 448

Fig. 13 shows a comparison of diameter and average path length between theoretical and real graphs.

All this type of chordal rings are symmetrical. Ideal graphs are only for the cases where the number of nodes is divisible by 4. Examples are given in Table 12.


Table 12. Examples of ideal graphs CHR5\_d

#### **Graph CHR5\_e.**

Definition 9. The modified fifth degree chordal ring called CHR5\_e is denoted by CHR5\_e(*p*; *q*1,*q*2,*p*/2), where *p* means the number of nodes and is positive and even; *q*1, *q*2 are chords which possess even lengths less then *p*/2. The values of *p/2* and *q*1, *q*2 must be prime each other. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*+*p/2*(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*2(mod *<sup>p</sup>*), *i*2*k*+1-*q*2(mod *<sup>p</sup>*) and *i*2*k+*1+p/2(mod *<sup>p</sup>*) where (0 ≤ *k* < *p*/2).

Fig. 14. Example modified chordal ring CHR5\_e(18; 4,8,9)

Fig. 14 shows an example of CHR5\_e. In Table 13 the number of nodes appearing in the successive layers of optimal graphs is shown. It should be observed that there are two different number of nodes in layers, depending on the total number of nodes are they divisible by 4 or not.

58 New Frontiers in Graph Theory

Fig. 13 shows a comparison of diameter and average path length between theoretical and

All this type of chordal rings are symmetrical. Ideal graphs are only for the cases where the

of nodes *q*<sup>1</sup> *<sup>q</sup>*<sup>2</sup> *p/2 dav*

12 3 5 6 1,545455 16 3 5 8 1,666667 28 7 11 14 2,037037 32 5 13 16 2,16129 36 5 13 18 2,257143 40 7 17 20 2,333333 44 5 13 22 2,395349 52 5 17 26 2,490196 76 13 21 38 2,893333 80 7 25 40 2,949367 84 9 23 42 3,00000 88 7 27 44 3,045977 96 7 29 48 3,126316

Definition 9. The modified fifth degree chordal ring called CHR5\_e is denoted by CHR5\_e(*p*; *q*1,*q*2,*p*/2), where *p* means the number of nodes and is positive and even; *q*1, *q*2 are chords which possess even lengths less then *p*/2. The values of *p/2* and *q*1, *q*2 must be prime each other. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*+*p/2*(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*2(mod *<sup>p</sup>*), *i*2*k*+1-*q*2(mod *<sup>p</sup>*) and

Fig. 14 shows an example of CHR5\_e. In Table 13 the number of nodes appearing in the successive layers of optimal graphs is shown. It should be observed that there are two different number of nodes in layers, depending on the total number of nodes are they

number of nodes is divisible by 4. Examples are given in Table 12.

Number

Table 12. Examples of ideal graphs CHR5\_d

Fig. 14. Example modified chordal ring CHR5\_e(18; 4,8,9)

*i*2*k+*1+p/2(mod *<sup>p</sup>*) where (0 ≤ *k* < *p*/2).

**Graph CHR5\_e.** 

divisible by 4 or not.

real graphs.


Table 13. Maximal number of nodes in the successive layers

When the number of layers *d* – is bigger than 1 the number of nodes in the layers can be described by the following expressions:

$$\begin{aligned} \text{if } p &= 0 \text{ (mod } 4) \text{ and } d \\ \text{if } p &\neq 0 \text{ (mod } 4) \text{ and } d \\ \end{aligned} \text{ then } \begin{aligned} p\_{do} &= 8d(d-1) \\ p\_{do} &= 8d(d-1) - 8 \end{aligned} \tag{36}$$

The total number of nodes *po* in the optimal graph depending on the diameter is given by:

$$p\_o = \frac{8D(\text{G})^3 - 32d(\text{G}) + 72}{3} = \frac{8D(\text{G})\left(D(\text{G})^2 - 4\right)}{3} + 24 \quad \text{if } p\_o = 0 \text{ mod } 4 \text{ and } D(\text{G}) \text{ / 2} \tag{37}$$

$$p\_o = \frac{8D(\text{G})^3 - 8d(\text{G}) + 24}{3} = \frac{8D(\text{G})\left(D(\text{G})^2 - 1\right)}{3} + 8 \quad \text{if } p\_o \neq 0 \text{ mod } 4 \text{ and } D(\text{G}) \text{ / 1}$$

In Table 14 the total number of nodes in virtual optimal graphs described by the above expressions is shown.


Table 14. Total numbers of nodes forming optimal graphs versus diameter

The average path length in optimal graphs can be calculated using this expression:

$$\begin{aligned} \text{When } p\_o &= 0 \text{ mod } 4 \text{ and } D(\mathbf{G}) \text{ } 2\\ d\_{\text{ave}} &= \frac{6D(\mathbf{G})^4 + 4D(\mathbf{G})^3 - 18D(\mathbf{G})^2 - 16D(\mathbf{G}) + 105}{8D(\mathbf{G})^3 - 32D(\mathbf{G}) + 69} \\ \text{when } p\_o &\neq 0 \text{ mod } 4 \text{ and } D(\mathbf{G}) \text{ } 1 \\ d\_{\text{ave}} &= \frac{6D(\mathbf{G})^4 + 4D(\mathbf{G})^3 - 6D(\mathbf{G})^2 - 4D(\mathbf{G}) + 27}{8D(\mathbf{G})^3 - 8D(\mathbf{G}) + 21} \end{aligned} \tag{38}$$

Fig. 15. Comparison of diameter and average path length of theoretical and real graphs CHR5\_e

Analysis of Modified Fifth Degree Chordal Rings 61

Definition 10. The modified fifth degree chordal ring called CHR5\_f is denoted by CHR5\_f(*p*; *q*1,*q*2,*q*3, *p*/2), where *p* means the number of nodes and is positive and divisible by 4; *q*1, *q*2, *q*3, are chords which possess even lengths less then *p*/2. The values of *p*/4 and *q*1, *q*2, *q*<sup>3</sup> must be prime each other. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*+*p/2*(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*2(mod *<sup>p</sup>*), *i*2*k*+1-*q*2(mod *<sup>p</sup>*) and *i*2*k+*1+p/2(mod *<sup>p</sup>*) and node *i*2*<sup>k</sup>*-1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*-2, *i*2*k*-1+*q*3(mod *<sup>p</sup>*), *i*2*k*-1-*q*3(mod *p*)

This structure is more complicated since the number of nodes appearing in successive layers depends on whether the total number of nodes is divisible by 8 or not, and also on whether it seen from odd or even node number in the graph. This creates multiple cases, which also complicates deriving the basic parameters. Table 16 shows the experimentally obtained

of nodes 1 2 3 4 5 6 7 8

Even 5 16 44 112 248 488 888 1496 Odd 5 16 46 116 262 536 984 1640

Even 5 16 48 136 312 616 1096 1784 Odd 5 18 58 152 340 668 1172 1884

**Graph CHR5\_f.** 

and *i*2*k-*1+p/2(mod *<sup>p</sup>*) where (0 ≤ *k* < *p*/2).

Fig. 17. Example of modified chordal ring CHR5\_f(20; 4,6,,8,10)

Table 16. Maximal number of nodes in the successive layers

0 (mod8) 5

*When p and d then*

*when p and d then*

0 (mod8) 4

*do even do odd*

*do even do odd*

The number of nodes in the layers can be described by the following formula:

*p dd p dd*

*p dd p dd*

3 2 3 2

11 11 5 8 173 664 5 8 125 424 33 33

(39)

11 11 5 8 93 312 5 8 69 220 33 33

3 2 3 2

results, which are the basis for further analysis.

*<sup>d</sup>*Number

*pdo p = 0 (mod 8)* 

*pdo p 0 (mod 8)*

An example is shown in Fig. 17.

Fig. 15 shows diameter and average path lengths in theoretical and real graphs with up to 100 nodes.

Some but not all of these graphs are symmetric, and as illustrated in Fig. 15 the non symmetric graphs generally have parameters closer to those of ideal graphs. Only a few ideal graphs are found, of which some examples are shown in Table 15.


Table 15. Examples of ideal graphs CHR5\_e

To sum up, in the first group of analyzed graphs the best parameters have CHR5\_b graphs. They possess minimal diameter and average path length in comparison to the other analyzed chordal rings, and the parameters of the real graphs are close or equal to parameters of ideal graphs. Additionally, most of the best graphs are symmetric, what is also an advantage for the application in real networks.

Fig. 16 shows the comparisons of the real graphs in the first group.

Fig. 16. Comparison of diameter and average path length of all real modified chordal rings belonging to the first group of analyzed graphs.

#### **3.2 Second group of analyzed graphs**

The chordal rings consisting of 4*i* nodes (*i* = 2, 3, 4, …,) belong to this group. These topologies are often more complicated, since they are less symmetric. Basing on patterns for ideal and optimal graphs it is possible to derive expressions for average distance and diameter for all of the different topologies in this group of graphs.

#### **Graph CHR5\_f.**

60 New Frontiers in Graph Theory

Fig. 15 shows diameter and average path lengths in theoretical and real graphs with up to

Some but not all of these graphs are symmetric, and as illustrated in Fig. 15 the non symmetric graphs generally have parameters closer to those of ideal graphs. Only a few

of nodes *<sup>q</sup>*<sup>1</sup> *<sup>q</sup>*<sup>2</sup> *p/2 dav*

10 2 4 5 1,444444 12 2 2 6 1,545455 14 2 4 7 1,615385 16 2 6 8 1,666667 28 6 10 14 2,037037 32 6 10 16 2,161290 34 4 10 17 2,151515 38 4 8 19 2,243243 42 4 8 21 2,317073

To sum up, in the first group of analyzed graphs the best parameters have CHR5\_b graphs. They possess minimal diameter and average path length in comparison to the other analyzed chordal rings, and the parameters of the real graphs are close or equal to parameters of ideal graphs. Additionally, most of the best graphs are symmetric, what is

Fig. 16. Comparison of diameter and average path length of all real modified chordal rings

1,5 2 2,5 3 3,5 4 *dav*

10 20 30 40 50 60 70 80 90 100

Number of nodes

CHR5 CHR5\_a CHR5\_b CHR5\_c CHR5\_d CHR5\_e

Number of nodes

CHR5 CHR5\_a CHR5\_b CHR5\_c CHR5\_d CHR5\_e

The chordal rings consisting of 4*i* nodes (*i* = 2, 3, 4, …,) belong to this group. These topologies are often more complicated, since they are less symmetric. Basing on patterns for ideal and optimal graphs it is possible to derive expressions for average distance and

ideal graphs are found, of which some examples are shown in Table 15.

Number

Table 15. Examples of ideal graphs CHR5\_e

also an advantage for the application in real networks.

belonging to the first group of analyzed graphs.

**3.2 Second group of analyzed graphs** 

10 20 30 40 50 60 70 80 90 100

*D(G)*

Fig. 16 shows the comparisons of the real graphs in the first group.

diameter for all of the different topologies in this group of graphs.

100 nodes.

Definition 10. The modified fifth degree chordal ring called CHR5\_f is denoted by CHR5\_f(*p*; *q*1,*q*2,*q*3, *p*/2), where *p* means the number of nodes and is positive and divisible by 4; *q*1, *q*2, *q*3, are chords which possess even lengths less then *p*/2. The values of *p*/4 and *q*1, *q*2, *q*<sup>3</sup> must be prime each other. Each even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*+*p/2*(mod *<sup>p</sup>*), while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*2(mod *<sup>p</sup>*), *i*2*k*+1-*q*2(mod *<sup>p</sup>*) and *i*2*k+*1+p/2(mod *<sup>p</sup>*) and node *i*2*<sup>k</sup>*-1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*-2, *i*2*k*-1+*q*3(mod *<sup>p</sup>*), *i*2*k*-1-*q*3(mod *p*) and *i*2*k-*1+p/2(mod *<sup>p</sup>*) where (0 ≤ *k* < *p*/2).

An example is shown in Fig. 17.

Fig. 17. Example of modified chordal ring CHR5\_f(20; 4,6,,8,10)

This structure is more complicated since the number of nodes appearing in successive layers depends on whether the total number of nodes is divisible by 8 or not, and also on whether it seen from odd or even node number in the graph. This creates multiple cases, which also complicates deriving the basic parameters. Table 16 shows the experimentally obtained results, which are the basis for further analysis.


Table 16. Maximal number of nodes in the successive layers

The number of nodes in the layers can be described by the following formula:

$$\begin{aligned} \text{When } p &= 0 \text{ (mod 8) and } d \text{ ) 5 then} \\ p\_{do \text{ even}} &= 5 \frac{1}{3} d^3 - 8d^2 - 173 \frac{1}{3} + 664 \quad p\_{do \text{ odd}} = 5 \frac{1}{3} d^3 - 8d^2 - 125 \frac{1}{3} + 424 \\ \text{when } p &\neq 0 \text{ (mod 8) and } d \text{ ) 4 then} \\ p\_{do \text{ even}} &= 5 \frac{1}{3} d^3 - 8d^2 - 93 \frac{1}{3} + 312 \quad p\_{do \text{ odd}} = 5 \frac{1}{3} d^3 - 8d^2 - 69 \frac{1}{3} + 220 \end{aligned} \tag{39}$$

Analysis of Modified Fifth Degree Chordal Rings 63

of nodes *<sup>q</sup>*<sup>1</sup> *<sup>q</sup>*<sup>2</sup> *<sup>q</sup>*<sup>3</sup> *p/2 dav* 12 2 4 4 6 1,545 20 6 4 4 10 1,737 32 6 12 12 16 2,161

Definition 11. The modified fifth degree chordal ring called CHR5\_g is denoted by CHR5\_g(*p*; *q*1,*q*2,*q*3), where *p* means the number of nodes, is positive and divisible by 4; *q*1 is chord has odd length; *q*2, *q*<sup>3</sup> are chords which possess even lengths and less then *p*/2. The values of *p* and *q*<sup>1</sup> must be prime each other. Even node *i*2*<sup>k</sup>*=0(mod4) is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*) and *i*2*k*+*q2*(mod *<sup>p</sup>*), when *i*2*<sup>k</sup>*=2(mod4) than this node is connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod*<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*) and *i*2*k*-*q*2(mod*<sup>p</sup>*); while odd node i(2*k*+1)=1(mod4) is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*1(mod*p*)*, i*2*k*+1-*q*1(mod*<sup>p</sup>*), *i*2*k*+1+*q*3(mod*<sup>p</sup>*); and any node i(2*k*+1)=3(mod4) is

An example is shown in Fig. 20. The number of nodes in the layers of an optimal graph is

*d* 1 2 3 4 5 6 7 8 *pdo* 5 16 42 102 183 302 491 704

In the case when the number of layer is bigger than 1, the number of nodes in the layers can

4 8 0 (mod3) <sup>2</sup>

*When d then p d d*

*do*

*when d and d then p d d d*

*when d and d then p d d d*

3

3 3 4 2 29 2 1 (mod3) 2 3 9 99

*do*

4 2 41 8 2 (mod3) 4 3 9 99

*do*

3 2

(42)

3 2

Only three ideal graphs found, which is presented in Table 18.

Table 18. All founded ideal graphs CHR5\_f with up to 100 nodes.

connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*1(mod*p*)*, i*2*k*+1-*q*1(mod*<sup>p</sup>*), *i*2*k*+1-*q*3(mod*<sup>p</sup>*).

Fig. 19. Example of modified chordal ring CHR5\_g(16; 3,2,6)

Table 19. Maximal number of nodes in the layers

be described by the following formula:

Number

**Graph CHR5\_g.** 

given in table 19.


In Table 17 the total number of nodes in optimal graphs given by above expression is shown.

Table 17. Total numbers of nodes forming optimal graphs versus diameter

The total number of nodes *po* in the optimal graph as a function of the diameter is given by:

$$\begin{aligned} \text{When } p &= 0 \text{ (mod 8) and } d \text{ ) 4} \\ p\_{o \text{ even}} &= 1 \frac{1}{3} D(\text{G})^4 - 89 \frac{1}{3} D(\text{G})^2 + 576 D(\text{G}) - 1054 \\ p\_{o \text{ odd}} &= 1 \frac{1}{3} D(\text{G})^4 - 65 \frac{1}{3} D(\text{G})^2 + 360 D(\text{G}) - 554 \\ \text{when } p &\neq 0 \text{ (mod 8) and } d \text{ ) 3} \\ p\_{o \text{ even}} &= 1 \frac{1}{3} D(\text{G})^4 - 49 \frac{1}{3} D(\text{G})^2 + 264 D(\text{G}) - 402 \\ p\_{o \text{ odd}} &= 1 \frac{1}{3} D(\text{G})^4 - 49 \frac{1}{3} D(\text{G})^2 + 264 D(\text{G}) - 400 \end{aligned} \tag{40}$$

The average path length in optimal graphs can be calculated using expressions:

$$\begin{aligned} \text{When } p\_o &= 0 \text{ mod } 8 \text{ and } D(\mathbf{G}) \text{ } 2\\ d\_{\text{aro}} &= \frac{6D(\mathbf{G})^4 + 4D(\mathbf{G})^3 - 18D(\mathbf{G})^2 - 16D(\mathbf{G}) + 105}{8D(\mathbf{G})^3 - 32D(\mathbf{G}) + 69} \\ \text{when } p\_o &\neq 0 \text{ mod } 8 \text{ and } D(\mathbf{G}) \text{ } 1 \end{aligned} \tag{41}$$

$$d\_{\text{wo}} = \frac{6D(\mathbf{G})^4 + 4D(\mathbf{G})^3 - 6D(\mathbf{G})^2 - 4D(\mathbf{G}) + 27}{8D(\mathbf{G})^3 - 8D(\mathbf{G}) + 21}$$

Fig. 19 shows diameter and average path lengths in theoretical and real graphs with up to 100 nodes.

Fig. 18. Comparison of diameter and average path length of theoretical and real graphs CHR5\_f


Only three ideal graphs found, which is presented in Table 18.

Table 18. All founded ideal graphs CHR5\_f with up to 100 nodes.

#### **Graph CHR5\_g.**

62 New Frontiers in Graph Theory

In Table 17 the total number of nodes in optimal graphs given by above expression is

*d*(*G*) Number of nodes 1 2 3 4 5 6 7 8

The total number of nodes *po* in the optimal graph as a function of the diameter is given by:

4 2

*p DG DG DG*

*p DG DG DG*

*p DG DG DG*

*p DG DG DG*

1 1 1 ( ) 89 ( ) 576 ( ) 1054

1 1 1 ( ) 65 ( ) 360 ( ) 554

1 1 1 ( ) 49 ( ) 264 ( ) 402

1 1 1 ( ) 49 ( ) 264 ( ) 400

6 ( ) 4 ( ) 18 ( ) 16 ( ) 105 8 ( ) 32 ( ) 69

4 2

4 2

4 2

43 2 3

*DG DG DG DG <sup>d</sup>*

432 3

Fig. 19 shows diameter and average path lengths in theoretical and real graphs with up to

*DG DG DG DG <sup>d</sup> DG DG*

Fig. 18. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

1 1,5 2 2,5 3 3,5

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_f**

theory real

6 ( ) 4 ( ) 6 ( ) 4 ( ) 27 8 ( ) 8 ( ) 21

*dav*

*DG DG*

Table 17. Total numbers of nodes forming optimal graphs versus diameter

*When p and d*

*when p and d*

*When p and D G*

*when p and D G*

0 (mod8) 4

3 3

*o even*

*o odd*

*o even*

*o odd*

*avo*

*avo*

**CHR5\_f**

0 10 20 30 40 50 60 70 80 90 100

*o*

*o*

3 3 0 (mod8) 3

3 3

3 3

The average path length in optimal graphs can be calculated using expressions:

0 mod 8 ( ) 2

0 mod 8 ( ) 1

even 6 22 66 178 426 914 1802 3298 odd 6 22 68 184 446 982 1966 3606

even 6 22 70 206 518 1134 2230 4014 odd 6 24 82 234 574 1242 2414 4298

(40)

(41)

Number of nodes

theory real

shown.

*pdo p 0 (mod 8)*

100 nodes.

*D*(G)

CHR5\_f

*pdo p = 0 (mod 8)* 

Definition 11. The modified fifth degree chordal ring called CHR5\_g is denoted by CHR5\_g(*p*; *q*1,*q*2,*q*3), where *p* means the number of nodes, is positive and divisible by 4; *q*1 is chord has odd length; *q*2, *q*<sup>3</sup> are chords which possess even lengths and less then *p*/2. The values of *p* and *q*<sup>1</sup> must be prime each other. Even node *i*2*<sup>k</sup>*=0(mod4) is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*) and *i*2*k*+*q2*(mod *<sup>p</sup>*), when *i*2*<sup>k</sup>*=2(mod4) than this node is connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod*<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*) and *i*2*k*-*q*2(mod*<sup>p</sup>*); while odd node i(2*k*+1)=1(mod4) is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*1(mod*p*)*, i*2*k*+1-*q*1(mod*<sup>p</sup>*), *i*2*k*+1+*q*3(mod*<sup>p</sup>*); and any node i(2*k*+1)=3(mod4) is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*1(mod*p*)*, i*2*k*+1-*q*1(mod*<sup>p</sup>*), *i*2*k*+1-*q*3(mod*<sup>p</sup>*).

Fig. 19. Example of modified chordal ring CHR5\_g(16; 3,2,6)

An example is shown in Fig. 20. The number of nodes in the layers of an optimal graph is given in table 19.


Table 19. Maximal number of nodes in the layers

In the case when the number of layer is bigger than 1, the number of nodes in the layers can be described by the following formula:

$$\begin{aligned} \text{When} \quad d &= 0 \text{ (mod 3) then} \quad p\_{do} = \frac{4}{3}d^3 + \frac{8}{3}d - 2\\ \text{when} \quad d &= 1 \text{ (mod 3)} \text{ and } d \nmid 2 \text{ then} \quad p\_{do} = \frac{4}{3}d^3 + \frac{2}{9}d^2 + \frac{29}{9}d + \frac{2}{9} \\ \text{when} \quad d &= 2 \text{ (mod 3)} \text{ and } d \nmid 4 \text{ then} \quad p\_{do} = \frac{4}{3}d^3 - \frac{2}{9}d^2 + \frac{41}{9}d - \frac{8}{9} \end{aligned} \tag{42}$$

Analysis of Modified Fifth Degree Chordal Rings 65

Fig. 20 shows diameter and average path lengths in theoretical and real graphs with up to

Fig. 20. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

theory real

Definition 12. The modified fifth degree chordal ring called CHR5\_h is denoted by CHR5\_h(*p*; *q*1,*q*2,*q*3,*q*4,*q*5), where *p* means the number of nodes and is positive and divisible by 4; *q*1, *q*2, *q*3, *q*<sup>4</sup> are chords which possess even lengths less then *p*/2, *q5=p/2*. Even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*k*+1, *i*2*k*+*q5*(mod *<sup>p</sup>*) and to *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*) when number of node is equal to 0 mod 4 or to *i*2*k*+*q*2(mod *<sup>p</sup>*), *i*2*k*-*q*2(mod *<sup>p</sup>*) when number of node is equal to 2 mod 4, while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*5(mod *<sup>p</sup>*) and *i*2*k*+1+*q*3(mod *<sup>p</sup>*), *i*2*k*+1-*q*3(mod *p*) when number of node is equal to 1 mod 4 or to *i*2*k+*1+*q*4 (mod *p*) , *i*2*k+*1-*q*4 (mod *<sup>p</sup>*) when number of

*D*(*G*)

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_g**

Number of nodes

theory real

An example is shown in Fig. 21, and the number of nodes in the layers of an optimal graph

*d* 1 2 3 4 5 6 7 8 *pdo* 5 18 64 196 524 1244 2636 5068

*d* 1 2 3 4 5 6 7 8 *pdo* 5 16 48 136 358 868 1908 3804

Fig. 21. Example of modified chordal ring CHR5\_h(20; 4,4,8,8,10)

Table 21. The number of nodes appearing in layers when *p* is not divided by 8

Table 22. The number of nodes appearing in layers when *p* is divided by 8

100 nodes.

*dav*

CHR5\_g

1 1,5 2 2,5 3 3,5

**Graph CHR5\_h.** 

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_g**

node is equal to 3 mod 4.

is shown in tables 21 and 22.

The total number of nodes *po* in the optimal graph can be calculated using the expressions:

$$\begin{aligned} \text{When} \quad d &= 0 \text{ (mod 3) then } \ p\_o = \frac{1}{3}D(\text{G})^4 + \frac{2}{3}D(\text{G})^3 + 2D(\text{G})^2 + \frac{2}{3}D(\text{G}) - 1\\ \text{when} \quad d &= 1 \text{ (mod 3) and } d \text{ ) } 2 \text{ then } \ p\_o = \frac{1}{3}D(\text{G})^4 + \frac{2}{3}D(\text{G})^3 + \frac{20}{9}D(\text{G})^2 + \frac{5}{9}D(\text{G}) + \frac{2}{9} \\ \text{when} \quad d &= 2 \text{ (mod 3) and } d \text{ ) } 2 \text{ then } \ p\_o = \frac{1}{3}D(\text{G})^4 + \frac{2}{3}D(\text{G})^3 + 2D(\text{G})^2 + \frac{4}{3}D(\text{G}) + \frac{2}{3} \end{aligned} \tag{43}$$

In Table 20 the total number of nodes in optimal graphs described by formula given above is shown.


Table 20. Diameters and total numbers of nodes in optimal graphs

The average path length in the optimal graphs as a function of its diameter can be calculated using equations (44).

54 32 4 32 5 ( ) 0 (mod 3) ( ) ( ) 124 ( ) ( ) 47 ( ) 64,8 54 <sup>10</sup> <sup>4</sup> 3 3 33 3 15 3 1 () 2 () () 2 <sup>2</sup> () 2 33 33 3 9 ( ) 1 (mod 3) ()1 ()1 64,8 <sup>54</sup> 3 3 *avo avo When D G DG DG DG DG DG d DG DG DG D G when D G D G D G d* 4 32 43 2 43 2 124 ( ) 1 ( ) 1 <sup>14</sup> 33 3 1 ( ) 1 2 ( ) 1 20 ( ) 1 5 7 ()1 3 3 3 3 9 3 27 <sup>9</sup> 43 ( ) 1 <sup>4</sup> 15 3 1 ( ) 1 2 ( ) 1 20 ( ) 1 5 7 ()1 3 3 3 3 9 3 27 <sup>9</sup> ( ) 2 (mod 3) *D G D G DG DG D G D G D G DG DG D G D G when D G* 54 32 4 32 4 3 ( ) 2 ( ) 2 574 ( ) 2 ( ) 2 64,8 <sup>162</sup> <sup>117</sup> 3 3 33 3 1 () 2 2 () 2 () 2 4 1 <sup>2</sup> () 2 33 33 3 9 3 523 ( ) 2 <sup>1</sup> 15 3 1 () 2 2 () 2 () 2 <sup>2</sup> 33 33 3 *avo D G D G D G D G d DG DG DG D G D G DG DG DG* <sup>2</sup> 4 1 () 2 9 3 *D G* (44)

Fig. 20 shows diameter and average path lengths in theoretical and real graphs with up to 100 nodes.

Fig. 20. Comparison of diameter and average path length of theoretical and real graphs CHR5\_g

### **Graph CHR5\_h.**

64 New Frontiers in Graph Theory

4 32

1 2 20 5 2 1 (mod3) 2 () () () () 3 3 9 99

1 2 42 2 (mod3) 2 () () 2() () 3 3 33

In Table 20 the total number of nodes in optimal graphs described by formula given above is

*D*(*G*) 1 2 3 4 5 6 7 8 *po* 6 22 64 166 349 651 1142 1846

The average path length in the optimal graphs as a function of its diameter can be calculated

54 32

 

43 2

*DG DG D G D G*

43 ( ) 1 <sup>4</sup> 15 3

*D G*

1 ( ) 1 2 ( ) 1 20 ( ) 1 5 7 ()1 3 3 3 3 9 3 27 <sup>9</sup>

523 ( ) 2 <sup>1</sup> 15 3

*D G*

1 ( ) 1 2 ( ) 1 20 ( ) 1 5 7 ()1 3 3 3 3 9 3 27 <sup>9</sup>

4 32

*DG DG DG D G*

( ) 2 ( ) 2 574 ( ) 2 ( ) 2 64,8 <sup>162</sup> <sup>117</sup> 3 3 33 3

*D G D G D G D G*

1 () 2 2 () 2 () 2 4 1 <sup>2</sup> () 2 33 33 3 9 3

43 2

*DG DG D G D G*

( ) ( ) 124 ( ) ( ) 47 ( ) 64,8 54 <sup>10</sup> <sup>4</sup> 3 3 33 3 15 3

*DG DG DG DG DG*

1 () 2 () () 2 <sup>2</sup> () 2 33 33 3 9

*DG DG DG D G*

4 32

43 2

(43)

4 32

(44)

<sup>2</sup> 4 1 () 2 9 3

54 32

*D G*

4 32

124 ( ) 1 ( ) 1 <sup>14</sup> 33 3

*D G D G*

The total number of nodes *po* in the optimal graph can be calculated using the expressions:

12 2 0 (mod3) () () 2() () 1 33 3

*o*

*when d and d then p D G D G D G D G*

*When d then p D G D G D G D G*

*o*

*when d and d then p D G D G D G D G*

*o*

Table 20. Diameters and total numbers of nodes in optimal graphs

5

*D G D G*

4 3

*DG DG DG*

1 () 2 2 () 2 () 2 <sup>2</sup> 33 33 3

()1 ()1 64,8 <sup>54</sup> 3 3

( ) 0 (mod 3)

( ) 1 (mod 3)

( ) 2 (mod 3)

shown.

using equations (44).

*When D G*

*when D G*

*when D G*

*avo*

*d*

*avo*

*d*

*avo*

*d*

Definition 12. The modified fifth degree chordal ring called CHR5\_h is denoted by CHR5\_h(*p*; *q*1,*q*2,*q*3,*q*4,*q*5), where *p* means the number of nodes and is positive and divisible by 4; *q*1, *q*2, *q*3, *q*<sup>4</sup> are chords which possess even lengths less then *p*/2, *q5=p/2*. Even node *i*2*<sup>k</sup>* is connected to five other nodes: *i*2*<sup>k</sup>*-1, *i*2*k*+1, *i*2*k*+*q5*(mod *<sup>p</sup>*) and to *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*) when number of node is equal to 0 mod 4 or to *i*2*k*+*q*2(mod *<sup>p</sup>*), *i*2*k*-*q*2(mod *<sup>p</sup>*) when number of node is equal to 2 mod 4, while odd node *i*2*<sup>k</sup>*+1 is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*5(mod *<sup>p</sup>*) and *i*2*k*+1+*q*3(mod *<sup>p</sup>*), *i*2*k*+1-*q*3(mod *p*) when number of node is equal to 1 mod 4 or to *i*2*k+*1+*q*4 (mod *p*) , *i*2*k+*1-*q*4 (mod *<sup>p</sup>*) when number of node is equal to 3 mod 4.

An example is shown in Fig. 21, and the number of nodes in the layers of an optimal graph is shown in tables 21 and 22.

Fig. 21. Example of modified chordal ring CHR5\_h(20; 4,4,8,8,10)


Table 21. The number of nodes appearing in layers when *p* is not divided by 8


Table 22. The number of nodes appearing in layers when *p* is divided by 8

Analysis of Modified Fifth Degree Chordal Rings 67

*dav*

Fig. 22. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

theory real

Fig. 22 shows diameter and average path lengths in theoretical and real graphs with up to

1 1,5 2 2,5 3 3,5

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_h**

Number of nodes

theory real

There are only three chordal rings which possess basic parameters equal to parameters of theoretical graphs: These are: CHR5\_h(12; 4,4,4,4,6), CHR5\_h(40; 4,12,4,12,20) and

Definition 13. The modified fifth degree chordal ring called CHR5\_i is denoted by CHR5\_i(*p*; *q*1,*q*2,*q*3,*q*4), where *p* means the number of nodes and is positive and divisible by 4; *q1, q2, q3, q4* are chords which possess: *q1,* odd length and *q2, q3, q4 -* even lengths less then *p/2*. Each node is connected to five other nodes. Even node *i*2*<sup>k</sup>* is connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *p*) and *i*2*k*+*q2*(mod *<sup>p</sup>*), while odd node *i*(2*<sup>k</sup>*+1)=1(mod4) is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*2(mod *p*)*, i*2*k*+1+*q*3(mod *<sup>p</sup>*), *i*2*k*+1-*q*3(mod *<sup>p</sup>*) and odd node *i*(2*<sup>k</sup>*+1)=3(mod4) is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*2(mod *p*)*, i*2*k*+1+*q*4(mod *<sup>p</sup>*), *i*2*k*+1-

An example of a CHR5\_i is shown in Fig. 23. The distribution of nodes in the layers depends

*d* 1 2 3 4 5 6 7 8 Node number

5 20 63 190 465 1010 2001 3594 even 5 20 69 196 493 1094 2141 3790 odd

Fig. 23. Example of modified chordal ring CHR5\_i(20; 5,6,4,8)

Table 24. Maximal number of nodes in the layers

on whether the graph is seen from odd or even node in Table 24 is given.

CHR5\_h

1

2

3

4

5

*D*(*G*)

100 nodes.

CHR5\_h(44; 4,8,12,16,22).

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_h**

**Graph CHR5\_i.** 

*<sup>q</sup>*4(mod *<sup>p</sup>*).

*pdo* 

The number of nodes in the layers, as shown in Tables 21 and 22, can be described by the following expression:

$$\begin{aligned} \text{When} \quad &d > 5 \text{ and } p \text{ is not divisible by 8 then} \\ p\_{do} &= \frac{8}{3}d^4 - \frac{16}{3}d^3 + 154\frac{2}{3}d^2 + 1133\frac{8}{3}d - 2292 \\ \text{when} \quad &d > 7 \text{ and } p \text{ is divisible by 8 then} \\ p\_{do} &= \frac{8}{3}d^4 - \frac{16}{3}d^3 - 266\frac{2}{3}d^2 + 2285\frac{1}{3}d - 5604 \end{aligned} \tag{45}$$

In Table 23 the total number of nodes in optimal graphs described by expression given above is shown.


Table 23. Total numbers of nodes forming optimal graphs versus diameter

$$\begin{aligned} \text{When} \quad &D(\text{G}) > 4 \text{ and } p \text{ is not divisible by 8 then} \\ p\_o = \frac{8}{15} D(\text{G})^5 - \frac{160}{3} D(\text{G})^3 + 488d^2 + 1751\frac{1}{5}d + 2364 \\ \text{when} \quad &D(\text{G}) > 6 \text{ and } p \text{ is divisible by 8 then} \\ p\_o = \frac{8}{15} D(\text{G})^5 - \frac{272}{3} D(\text{G})^3 - 1008\frac{2}{3} D(\text{G})^2 + 4505 \frac{13}{15} D(\text{G}) + 7624 \end{aligned} \tag{46}$$

The average path length in optimal graphs:

() 4 8 *When D G and p is not divisible by* 

$$\begin{split} d\_{adv} &= \frac{\frac{4}{9}D(\text{G})^6 + \frac{4}{15}D(\text{G})^5 - 40\frac{2}{9}D(\text{G})^4 + 298\frac{2}{3}D(\text{G})^3 - 618\frac{2}{9}D(\text{G})^2 - 956\frac{14}{15}D(\text{G}) + \\ &\quad \frac{8}{15}D(\text{G})^5 - \frac{160}{3}D(\text{G})^3 + 488d^2 + 1751\frac{1}{5}d + 2363 \\ &\quad + \frac{3905}{15}D(\text{G})^5 - \frac{160}{3}D(\text{G})^3 + 488d^2 + 1751\frac{1}{5}d + 2363 \\ \text{When } D(\text{G}) &> 4 \text{ and } p \text{ is divisible by 8} \\ d\_{adv} &= \frac{\frac{4}{9}D(\text{G})^6 + \frac{4}{15}D(\text{G})^5 - 68\frac{2}{3}D(\text{G})^4 + 626\frac{2}{3}D(\text{G})^3 + 1726\frac{2}{9}D(\text{G})^2 - 2420\frac{14}{15}D(\text{G}) \\ &\quad d\_{adv} &= \frac{\frac{4}{9}D(\text{G})^6 + \frac{272}{15}D(\text{G})^3 - 1008\frac{2}{3}D(\text{G})^2 + 4505\frac{13}{15}d + 7623 \\ &\quad + \frac{14695}{15}D(\text{G})^5 - \frac{272}{3}D(\text{G})^3 - 1008\frac{2}{3}D(\text{G})^2 + 4505\frac{13}{15}d + 7623 \end{split}$$

Fig. 22. Comparison of diameter and average path length of theoretical and real graphs CHR5\_h

Fig. 22 shows diameter and average path lengths in theoretical and real graphs with up to 100 nodes.

There are only three chordal rings which possess basic parameters equal to parameters of theoretical graphs: These are: CHR5\_h(12; 4,4,4,4,6), CHR5\_h(40; 4,12,4,12,20) and CHR5\_h(44; 4,8,12,16,22).

### **Graph CHR5\_i.**

66 New Frontiers in Graph Theory

The number of nodes in the layers, as shown in Tables 21 and 22, can be described by the

5 8 8 16 2 8 154 1133 2292

8 16 2 1 266 2285 5604

*D*(*G*) 1 2 3 4 5 6 7 8 *po* is not divisible by 8 6 24 88 284 808 2052 4688 9756 *po* is divisible by 8 6 22 70 206 564 1432 3340 7144

(45)

(46)

(47)

43 2

Table 23. Total numbers of nodes forming optimal graphs versus diameter

5 32

*p DG DG d d*

*when D G and p is divisible by then*

() 4 8

3905 8 160 <sup>1</sup> ( ) ( ) 488 1751 2363 15 3 <sup>5</sup>

*When D G and p is not divisible by then*

() 6 8

() 4 8

53 2

*p DG DG DG DG*

65 4 3 2

4 4 <sup>2</sup> <sup>2</sup> <sup>2</sup> <sup>14</sup> ( ) ( ) 40 ( ) 298 ( ) 618 ( ) 956 ( ) 9 15 9 <sup>3</sup> <sup>9</sup> <sup>15</sup>

*DG DG DG DG DG DG*

8 160 <sup>1</sup> ( ) ( ) 488 1751 2363 15 3 <sup>5</sup>

*DG DG d d*

65 4 3 2

4 4 <sup>2</sup> <sup>2</sup> <sup>2</sup> <sup>14</sup> ( ) ( ) 68 ( ) 626 ( ) 1726 ( ) 2420 ( ) 9 15 3 <sup>3</sup> <sup>9</sup> <sup>15</sup>

*DG DG DG DG DG DG*

8 272 <sup>2</sup> <sup>13</sup> ( ) ( ) 1008 ( ) 4505 7623 15 3 <sup>3</sup> <sup>15</sup>

*DG DG DG d*

 

8

*e by*

53 2

 

5 32

8 272 <sup>2</sup> <sup>13</sup> ( ) ( ) 1008 ( ) 4505 ( ) 7624 15 3 <sup>3</sup> <sup>15</sup>

8 160 <sup>1</sup> ( ) ( ) 488 1751 2364 15 3 <sup>5</sup>

*pd d d d when d and p is divisible by then*

*do*

*do*

33 3 3 7 8

*When d and p is not divisible by then*

33 3 3

In Table 23 the total number of nodes in optimal graphs described by expression given

43 2

*pd d d d*

following expression:

above is shown.

*o*

*o*

() 4

*When D G and p is divisibl*

*avo*

*avo*

*d*

*d*

The average path length in optimal graphs:

*When D G and p is not divisible by*

5 32

*DG DG d d*

53 2

14695 8 272 <sup>2</sup> <sup>13</sup> ( ) ( ) 1008 ( ) 4505 7623 15 3 <sup>3</sup> <sup>15</sup>

*DG DG DG d*

Definition 13. The modified fifth degree chordal ring called CHR5\_i is denoted by CHR5\_i(*p*; *q*1,*q*2,*q*3,*q*4), where *p* means the number of nodes and is positive and divisible by 4; *q1, q2, q3, q4* are chords which possess: *q1,* odd length and *q2, q3, q4 -* even lengths less then *p/2*. Each node is connected to five other nodes. Even node *i*2*<sup>k</sup>* is connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *p*) and *i*2*k*+*q2*(mod *<sup>p</sup>*), while odd node *i*(2*<sup>k</sup>*+1)=1(mod4) is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*2(mod *p*)*, i*2*k*+1+*q*3(mod *<sup>p</sup>*), *i*2*k*+1-*q*3(mod *<sup>p</sup>*) and odd node *i*(2*<sup>k</sup>*+1)=3(mod4) is connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*2(mod *p*)*, i*2*k*+1+*q*4(mod *<sup>p</sup>*), *i*2*k*+1 *<sup>q</sup>*4(mod *<sup>p</sup>*).

Fig. 23. Example of modified chordal ring CHR5\_i(20; 5,6,4,8)

An example of a CHR5\_i is shown in Fig. 23. The distribution of nodes in the layers depends on whether the graph is seen from odd or even node in Table 24 is given.


Table 24. Maximal number of nodes in the layers

Analysis of Modified Fifth Degree Chordal Rings 69

Fig. 24 shows diameter and average path lengths in theoretical and real graphs with up to

For graphs with less than 72 nodes it is possible to find real graphs with parameters close to those of ideal graphs. However the difference becomes bigger for larger graphs. The differences seem to come from the different path lengths calculated from odd and even

nodes *q*1 *q*<sup>2</sup> *<sup>q</sup>*3 *q*<sup>4</sup> *dav* 12 5 2 4 4 1,545 16 7 2 4 4 1,667 36 13 10 16 16 2,143 40 9 6 12 12 2,231 44 9 6 12 20 2,302 48 5 10 20 20 2,362 52 5 10 20 20 2,412

Definition 14. The modified fifth degree chordal ring called CHR5\_j is denoted by CHR5\_j(*p*; *q*1,*q*2,*q*3,*q*4), where *p* is the number of nodes. It must be positive and divisible by 4. Chords *q*<sup>1</sup> and *q*2 have odd lengths; *q*3 and *q*4 possess even lengths, all chords lengths are less then *p*/2. Each node is connected to five other nodes. Even nodes *i*2*<sup>k</sup>* are connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1 and to *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*) and *i*2*k*+*q3*(mod *<sup>p</sup>*) when 2*k* = 0 (mod4) or to *i*2*k*-*q3*(mod *<sup>p</sup>*) when 2*k* = 2 (mod4); while odd nodes *i*(2*<sup>k</sup>*+1) are connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*1(mod *p*)*, i*2*k*+1-*q*2(mod *<sup>p</sup>*) and to *i*2*k*+1+*q*4(mod *p*)

Based on going through all the real graphs, the distribution of nodes in the layers of CHR5\_j

d 1 2 3 4 5 6 7 8 pdo 5 20 62 174 375 718 1303 2136

The distribution of nodes in the layers of an optimal graph is described by expression:

nodes. The ideal graphs found are shown in table 26.

when 2*k*+1=1 (mod4) or to *i*2*k*+1-*q*4(mod *<sup>p</sup>*) when 2*k*+1 = 3 (mod4).

Fig. 25. Example of modified chordal ring CHR5\_j(20; 3,9,2,6)

Table 27. Maximal number of nodes in the successive layers

100 nodes.

Number of

**Graph CHR5\_j.** 

is as follows (Table 27):

Table 26. Ideal graphs CHR5\_i

The distribution of nodes in the layers can be described by the expression:

$$\begin{array}{ll}\text{When} & d > 4 \text{ and node number is even} \\ & p\_{do} = d^4 + 6d^2 - 192d + 650 \\ & \text{when} \quad d > 4 \text{ and node number is odd} \\ & p\_{do} = d^4 + 6d^2 - 136d + 398 \end{array} \tag{48}$$

The total number of nodes in optimal graphs calculated depending on the source node number, given in Table 25, can be expressed as follows:

$$\begin{aligned} \text{When} \quad &D(\text{G}) > 3 \text{ and } node \quad number \text{ is even} \\ p\_{o \text{ even}} &= \frac{D(\text{G})^5}{5} + \frac{D(\text{G})^4}{2} + \frac{7}{3}D(\text{G})^3 - 93D(\text{G})^2 + 554\frac{29}{30}D(\text{G}) - 935 \\ \text{when} \quad &D(\text{G}) > 3 \text{ and } node \quad number \text{ is odd} \\ p\_{o \text{ odd}} &= \frac{D(\text{G})^5}{5} + \frac{D(\text{G})^4}{2} + \frac{7}{3}D(\text{G})^3 - 65D(\text{G})^2 + 330\frac{29}{30}D(\text{G}) - 475 \end{aligned} \tag{49}$$


Table 25. Total numbers of nodes in the optimal graphs

The average path length in optimal graphs is equal to:

$$d\_{avo} = \frac{d\_{avocon} + d\_{avomod}}{2} =$$

$$= \frac{\frac{D(\mathcal{G})^6}{6} + \frac{D(\mathcal{G})^5}{2} + 1\frac{11}{12}D(\mathcal{G})^4 - 42\frac{1}{3}D(\mathcal{G})^3 + 132\frac{5}{12}D(\mathcal{G})^2 + 176\frac{1}{3}D(\mathcal{G}) - 764}{12\left(\frac{D(\mathcal{G})^5}{5} + \frac{D(\mathcal{G})^4}{2} + \frac{7}{3}D(\mathcal{G})^3 - 93D(\mathcal{G})^2 + 554\frac{29}{30}D(\mathcal{G}) - 936\right)} + \tag{50}$$

$$+ \frac{\frac{D(\mathcal{G})^6}{6} + \frac{D(\mathcal{G})^5}{2} + 1\frac{11}{12}D(\mathcal{G})^4 - 64\frac{1}{3}D(\mathcal{G})^3 + 230\frac{5}{12}D(\mathcal{G})^2 + 293D(\mathcal{G}) - 1646}{2\left(\frac{D(\mathcal{G})^5}{5} + \frac{D(\mathcal{G})^4}{2} + \frac{7}{3}D(\mathcal{G})^3 - 65D(\mathcal{G})^2 + 330\frac{29}{30}D(\mathcal{G}) - 476\right)}$$

Fig. 24. Comparison of diameter and average path length of theoretical and real graphs CHR5\_i

Fig. 24 shows diameter and average path lengths in theoretical and real graphs with up to 100 nodes.

For graphs with less than 72 nodes it is possible to find real graphs with parameters close to those of ideal graphs. However the difference becomes bigger for larger graphs. The differences seem to come from the different path lengths calculated from odd and even nodes. The ideal graphs found are shown in table 26.


Table 26. Ideal graphs CHR5\_i

### **Graph CHR5\_j.**

68 New Frontiers in Graph Theory

The distribution of nodes in the layers can be described by the expression:

4

4

6 192 650

*When d and node number is even*

(48)

(49)

(50)

Number of nodes

theory real

*when d and node number is odd*

The total number of nodes in optimal graphs calculated depending on the source node

*D*(*G*) 1 2 3 4 5 6 7 8 Node number

6 26 89 279 744 1754 3755 7349 even 6 26 95 291 784 1878 4019 7809 odd

43 2

2

3 2

( ) ( ) 11 1 <sup>5</sup> 1 ( ) 61 ( ) 230 ( ) 293 ( ) 1646 6 2 12 3 <sup>12</sup>

5 4 () () 7 3 2 <sup>29</sup> ( ) 65 ( ) 330 ( ) 476 5 23 <sup>30</sup> *DG DG DG DG DG* 

*dav*

( ) ( ) 11 1 <sup>5</sup> <sup>1</sup> 1 ( ) 42 ( ) 132 ( ) 176 ( ) 764 6 2 12 <sup>3</sup> <sup>12</sup> <sup>3</sup>

 

*avoeven avoodd avo d d <sup>d</sup>*

() () 7 <sup>29</sup> <sup>2</sup> ( ) 93 ( ) 554 ( ) 936 5 23 <sup>30</sup>

*DG DG DG DG DG DG*

*DG DG DG DG DG*

*DG DG DG DG DG DG*

Fig. 24. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

1 1,25 1,5 1,75 2 2,25 2,5 2,75 3

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_i**

theory real

43 2

3 2

() () 7 <sup>29</sup> ( ) 93 ( ) 554 ( ) 935 5 23 <sup>30</sup>

3 2

() () 7 <sup>29</sup> ( ) 65 ( ) 330 ( ) 475 5 23 <sup>30</sup>

6 136 398

*p DG DG DG*

*p DG DG DG*

4 2

*pd d d*

 

*do*

*do*

number, given in Table 25, can be expressed as follows:

() 3

*DG DG*

() 3

*DG DG*

Table 25. Total numbers of nodes in the optimal graphs

The average path length in optimal graphs is equal to:

5 4

*o even*

*oodd*

6 5

6 5

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_i**

2

*D*(*G*)

CHR5\_i

*po*

4 2

5 4

5 4

*pd d d*

*When D G and node number is even*

*when D G and node number is odd*

Definition 14. The modified fifth degree chordal ring called CHR5\_j is denoted by CHR5\_j(*p*; *q*1,*q*2,*q*3,*q*4), where *p* is the number of nodes. It must be positive and divisible by 4. Chords *q*<sup>1</sup> and *q*2 have odd lengths; *q*3 and *q*4 possess even lengths, all chords lengths are less then *p*/2. Each node is connected to five other nodes. Even nodes *i*2*<sup>k</sup>* are connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1 and to *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*) and *i*2*k*+*q3*(mod *<sup>p</sup>*) when 2*k* = 0 (mod4) or to *i*2*k*-*q3*(mod *<sup>p</sup>*) when 2*k* = 2 (mod4); while odd nodes *i*(2*<sup>k</sup>*+1) are connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*1(mod *p*)*, i*2*k*+1-*q*2(mod *<sup>p</sup>*) and to *i*2*k*+1+*q*4(mod *p*) when 2*k*+1=1 (mod4) or to *i*2*k*+1-*q*4(mod *<sup>p</sup>*) when 2*k*+1 = 3 (mod4).

Fig. 25. Example of modified chordal ring CHR5\_j(20; 3,9,2,6)

Based on going through all the real graphs, the distribution of nodes in the layers of CHR5\_j is as follows (Table 27):


Table 27. Maximal number of nodes in the successive layers

The distribution of nodes in the layers of an optimal graph is described by expression:

Analysis of Modified Fifth Degree Chordal Rings 71

3 2

*DG DG DG <sup>d</sup>*

3 () 3 () 5 () <sup>57</sup> <sup>57</sup> <sup>77</sup> 4 3 4 3 12 3

7 ( ) 251 ( ) 101 ( ) <sup>39</sup> <sup>4</sup> <sup>2</sup> <sup>4</sup> 12 3 300 3 300 3

*DG DG DG*

3 2

*D G D G D G*

3 () 3 () 5 () <sup>57</sup> <sup>57</sup> <sup>77</sup> 4 3 4 3 12 3

3 2 5 () 1 () <sup>16</sup> <sup>2</sup> <sup>4</sup> 63 33 *DG DG* 

Fig. 27 shows diameter and average path lengths in theoretical and real graphs with up to

Fig. 26. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

theory real

There are a few graphs having values of basic parameters equal to those of ideal graphs. For example: CHR5\_j(44; 5,17,14,22), CHR5\_j(48; 5,17,14,22), CHR5\_j(52; 5,15,18,26), CHR5\_j(56;

1

1,5

2

2,5

3

*dav*

Among all graphs belonging to the second group the best parameters (minimal diameter and minimal average path length given the number of nodes) were found in CHR5\_i but other in minimal degree are slightly different it (especially from CHR5\_j). In Fig. 27 the

*DG DG DG <sup>d</sup>*

3 () 1 1 () 1 ()1 <sup>261</sup> <sup>146</sup> <sup>42</sup> <sup>1</sup> 43 33 3

( ) 2 ( ) 0 (mod3)

*When D G and D G then*

6

( ) 2 ( ) 1 (mod3)

( ) 2 ( ) 2 (mod3)

*when D G and D G then*

*when D G and D G then*

3 ()1 <sup>57</sup> <sup>17</sup> 4 3

*avo*

*avo*

*avo*

100 nodes.

CHR5\_j

1

2

3

4

5

*D(G)*

7,19,10,22).

*D G <sup>d</sup>*

11 ( ) <sup>42</sup> 12 3

**CHR5\_j**

 

0 10 20 30 40 50 60 70 80 90 100

*D G*

comparison of the second group of graphs is shown.

65 4

65 4

5 4

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_j**

(53)

Number of nodes

theory real

1 ( ) 1 11 ( ) 1 <sup>3</sup> <sup>272</sup> 4 3 12 3

*D G D G*

2 0 (mod3) *When d and d then* 

$$\begin{aligned} p\_{d\phi} &= \frac{77}{162} \left( \frac{d}{3} \right)^4 + 27 \frac{1}{2} \left( \frac{d}{3} \right)^2 - 4\\ \text{when } d \text{ } 2 \text{ and } d &= 1 \text{ (mod 3) then} \\ p\_{d\phi} &= \frac{77}{162} \left( \frac{d-1}{3} \right)^4 + 52 \frac{1}{3} \frac{d-1}{3} \Big)^3 + 53 \frac{1}{2} \Big( \frac{d-1}{3} \Big)^2 + 24 \frac{2}{3} \Big( \frac{d-1}{3} \Big) + 5 \\ \text{when } d \text{ } 2 \text{ and } d &= 2 \text{ (mod 3) then} \\ p\_{d\phi} &= \frac{77}{162} \left( \frac{d-2}{3} \right)^4 + 101 \frac{2}{3} \Big( \frac{d-2}{3} \right)^3 + 129 \frac{1}{2} \Big( \frac{d-2}{3} \Big)^2 + 83 \frac{1}{3} \Big( \frac{d-2}{3} \Big)^2 + 22 \end{aligned} \tag{51}$$

In Table 28 the total number of nodes in virtual, optimal graphs is shown as function of diameter.


Table 28. Total numbers of nodes in optimal graphs versus diameter

The total number of nodes in optimal graphs calculated as a function of its diameter can be expressed as follows:

$$\begin{aligned} \text{When } \operatorname{D(G)} \text{ } 2 \text{ and } \operatorname{D(G)} &= 0 \text{ (mod 3) then} \\ p\_o &= 23 \frac{1}{10} \Big[ \frac{\operatorname{D(G)}}{3} \Big]^5 + 19 \frac{1}{4} \Big[ \frac{\operatorname{D(G)}}{3} \Big]^4 + 31 \frac{2}{3} \Big( \frac{\operatorname{D(G)}}{3} \Big)^3 + \\ &+ 12 \frac{3}{4} \Big[ \frac{\operatorname{D(G)}}{3} \Big]^2 + 2 \frac{7}{30} \Big[ \frac{\operatorname{D(G)}}{3} \Big] - 1 \\ \text{when } \operatorname{D(G)} &\text{ } 2 \text{ and } \operatorname{D(G)} = 1 \text{ (mod 3) then} \\ p\_o &= 23 \frac{1}{10} \Big[ \frac{\operatorname{D(G)} - 1}{3} \Big]^5 + 57 \frac{3}{4} \Big[ \frac{\operatorname{D(G)} - 1}{3} \Big]^4 + 84 \Big[ \frac{\operatorname{D(G)} - 1}{3} \Big]^3 + \\ &+ 66 \frac{1}{4} \Big[ \frac{\operatorname{D(G)} - 1}{3} \Big]^2 + 26 \frac{8}{9} \Big[ \frac{\operatorname{D(G)} - 1}{3} \Big] + 4 \end{aligned} \tag{52}$$

( ) 2 ( ) 2 (mod3) *when D G and D G then* 

$$\begin{split} p\_o &= 23 \frac{1}{10} \Big( \frac{D(\mathcal{G}) - 2}{3} \Big)^5 + 96 \frac{1}{4} \Big( \frac{D(\mathcal{G}) - 2}{3} \Big)^4 + 185 \frac{2}{3} \Big( \frac{D(\mathcal{G}) - 2}{3} \Big)^3 + \\ &+ 195 \frac{3}{4} \Big( \frac{D(\mathcal{G}) - 2}{3} \Big)^2 + 110 \frac{7}{30} \Big( \frac{D(\mathcal{G}) - 2}{3} \Big) + 26 \end{split}$$

The average path length in optimal graphs is described by (53):

70 New Frontiers in Graph Theory

432

77 1 1 1 1 1 2 1 <sup>52</sup> <sup>53</sup> 24 5 162 3 3 3 2 3 3 3

In Table 28 the total number of nodes in virtual, optimal graphs is shown as function of

*d*(*G*) 1 2 3 4 5 6 7 8 *pdo* 6 26 88 262 637 1355 2658 4794

The total number of nodes in optimal graphs calculated as a function of its diameter can be

543

5 4

*D G D G D G*

1 () 2 1 () 2 2 () 2 <sup>23</sup> <sup>96</sup> <sup>185</sup> 10 3 4 3 3 3

*D G D G D G*

 

54 3

1 ()1 3 () 1 () 1 <sup>23</sup> <sup>57</sup> <sup>84</sup> 10 3 4 3 3

 

3 22 2 12 12 <sup>129</sup> <sup>83</sup> <sup>22</sup>

3

( 52 )

 

(51)

3 23 33 *d d* 

*dddd*

 

4 2

77 1 27 4 162 3 2 3

*When d and d then d d*

*do*

*p*

*do*

*p*

*do*

*p*

expressed as follows:

*o*

*p*

*o*

*o*

*p*

*p*

diameter.

2 1 (mod3)

*when d and d then*

 

2 0 (mod3)

4

 

*when d and d then*

77 2 2 <sup>101</sup> 162 3 3

2 2 (mod3)

*d d*

Table 28. Total numbers of nodes in optimal graphs versus diameter

( ) 2 ( ) 0 (mod3)

*When D G and D G then*

1 () 1 () 2 () <sup>23</sup> <sup>19</sup> <sup>31</sup> 10 3 4 3 3 3

 

*DG DG DG*

2

 

3 () 7 () <sup>12</sup> <sup>2</sup> <sup>1</sup> 4 3 30 3

*DG DG*

( ) 2 ( ) 1 (mod3)

*when D G and D G then*

2

*when D G and D G then*

The average path length in optimal graphs is described by (53):

*D G D G*

 

1 ()1 8 ()1 <sup>66</sup> <sup>26</sup> <sup>4</sup> 43 93 ( ) 2 ( ) 2 (mod3)

2

3 () 2 7 () 2 <sup>195</sup> <sup>110</sup> <sup>26</sup> 4 3 30 3

*D G D G*

 

$$\begin{aligned} \text{When } \operatorname{D(G)} \backslash 2 \text{ and } \operatorname{D(G)} &= 0 \text{ (mod 3) then} \\ d\_{\text{ave}} &= 57 \frac{3}{4} \Big( \frac{D(\mathcal{G})}{3} \Big)^6 + 57 \frac{3}{4} \Big( \frac{D(\mathcal{G})}{3} \Big)^5 + 77 \frac{5}{12} \Big( \frac{D(\mathcal{G})}{3} \Big)^4 + \\ &+ 39 \frac{7}{12} \Big( \frac{D(\mathcal{G})}{3} \Big)^3 + 4 \frac{251}{300} \Big( \frac{D(\mathcal{G})}{3} \Big)^2 - 2 \frac{101}{300} \Big( \frac{D(\mathcal{G})}{3} \Big) - 4 \\ \text{when } \operatorname{D(G)} \backslash 2 \text{ and } \operatorname{D(G)} &= 1 \text{ (mod 3) then} \\ \text{...} \end{aligned}$$

$$\begin{aligned} d\_{\text{aro}} &= 57 \frac{3}{4} \Big( \frac{D(\text{G}) - 1}{3} \Big)^6 - 173 \frac{1}{4} \Big( \frac{D(\text{G}) - 1}{3} \Big)^5 + 272 \frac{11}{12} \Big( \frac{D(\text{G}) - 1}{3} \Big)^4 + \\ &- 261 \frac{3}{4} \Big( \frac{D(\text{G}) - 1}{3} \Big)^3 + 146 \frac{1}{3} \Big( \frac{D(\text{G}) - 1}{3} \Big)^2 - 42 \Big( \frac{D(\text{G}) - 1}{3} \Big) + 1 \\ \text{when} & D(\text{G}) \ge 2 \text{ and } D(\text{G}) = 2 \text{ (mod 3) then} \\ &= 2 \times \text{min}^6 \quad \text{for} \quad \text{and} \quad 2 \times \text{max}^5 \quad \text{for} \quad \text{and} \end{aligned}$$

$$d\_{avo} = 57 \frac{3}{4} \left(\frac{D(\mathcal{G})}{3}\right)^6 - 57 \frac{3}{4} \left(\frac{D(\mathcal{G})}{3}\right)^5 + 77 \frac{5}{12} \left(\frac{D(\mathcal{G})}{3}\right)^4 + \cdots$$

$$-42 \frac{11}{12} \left(\frac{D(\mathcal{G})}{3}\right)^3 + 16 \frac{5}{6} \left(\frac{D(\mathcal{G})}{3}\right)^2 - 2 \frac{1}{3} \left(\frac{D(\mathcal{G})}{3}\right) - 4$$

Fig. 27 shows diameter and average path lengths in theoretical and real graphs with up to 100 nodes.

Fig. 26. Comparison of diameter and average path length of theoretical and real graphs CHR5\_j

There are a few graphs having values of basic parameters equal to those of ideal graphs. For example: CHR5\_j(44; 5,17,14,22), CHR5\_j(48; 5,17,14,22), CHR5\_j(52; 5,15,18,26), CHR5\_j(56; 7,19,10,22).

Among all graphs belonging to the second group the best parameters (minimal diameter and minimal average path length given the number of nodes) were found in CHR5\_i but other in minimal degree are slightly different it (especially from CHR5\_j). In Fig. 27 the comparison of the second group of graphs is shown.

Analysis of Modified Fifth Degree Chordal Rings 73

Using the results shown in Table 29, the counted total number of nodes in virtual optimal

*D*(*G*) 1 2 3 4 5 6 7 8 *po* 6 26 106 390 1285 3805 10138 24472

In Fig. 29 comparison of diameter and average path length of theoretical and real graphs

Fig. 29. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

theory real

Only three graphs with average distance and diameter equal to those of ideal graphs can be found. These are CHR5\_k(12; 4,4,4,4,2,6), CHR5\_k(44; 4,8,12,16,18,22), CHR5\_k(52;

1

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_k**

Number of nodes

theory real

1,5

2

2,5

3

*dav*

Definition 16. The modified fifth degree chordal ring called CHR5\_l is denoted by CHR5\_l(*p*; *q*1,*q*2,*q*3,*q*4,*q*5), where *p* means the number of nodes and is positive and divisible by 4. Chord *q*<sup>1</sup> has odd length, other chords have even length. The lengths of all chords are less than *p*/2. Each node is connected to five other nodes. Even nodes *i*2*<sup>k</sup>* are connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1 and to *i*2*k*+*q*1(mod *<sup>p</sup>*) and to *i*2*k*+*q*2(mod *p*), *i*2*k*+*q*3(mod *<sup>p</sup>*) when 2*k* = 0 (mod4) or to *i*2*k*-*q*2(mod *<sup>p</sup>*), *i*2*k*-*q*3(mod *<sup>p</sup>*) when 2*k* = 2 (mod4); while odd nodes *i*(2*<sup>k</sup>*+1) are connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*1(mod *p*)*,* and to *i*2*k*+1+*q*4(mod *<sup>p</sup>*), *i*2*k*+1+*q*5(mod *<sup>p</sup>*) when 2*k*+1 = 1 (mod4) or to *i*2*k*+1-*q*4(mod *<sup>p</sup>*), *i*2*k*+1-*q*5(mod *<sup>p</sup>*) when 2*k*+1 = 3 (mod4).

Table 30. Total numbers of nodes forming optimal graphs versus diameter

graphs is presented in table 30.

CHR5\_k is shown.

CHR5\_k

1

2

3

4

5

*D*(*G*)

4,8,12,16,22,26). **Graph CHR5\_l.** 

An example is shown in Fig. 30.

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_k**

Fig. 30.Example of modified chordal ring CHR5\_l(16; 7,6,2,2,6)

Fig. 27. Comparison of basic parameters of the chordal rings belonging to the second group of graphs

### **3.3 Analysed graphs – Third group**

There are a number of other topologies, for which we have not found any nice expressions for the distribution of nodes in layers, and thus no expressions of the average distance and diameter could be derived. Due to the good basic parameters the topologies have been described, but further research is needed in order to provide more precise descriptions.

### **Graph CHR5\_k.**

Definition 15. The modified fifth degree chordal ring called CHR5\_k is denoted by CHR5\_k(p; q1,q2,q3,q4,q5,q6), where p is the number of nodes. It must be positive and divisible by 4. All chords have even lengths less than p/2. Each node is connected to five other nodes. Even nodes i2k are connected to i2k-1, i2k+1 and to i2k+q1(mod p), i2k-q1(mod p), i2k+q5(mod p) when 2k = 0 (mod4) or to i2k+q2(mod p), i2k-q2(mod p), i2k-q5(mod p) when 2k = 2 (mod4); while odd nodes i(2k+1) are connected to i2k, i2k+2 and to i2k+1+q3(mod p), i2k+1-q3(mod p), i2k+1+q6(mod p) when 2k+1 = 1 (mod4) or to i2k+1+q4(mod p), i2k+1-q4(mod p), i2k+1-q6(mod p) when 2k+1 = 3 (mod4).

An example is shown in Fig. 28.

Fig. 28. Example of modified chordal ring CHR5\_k(20; 4,8,4,8,2,6)

In Table 29 the distribution of nodes in layers is shown, based on observations of all graphs.


Table 29. Maximal number of nodes in the successive layers

72 New Frontiers in Graph Theory

*dav*

Fig. 27. Comparison of basic parameters of the chordal rings belonging to the second group

1 1,5 2 2,5 3 3,5 4

0 10 20 30 40 50 60 70 80 90 100

Number of nodes

CHR5 CHR5\_f CHR5\_g CHR5\_h CHR5\_i CHR5\_j

Number of nodes

CHR5 CHR5\_f CHR5\_g CHR5\_h CHR5\_i CHR5\_j

There are a number of other topologies, for which we have not found any nice expressions for the distribution of nodes in layers, and thus no expressions of the average distance and diameter could be derived. Due to the good basic parameters the topologies have been described, but further research is needed in order to provide more precise descriptions.

Definition 15. The modified fifth degree chordal ring called CHR5\_k is denoted by CHR5\_k(p; q1,q2,q3,q4,q5,q6), where p is the number of nodes. It must be positive and divisible by 4. All chords have even lengths less than p/2. Each node is connected to five other nodes. Even nodes i2k are connected to i2k-1, i2k+1 and to i2k+q1(mod p), i2k-q1(mod p), i2k+q5(mod p) when 2k = 0 (mod4) or to i2k+q2(mod p), i2k-q2(mod p), i2k-q5(mod p) when 2k = 2 (mod4); while odd nodes i(2k+1) are connected to i2k, i2k+2 and to i2k+1+q3(mod p), i2k+1-q3(mod p), i2k+1+q6(mod p) when 2k+1

In Table 29 the distribution of nodes in layers is shown, based on observations of all graphs.

*d* 1 2 3 4 5 6 7 8 *pdo* 5 20 80 284 895 2520 6333 14334

= 1 (mod4) or to i2k+1+q4(mod p), i2k+1-q4(mod p), i2k+1-q6(mod p) when 2k+1 = 3 (mod4).

Fig. 28. Example of modified chordal ring CHR5\_k(20; 4,8,4,8,2,6)

Table 29. Maximal number of nodes in the successive layers

of graphs

*D*(*G*)

**Graph CHR5\_k.** 

**3.3 Analysed graphs – Third group** 

0 10 20 30 40 50 60 70 80 90 100

An example is shown in Fig. 28.

Using the results shown in Table 29, the counted total number of nodes in virtual optimal graphs is presented in table 30.


Table 30. Total numbers of nodes forming optimal graphs versus diameter

In Fig. 29 comparison of diameter and average path length of theoretical and real graphs CHR5\_k is shown.

Fig. 29. Comparison of diameter and average path length of theoretical and real graphs CHR5\_k

Only three graphs with average distance and diameter equal to those of ideal graphs can be found. These are CHR5\_k(12; 4,4,4,4,2,6), CHR5\_k(44; 4,8,12,16,18,22), CHR5\_k(52; 4,8,12,16,22,26).

### **Graph CHR5\_l.**

Definition 16. The modified fifth degree chordal ring called CHR5\_l is denoted by CHR5\_l(*p*; *q*1,*q*2,*q*3,*q*4,*q*5), where *p* means the number of nodes and is positive and divisible by 4. Chord *q*<sup>1</sup> has odd length, other chords have even length. The lengths of all chords are less than *p*/2. Each node is connected to five other nodes. Even nodes *i*2*<sup>k</sup>* are connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1 and to *i*2*k*+*q*1(mod *<sup>p</sup>*) and to *i*2*k*+*q*2(mod *p*), *i*2*k*+*q*3(mod *<sup>p</sup>*) when 2*k* = 0 (mod4) or to *i*2*k*-*q*2(mod *<sup>p</sup>*), *i*2*k*-*q*3(mod *<sup>p</sup>*) when 2*k* = 2 (mod4); while odd nodes *i*(2*<sup>k</sup>*+1) are connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1-*q*1(mod *p*)*,* and to *i*2*k*+1+*q*4(mod *<sup>p</sup>*), *i*2*k*+1+*q*5(mod *<sup>p</sup>*) when 2*k*+1 = 1 (mod4) or to *i*2*k*+1-*q*4(mod *<sup>p</sup>*), *i*2*k*+1-*q*5(mod *<sup>p</sup>*) when 2*k*+1 = 3 (mod4).

An example is shown in Fig. 30.

Fig. 30.Example of modified chordal ring CHR5\_l(16; 7,6,2,2,6)

Analysis of Modified Fifth Degree Chordal Rings 75

In Table 33 the distribution of nodes in layers is shown. The total number of nodes in

*d* 1 2 3 4 5 6 7 8 *pdo* 5 20 71 210 511 1064 1997 3440

*D*(*G*) 1 2 3 4 5 6 7 8 *po* 6 26 97 307 818 1882 3879 7319

In Fig. 34 comparison of diameter and average path length of theoretical and real graphs

 Fig. 33.Comparison of diameter and average path length of theoretical and real graphs

1

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_m**

Number of nodes

theory real

1,5

2

2,5

3

*dav*

Number of nodes

theory real

Examples of ideal chordal rings with up to 100 nodes include: CHR5\_m(12; 2,2,6,6), CHR5\_m(40; 6,14,10,18), CHR5\_m(44; 6,14,10,18), CHR5\_m(48; 10,22,6,14), CHR5\_m(56;

Definition 18. The modified fifth degree chordal ring called CHR5\_n is denoted by CHR5\_n(*p*; *q*1,*q*2,*q*3,*q*4,*q*5,*q*6), where *p* means the number of nodes and is positive and divisible

Fig. 32.Example of modified chordal ring CHR5\_m(16; 2,6,6,2)

optimal graphs, calculated based on these results, are shown in Table 34.

Table 34. Total numbers of nodes forming optimal graphs versus diameter

An example of CHR5\_m is given in Fig. 32.

Table 33. Maximal number of nodes in the layers

**CHR5\_m**

CHR5\_m is shown.

CHR5\_m

1

2

3

4

5

*D*(*G*)

**Graph CHR5\_n.** 

18,26,14,6), CHR5\_m(40; 6,14,10,18).

0 10 20 30 40 50 60 70 80 90 100

In Table 31 the distribution of nodes in the layers is shown.


Table 31. Maximal number of nodes in the successive layers

Using the results shown in Table 31, the total number of nodes in virtual optimal graphs calculated in this way was presented in Table 32.


Table 32. Total numbers of nodes forming optimal graphs versus diameter

In Fig. 31 comparison of diameter and average path length of theoretical and real graphs CHR5\_l is shown.

Fig. 31. Comparison of diameter and average path length of theoretical and real graphs CHR5\_l

Examples of ideal graphs include: CHR5\_l(16; 3,2,2,6,6), CHR5\_l(44; 11,6,14,22,18), CHR5\_l(48; 7,10,18,14,22), CHR5\_l(52; 11,6,18,26,22), CHR5\_l(56; 11,14,6,22,26).

#### **Graph CHR5\_m.**

Definition 17. The modified fifth degree chordal ring called CHR5\_m is denoted by CHR5\_m(*p*; *q*1,*q*2,*q*3,*q*4), where *p* means the number of nodes and is positive and divisible by 4. All chords have even length less than *p*/2. Each node is connected to five other nodes. Even nodes *i*2*<sup>k</sup>* are connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*) and to *i*2*k*+*q*2(mod *<sup>p</sup>*) when 2*k* = 0 (mod4) or to *i*2*k*-*q*2(mod *<sup>p</sup>*) when 2*k* = 2 (mod4); while odd nodes *i*(2*<sup>k</sup>*+1) are connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*3(mod *p*)*, i*2*k*+1-*q*3(mod *p*)*,* and to *i*2*k*+1+*q*4(mod *<sup>p</sup>*) when 2*k*+1 = 1 (mod4) or to *i*2*k*+1-*q*4(mod *<sup>p</sup>*) when 2*k*+1 = 3 (mod4).

74 New Frontiers in Graph Theory

*d* 1 2 3 4 5 6 7 8 *pdo* 5 20 71 228 555 1216 2442 4458

Using the results shown in Table 31, the total number of nodes in virtual optimal graphs

*D*(*G*) 1 2 3 4 5 6 7 8 *po* 6 26 97 325 880 2096 4538 8996

In Fig. 31 comparison of diameter and average path length of theoretical and real graphs

Fig. 31. Comparison of diameter and average path length of theoretical and real graphs

Number of nodes

theory real

CHR5\_l(48; 7,10,18,14,22), CHR5\_l(52; 11,6,18,26,22), CHR5\_l(56; 11,14,6,22,26).

Examples of ideal graphs include: CHR5\_l(16; 3,2,2,6,6), CHR5\_l(44; 11,6,14,22,18),

1

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_l**

Number of nodes

theory real

1,5

2

2,5

3

*dav*

Definition 17. The modified fifth degree chordal ring called CHR5\_m is denoted by CHR5\_m(*p*; *q*1,*q*2,*q*3,*q*4), where *p* means the number of nodes and is positive and divisible by 4. All chords have even length less than *p*/2. Each node is connected to five other nodes. Even nodes *i*2*<sup>k</sup>* are connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1, *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*) and to *i*2*k*+*q*2(mod *<sup>p</sup>*) when 2*k* = 0 (mod4) or to *i*2*k*-*q*2(mod *<sup>p</sup>*) when 2*k* = 2 (mod4); while odd nodes *i*(2*<sup>k</sup>*+1) are connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2, *i*2*k*+1+*q*3(mod *p*)*, i*2*k*+1-*q*3(mod *p*)*,* and to *i*2*k*+1+*q*4(mod *<sup>p</sup>*) when 2*k*+1 = 1 (mod4) or to *i*2*k*+1-*q*4(mod *<sup>p</sup>*) when

Table 32. Total numbers of nodes forming optimal graphs versus diameter

In Table 31 the distribution of nodes in the layers is shown.

Table 31. Maximal number of nodes in the successive layers

calculated in this way was presented in Table 32.

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_l**

CHR5\_l is shown.

CHR5\_l

1

2

3

4

5

*D*(*G*)

**Graph CHR5\_m.** 

2*k*+1 = 3 (mod4).

Fig. 32.Example of modified chordal ring CHR5\_m(16; 2,6,6,2)

An example of CHR5\_m is given in Fig. 32.

In Table 33 the distribution of nodes in layers is shown. The total number of nodes in optimal graphs, calculated based on these results, are shown in Table 34.


Table 33. Maximal number of nodes in the layers


Table 34. Total numbers of nodes forming optimal graphs versus diameter

In Fig. 34 comparison of diameter and average path length of theoretical and real graphs CHR5\_m is shown.

Fig. 33.Comparison of diameter and average path length of theoretical and real graphs CHR5\_m

Examples of ideal chordal rings with up to 100 nodes include: CHR5\_m(12; 2,2,6,6), CHR5\_m(40; 6,14,10,18), CHR5\_m(44; 6,14,10,18), CHR5\_m(48; 10,22,6,14), CHR5\_m(56; 18,26,14,6), CHR5\_m(40; 6,14,10,18).

#### **Graph CHR5\_n.**

Definition 18. The modified fifth degree chordal ring called CHR5\_n is denoted by CHR5\_n(*p*; *q*1,*q*2,*q*3,*q*4,*q*5,*q*6), where *p* means the number of nodes and is positive and divisible

Analysis of Modified Fifth Degree Chordal Rings 77

Going through all nodes with up to 100 nodes only one ideal graph was found, namely

Definition 19. The modified fifth degree chordal ring called CHR5\_o is denoted by CHR5\_o(*p*; *q*1,*q*2,*q*3,*q*4,*q*5) where *p* means the number of nodes and is positive and divisible by 4. All chords have even length less than (*p*/2+1). Each node is connected to five other nodes. Even nodes *i*2*<sup>k</sup>* are connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1 and to *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*) when 2*k* = 0 (mod4) or to *i*2*k*-*q*2(mod *<sup>p</sup>*) when 2*k* = 2 (mod4); while odd nodes *i*(2*<sup>k</sup>*+1) are connected to *i*2*<sup>k</sup>*, *i*2*k*+2, *i*2*k*+1+*q*5(mod *<sup>p</sup>*) and to *i*2*k*+1+*q*3(mod *p*)*, i*2*k*+1-*q*3(mod *<sup>p</sup>*) when 2*k*+1 = 1 (mod4) or to *i*2*k*+1+*q*4(mod *p*)*, i*2*k*+1-*q*4(mod

In Table 37 the distribution of nodes in layers is shown. Based on these numbers Table 38 is derived, showing the numbers of nodes in optimal graphs as a function of the diameter.

*<sup>d</sup>* 1 2 3 4 5 6 7 8 Node

*<sup>d</sup>*(*G*) 1 2 3 4 5 6 7 8 Node

A number of ideal graphs can be found, such as CHR5\_o(12; 6,2,2,4,4), CHR5\_o(16; 2,6,6,4,4), CHR5\_o(20; 10,10,6,4,4), CHR5\_o(36; 10,18,14,4,8), CHR5\_o(44; 6,14,10,20,4), CHR5\_o(52;

Fig. 37 shows the comparison of diameter and average path length of theoretical and real

Table 38. Total numbers of nodes forming optimal graphs versus diameter

5 20 73 244 699 1726 3779 7498 even 5 20 78 254 719 1778 3893 7696 odd

6 26 99 343 1042 2768 6547 14045 even 6 26 104 358 1077 2855 6748 14444 odd

number

number

CHR5\_n(52; 10,6,14,18,26,22) with 52 nodes.

An example of a CHR5\_o graph is shown in Fig. 36.

Fig. 36. Example of modified chordal ring CHR5\_o(20; 6,2,4,8,10)

Table 37. Maximal number of nodes in the layers

**Graph CHR5\_o.** 

*<sup>p</sup>*) when 2*k*+1 = 3 (mod4).

*pdo*

*pdo*

6,10,14,20,24).

CHR5\_o graphs.

by 4. All chords have even length less than *p*/2. Each node is connected to five other nodes. Even nodes *i*2*<sup>k</sup>* are connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1 and to *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*), *i*2*k*+*q*3(mod *<sup>p</sup>*) when 2*k* = 0 (mod4) or to *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*2(mod *<sup>p</sup>*), *i*2*k*-*q*3(mod *<sup>p</sup>*) when 2*k* = 2 (mod4); while odd nodes *i*(2*<sup>k</sup>*+1) are connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2 and to *i*2*k*+1+*q*4(mod *p*)*, i*2*k*+1+*q*5(mod *p*)*,i*2*k*+1+*q*6(mod *<sup>p</sup>*) when 2*k*+1 = 1 (mod4) or to *i*2*k*+1-*q*4(mod *p*)*, i*2*k*+1-*q*5(mod *p*)*,i*2*k*+1-*q*6(mod *<sup>p</sup>*) when 2*k*+1 = 3 (mod4).

An example of a CHR5\_n graph is shown in Fig. 34.

Fig. 34. Example of modified chordal ring CHR5\_n(20; 2,6,10,2,6,10)

In Table 35 the distribution of nodes in layers is presented.


Table 35. Maximal number of nodes in the layers

The total number of nodes in optimal graphs calculated based on the results given in Table 35 is shown in Table 36.


Table 36. Total numbers of nodes in optimal graphs as a function of the diameter

In Fig. 36 shows the comparison of diameter and average path length of theoretical and real graphs CHR5\_n.

Fig. 35. Comparison of diameter and average path length of theoretical and real graphs CHR5\_n

Going through all nodes with up to 100 nodes only one ideal graph was found, namely CHR5\_n(52; 10,6,14,18,26,22) with 52 nodes.

### **Graph CHR5\_o.**

76 New Frontiers in Graph Theory

by 4. All chords have even length less than *p*/2. Each node is connected to five other nodes. Even nodes *i*2*<sup>k</sup>* are connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1 and to *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*), *i*2*k*+*q*3(mod *<sup>p</sup>*) when 2*k* = 0 (mod4) or to *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*2(mod *<sup>p</sup>*), *i*2*k*-*q*3(mod *<sup>p</sup>*) when 2*k* = 2 (mod4); while odd nodes *i*(2*<sup>k</sup>*+1) are connected to *i*2*<sup>k</sup>*, *i*2*<sup>k</sup>*+2 and to *i*2*k*+1+*q*4(mod *p*)*, i*2*k*+1+*q*5(mod *p*)*,i*2*k*+1+*q*6(mod *<sup>p</sup>*) when 2*k*+1 = 1 (mod4) or to

*d* 1 2 3 4 5 6 7 8 *pdo* 5 20 77 272 764 1916 4268 8696

The total number of nodes in optimal graphs calculated based on the results given in Table

*D*(*G*) 1 2 3 4 5 6 7 8 *po* 6 26 103 375 1139 3055 7323 16019

In Fig. 36 shows the comparison of diameter and average path length of theoretical and real

*dav*

Fig. 35. Comparison of diameter and average path length of theoretical and real graphs

1 1,5 2 2,5 3 3,5 4

0 10 20 30 40 50 60 70 80 90 100

Number of nodes

CHR5 CHR5\_k CHR5\_l CHR5\_m CHR5\_n CHR5\_o

Number of nodes

CHR5 CHR5\_k CHR5\_l CHR5\_m CHR5\_n CHR5\_o

Table 36. Total numbers of nodes in optimal graphs as a function of the diameter

*i*2*k*+1-*q*4(mod *p*)*, i*2*k*+1-*q*5(mod *p*)*,i*2*k*+1-*q*6(mod *<sup>p</sup>*) when 2*k*+1 = 3 (mod4).

Fig. 34. Example of modified chordal ring CHR5\_n(20; 2,6,10,2,6,10)

In Table 35 the distribution of nodes in layers is presented.

Table 35. Maximal number of nodes in the layers

0 10 20 30 40 50 60 70 80 90 100

35 is shown in Table 36.

graphs CHR5\_n.

*D*(*G*)

CHR5\_n

An example of a CHR5\_n graph is shown in Fig. 34.

Definition 19. The modified fifth degree chordal ring called CHR5\_o is denoted by CHR5\_o(*p*; *q*1,*q*2,*q*3,*q*4,*q*5) where *p* means the number of nodes and is positive and divisible by 4. All chords have even length less than (*p*/2+1). Each node is connected to five other nodes. Even nodes *i*2*<sup>k</sup>* are connected to *i*2*<sup>k</sup>*-1, *i*2*<sup>k</sup>*+1 and to *i*2*k*+*q*1(mod *<sup>p</sup>*), *i*2*k*-*q*1(mod *<sup>p</sup>*), *i*2*k*+*q*2(mod *<sup>p</sup>*) when 2*k* = 0 (mod4) or to *i*2*k*-*q*2(mod *<sup>p</sup>*) when 2*k* = 2 (mod4); while odd nodes *i*(2*<sup>k</sup>*+1) are connected to *i*2*<sup>k</sup>*, *i*2*k*+2, *i*2*k*+1+*q*5(mod *<sup>p</sup>*) and to *i*2*k*+1+*q*3(mod *p*)*, i*2*k*+1-*q*3(mod *<sup>p</sup>*) when 2*k*+1 = 1 (mod4) or to *i*2*k*+1+*q*4(mod *p*)*, i*2*k*+1-*q*4(mod *<sup>p</sup>*) when 2*k*+1 = 3 (mod4).

An example of a CHR5\_o graph is shown in Fig. 36.

Fig. 36. Example of modified chordal ring CHR5\_o(20; 6,2,4,8,10)

In Table 37 the distribution of nodes in layers is shown. Based on these numbers Table 38 is derived, showing the numbers of nodes in optimal graphs as a function of the diameter.


Table 37. Maximal number of nodes in the layers


Table 38. Total numbers of nodes forming optimal graphs versus diameter

A number of ideal graphs can be found, such as CHR5\_o(12; 6,2,2,4,4), CHR5\_o(16; 2,6,6,4,4), CHR5\_o(20; 10,10,6,4,4), CHR5\_o(36; 10,18,14,4,8), CHR5\_o(44; 6,14,10,20,4), CHR5\_o(52; 6,10,14,20,24).

Fig. 37 shows the comparison of diameter and average path length of theoretical and real CHR5\_o graphs.

Analysis of Modified Fifth Degree Chordal Rings 79

Fig. 39. Comparison of the calculated average paths length in the function of the diameter of

*D*(*G*)

*D*(*G*)

CHR5 CHR5\_a CHR5\_b CHR5\_c CHR5\_d CHR5\_e CHR5\_f CHR5\_g CHR5\_h CHR5\_i CHR5\_j CHR5\_k CHR5\_l CHR5\_m CHR5\_n CHR5\_o

> CHR5 CHR5\_a CHR5\_b CHR5\_c CHR5\_d CHR5\_e CHR5\_f CHR5\_g CHR5\_h CHR5\_i CHR5\_j CHR5\_k CHR5\_l CHR5\_m CHR5\_n CHR5\_o

1 2 3 4 5 6 7 8 9 10 11 12

In the following section, a comparison of the average path length as a function of the number of nodes is presented. In order to compare graphs with different numbers of nodes,

1 2 3 4 5 6 7 8 9 10

( ) 1 ( )

*d p*

*<sup>d</sup> nav d G*

( ) 1

Where *avD G*( ) *d* means the average path length of a particular graph when its diameter is equal

*d p*

*avrD G d d*

( )

*d G avD G dr*

( 54 )

( )

*d G*

*d p* 

1

*dr*

is the total


Fig. 40. Relationship between the total number of nodes and diameters

a "Normalized estimator of average path length" (*Enav*) is introduced as follows:

*E*

to *D*(*G*), and *avrD G*( ) *d* means the average path length of the reference graph,

( )

*d G*

*d p* 

1

*d*

number of nodes in relation graph,

graphs

5

50

500

5000

50000

lg10 (global number of nodes)

*dav*

Fig. 37.Comparison of diameter and average path length of theoretical and real graphs CHR5\_o

As for the previous group of graphs, the chordal rings of this group are compare with respect to the basic parameters. The comparison is given in Fig. 38.

Fig. 38.Comparison of basic parameters of analyzing group chordal rings

From Fig. 38 it follows that all graphs belonging to third group of chordal rings have very similar properties when the number of nodes is smaller than 100.

### **4. Analysis of obtained results**

Based on the obtained results for all 15 groups of graphs presented, the values of minimum diameter and average paths lengths can be compared. Despite the differences found between theoretical and real parameters the comparisons will be based on the theoretical values.

First, Fig. 39 presents the average path lengths as a function of the diameter in the graphs. This does not take into account the number of nodes in the graphs, which vary significantly between the different graphs as can be seen in Table 39 and Fig. 40. It can be seen that for a given number of nodes, CHR5\_k has the smallest diameter.

78 New Frontiers in Graph Theory

 Fig. 37.Comparison of diameter and average path length of theoretical and real graphs

1

0 10 20 30 40 50 60 70 80 90 100

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_o**

Number of nodes

Number of nodes

CHR5 CHR5\_k CHR5\_l CHR5\_m CHR5\_n CHR5\_o

theory real

1,5

2

2,5

3

*dav*

Number of nodes

theory real

As for the previous group of graphs, the chordal rings of this group are compare with

From Fig. 38 it follows that all graphs belonging to third group of chordal rings have very

1 1,5 2 2,5 3 3,5 4 *dav*

Number of nodes

CHR5 CHR5\_k CHR5\_l CHR5\_m CHR5\_n CHR5\_o

Based on the obtained results for all 15 groups of graphs presented, the values of minimum diameter and average paths lengths can be compared. Despite the differences found between theoretical and real parameters the comparisons will be based on the theoretical

First, Fig. 39 presents the average path lengths as a function of the diameter in the graphs. This does not take into account the number of nodes in the graphs, which vary significantly between the different graphs as can be seen in Table 39 and Fig. 40. It can be seen that for a

respect to the basic parameters. The comparison is given in Fig. 38.

0 10 20 30 40 50 60 70 80 90 100

**CHR5\_o**

Fig. 38.Comparison of basic parameters of analyzing group chordal rings

similar properties when the number of nodes is smaller than 100.

given number of nodes, CHR5\_k has the smallest diameter.

**4. Analysis of obtained results** 

0 10 20 30 40 50 60 70 80 90 100

CHR5\_o

*D*(*G*)

1

2

3

4

5

*D*(*G*)

values.

Fig. 39. Comparison of the calculated average paths length in the function of the diameter of graphs

Fig. 40. Relationship between the total number of nodes and diameters

In the following section, a comparison of the average path length as a function of the number of nodes is presented. In order to compare graphs with different numbers of nodes, a "Normalized estimator of average path length" (*Enav*) is introduced as follows:

$$E\_{\text{nav}} = \frac{d\_{\text{avD(G)}} \sum\_{d=1}^{d(G)} p\_{dr}}{d\_{\text{avD(G)}} \sum\_{d=1}^{d(G)} p\_d} \tag{54}$$

Where *avD G*( ) *d* means the average path length of a particular graph when its diameter is equal to *D*(*G*), and *avrD G*( ) *d* means the average path length of the reference graph, ( ) 1 *d G dr d p* is the total number of nodes in relation graph, ( ) 1 *d G d d p* - total number of nodes in the particular graph.

Analysis of Modified Fifth Degree Chordal Rings 81

CHR5 1,000 0,948 0,886 0,840 0,807 0,785 0,768 0,756 0,746 0,738 0,732 0,726 CHR5\_a 1,000 0,979 0,928 0,892 0,866 0,848 0,834 0,824 0,816 0,810 0,804 0,800 CHR5\_b 1,000 1,000 0,977 0,947 0,922 0,903 0,889 0,878 0,870 0,863 0,857 0,853 CHR5\_c 1,000 1,000 0,958 0,932 0,909 0,894 0,885 0,879 0,875 0,871 0,868 0,865 CHR5\_d 1,000 0,985 0,938 0,903 0,877 0,858 0,844 0,833 0,824 0,818 0,811 0,806 CHR5\_e 1,000 0,985 0,957 0,926 0,898 0,877 0,860 0,847 0,836 0,828 0,820 0,814 CHR5\_f 1,000 0,982 0,967 0,954 0,941 0,928 0,918 0,908 0,899 0,891 0,883 0,876 CHR5\_g 1,000 0,979 0,953 0,940 0,914 0,895 0,885 0,874 0,866 0,861 0,855 0,851 CHR5\_h 1,000 0,985 0,978 0,969 0,961 0,954 0,946 0,939 0,931 0,925 0,914 0,908 CHR5\_i 1,000 1,000 0,984 0,971 0,957 0,945 0,935 0,925 0,916 0,909 0,901 0,896 CHR5\_j 1,000 1,000 0,978 0,964 0,943 0,926 0,916 0,907 0,899 0,894 0,889 0,885 CHR5\_k 1,000 1,000 1,000 0,992 0,983 0,975 0,967 0,959 0,953 0,946 0,941 0,936 CHR5\_l 1,000 1,000 0,990 0,981 0,961 0,947 0,937 0,928 0,921 0,916 0,911 0,907 CHR5\_m 1,000 1,000 0,990 0,974 0,957 0,941 0,929 0,919 0,910 0,903 0,897 0,892 CHR5\_n 1,000 1,000 0,997 0,990 0,975 0,964 0,954 0,946 0,939 0,934 0,929 0,925 CHR5\_o 1,000 1,000 0,995 0,985 0,973 0,962 0,952 0,943 0,935 0,928 0,922 0,917

*D*(*G*) 1 2 3 4 5 6 7 8 9 10 11 12

*Enav* 

Table 40. Distribution of the normalized estimator of the average path length versus the

In the charts given below the comparison of the maximum number of nodes appearing in

Fig. 42. Distribution of nodes numbers in the layers for all graphs

the layers of all analyzed graphs is presented.

Graph

graph diameter


Table 39.Total number of nodes versus diameters.

The results are shown in Table 40 and Fig. 41.

Fig. 41. Distribution of the normalized estimator of average path length versus graph diameter

From Fig. 41 it can be seen that he CHR5\_k has the relatively shortest average path length.

Not surprisingly, the distributions of the number of nodes in the layers have a great impact on the two basic parameters. This can be seen also from expressions (7) and (9). The difference in the distribution for all graphs is shown in Fig. 42.

80 New Frontiers in Graph Theory

Graph 1 2 3 4 5 6 7 8 9 10 CHR5 6 18 38 66 102 146 198 258 326 402 CHR5\_a 6 22 55 113 202 330 503 729 1014 1366 CHR5\_b 6 26 87 227 494 948 1661 2717 4212 6254 CHR5\_c 6 26 76 186 386 726 1276 2126 3386 5186 CHR5\_d 6 23 61 130 239 400 622 915 1288 1753 CHR5\_e 6 23 68 160 316 552 884 1328 1900 2616 CHR5\_f 6 23 72 201 491 1068 2103 3804 6411 10196 CHR5\_g 6 22 64 166 349 651 1142 1846 2840 4228 CHR5\_h 6 23 79 245 686 1742 4014 8450 16430 29842 CHR5\_i 6 26 92 285 764 1816 3887 7579 13674 23158 CHR5\_j 6 26 88 262 637 1355 2658 4794 8148 13240 CHR5\_k 6 26 106 390 1285 3805 10138 24472 54108 110878 CHR5\_l 6 26 97 325 880 2096 4538 8996 16706 29420 CHR5\_m 6 26 97 307 818 1882 3879 7319 12876 21406 CHR5\_n 6 26 103 375 1139 3055 7323 16019 32520 62092 CHR5\_o 6 26 102 351 1060 2812 6648 14245 28120 51864

Fig. 41. Distribution of the normalized estimator of average path length versus graph

0 1 2 3 4 5 6 7 8 9 10 11 12

difference in the distribution for all graphs is shown in Fig. 42.

From Fig. 41 it can be seen that he CHR5\_k has the relatively shortest average path length. Not surprisingly, the distributions of the number of nodes in the layers have a great impact on the two basic parameters. This can be seen also from expressions (7) and (9). The

*D***(***G***)**

CHR5 CHR5\_a CHR5\_b CHR5\_c CHR5\_d CHR5\_e CHR5\_f CHR5\_g CHR5\_h CHR5\_i CHR5\_j CHR5\_k CHR5\_l CHR5\_m CHR5\_n CHR5\_o

Table 39.Total number of nodes versus diameters.

The results are shown in Table 40 and Fig. 41.

*Enav*

0,65 0,70 0,75 0,80 0,85 0,90 0,95 1,00

diameter

*D*(*G*)


Table 40. Distribution of the normalized estimator of the average path length versus the graph diameter

Fig. 42. Distribution of nodes numbers in the layers for all graphs

In the charts given below the comparison of the maximum number of nodes appearing in the layers of all analyzed graphs is presented.

Analysis of Modified Fifth Degree Chordal Rings 83

In Table 41 the total number of nodes in CHR5\_k and reference graphs is compared for

1 2 3 4 5 6 7 8 9 10

Fig. 45. Comparison the number of nodes in layers and total number of nodes versus layer

Nodes number in layers [thous]

In Fig. 45 a comparison of node numbers in successive layers and total number of nodes as a

Table 42 and Fig. 46 show a comparison of the average length as a function of the both graphs diameter, taking into account the total number of nodes corresponding to this

*D*(*G*) 1 2 3 4 5 6 7 8 9 10 CHR5\_k 1,0000 1,0000 1,0000 0,9920 0,9829 0,9747 0,9669 0,9595 0,9527 0,9465

*Enav*

function of number layer in ideal CHR5\_k and Reference Graph is shown.

*d*

CHR5\_k Reference

diameter. As in the previous comparisons *Enav* (54) is used.

Table 42. The average path length as a function of the diameter

*D*(*G*) 1 2 3 4 5 6 7 8 9 10 CHR5\_k 5 20 80 284 895 2520 6333 14334 29636 56770 Reference Graph 5 20 80 320 1280 5120 20480 81920 327680 1310720

Total number of nodes

*d*

1 2 3 4 5 6 7 8 9 10

*d*

CHR5\_k Reference

CHR5\_k Reference

Fig. 44. Comparison of nodes number in successive layers

1 2 3 4 5 6 7 8 9 10

Nodes number in layers [thous]

Table 41. Total number of nodes in Reference Graph and CHR5\_k

different diameters.

number

Nodes number in layers [thous]

On the basis of Fig. 42 and Fig. 43 it seems to be sufficient to analyze the distributions of numbers occurring in the first few layers to select a graph having the best basic parameters. This obviously reduces the time and effort for comparisons. The results again confirm that CHR5\_k seems to be superior in terms of these basic parameters.

Fig. 43. Distribution of the number nodes in the first six layers

In order to make an objective assessment of the CHR5\_k parameters, they were compared to the parameters of the Reference Graph as previously described. Table 41 and Fig. 44 show the distribution of nodes in different layers of these two graphs, as a function of their diameters.

82 New Frontiers in Graph Theory

On the basis of Fig. 42 and Fig. 43 it seems to be sufficient to analyze the distributions of numbers occurring in the first few layers to select a graph having the best basic parameters. This obviously reduces the time and effort for comparisons. The results again confirm that

0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5

CHR5

**Number of nodes in layer**

**Number of nodes in layer**

CHR5\_a

CHR5\_b

CHR5\_c

CHR5\_d

CHR5\_e

CHR5\_f

CHR5\_g

CHR5\_h

*d***=4**

*d***=1**

CHR5\_i

CHR5\_j

CHR5\_k

CHR5\_l

CHR5\_m

CHR5\_n

CHR5\_o

**Graph**

CHR5

**Number of nodes in layer**

CHR5\_a

CHR5\_b

CHR5\_c

CHR5\_d

CHR5\_e

CHR5\_f

CHR5\_g

CHR5\_h

*d***=6**

CHR5\_i

CHR5\_j

CHR5\_k

CHR5\_l

CHR5\_m

CHR5\_n

CHR5\_o

**Graph**

**Graph**

CHR5

CHR5\_a

CHR5\_b

CHR5\_c

CHR5\_d

CHR5\_e

CHR5\_f

CHR5\_g

CHR5\_h

CHR5\_i

CHR5\_j

CHR5\_k

CHR5\_l

CHR5\_m

CHR5\_n

CHR5\_o

**Graph**

In order to make an objective assessment of the CHR5\_k parameters, they were compared to the parameters of the Reference Graph as previously described. Table 41 and Fig. 44 show the distribution of nodes in different layers of these two graphs, as a function of their

Fig. 43. Distribution of the number nodes in the first six layers

CHR5\_k

CHR5\_l

CHR5\_m

CHR5\_n

CHR5\_o

**Graph**

diameters.

0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5

> > CHR5

CHR5\_a

CHR5\_b

CHR5\_c

CHR5\_d

CHR5\_e

CHR5\_f

CHR5\_g

CHR5\_h

CHR5\_i

CHR5\_j

CHR5

**Number of nodes in layer**

CHR5\_a

CHR5\_b

CHR5\_c

CHR5\_d

CHR5\_e

CHR5\_f

CHR5\_g

CHR5\_h

*d***=5**

CHR5\_i

CHR5\_j

CHR5\_k

CHR5\_l

CHR5\_m

CHR5\_n

CHR5\_o

CHR5

**Number of nodes in layer**

**Number of nodes in layer**

CHR5\_a

CHR5\_b

CHR5\_c

CHR5\_d

CHR5\_e

CHR5\_f

CHR5\_g

CHR5\_h

*d***=3**

*d***=1**

CHR5\_i

CHR5\_j

CHR5\_k

CHR5\_l

CHR5\_m

CHR5\_n

CHR5\_o

**Graph**

CHR5\_k seems to be superior in terms of these basic parameters.

Fig. 44. Comparison of nodes number in successive layers

In Table 41 the total number of nodes in CHR5\_k and reference graphs is compared for different diameters.


Table 41. Total number of nodes in Reference Graph and CHR5\_k

Fig. 45. Comparison the number of nodes in layers and total number of nodes versus layer number

In Fig. 45 a comparison of node numbers in successive layers and total number of nodes as a function of number layer in ideal CHR5\_k and Reference Graph is shown.

Table 42 and Fig. 46 show a comparison of the average length as a function of the both graphs diameter, taking into account the total number of nodes corresponding to this diameter. As in the previous comparisons *Enav* (54) is used.


Table 42. The average path length as a function of the diameter

Analysis of Modified Fifth Degree Chordal Rings 85

For each group of graphs their analysis based on results obtained thanks to the application of testing programs constructed by authors. It made possible to carry out a distribution of maximal number of nodes in layers, to count total number of nodes in virtual, optimal graphs. Based on obtained results, for the first two groups of graphs they found strict mathematical expressions describing the distribution of nodes in layers, the total number of nodes, the average path length for optimal graphs, whilst for the third group such formulas were not found. Additionally the prepared programs allowed us to compare the basic

Among the all analyzed graphs, the structures CHR5\_f – CHR5\_o have the most acceptable basic parameters. Those graphs however have a fundamental limitation: the network should consist of nodes with nodes number has to be divisible by 4. The parameters of these networks in more or less deviate from the parameters of the reference graph (graph ideal), and what's involved, they are usually asymmetrical (depending on the choice of the source node, obtained values differ). Also, computational process is rather complex, and takes long

From the point of view of application, according to the authors, the most appropriate structure of the regular network topology are graphs CHR5\_b. These chordal rings are symmetrical, their parameters, if are not equal to the parameters of optimal graphs, they are very close to them; they are simple and easy to design and implement. The main limitation is the fact that the number of nodes, creating these networks, has to be even, but this follows from the assumption that the structure has to be regular, and the degree of nodes is five. Fig.

Fig. 47.Comparison of diameter and average length path both analyzing chordal rings

Number of nodes

CHR5\_k CHR5\_b

As the justification of this last conclusion the presented above diagrams can be used. In Fig. 47 we show the comparison of basic parameters of chordal rings CHR5\_b and the best graph - CHR5\_k. It can be observed that in up to 84 nodes, theoretically calculated parameters of both types of rings are identical, and up to 224 nodes - not much different from each another. Thus, taking into account the advantages of CHR5\_b structure described before, it should be used to construct regular networks possessing not a huge number of nodes or in a

1 1,5 2 2,5 3 3,5 4 4,5

*dav*

0 50 100 150 200 250 300 350 400

Number of nodes

CHR5\_k CHR5\_b

Future work can focus on both theoretical and practical aspects. For the theoretical aspects, it would be a big help to find more precise and reachable bounds. This would make it

parameters of real and theoretically constructed graphs.

47 shows the comparison of the best two structures.

large network consisting of a few identical regular structures.

versus the number of nodes

0 50 100 150 200 250 300 350 400

time.

*D*(*G*)

Fig. 46. Comparison of average path length as a function of the graphs diameter

### **5. Conclusions**

In this publication the analysis of a different construction of 5th degree chordal rings was presented. The authors' main aim was to find structures which have the minimal diameter and minimal average of path in respect to number of nodes which create these graphs.

Presented considerations in the paper have rather theoretical nature, without a strict reference to practical applications. It is difficult to imagine a real regular WAN communication network that consists of thousands of nodes. However the interconnection structures connecting thousands of microprocessors, or sensors require the construction of such networks as the regular ones. The main objective function for regular interconnection structures is to minimize the network diameter or average path length. So, this is the main reason why such the structures were analyzed and studied in our paper.

In this regard the program was worked out which allows to calculate the analyzed parameters. It allowed describing virtual reference graphs namely optimal and ideal graphs. In this way we also found chordal rings which possess the smallest difference regards to average path length and diameter, which Reference Graphs have. They examined many types of structures and concluded that parameters of the real graphs are slightly different of the theoretically calculated graph parameter values. The obtained results became the basis for preparing the general formulas for determining these parameters without the need of simulation. As a side-result of the paper, we have shown that these reference graphs can be used for obtaining fairly good estimation of distance parameters in a simple manner. Additionally, they concluded that it is enough to inspect the maximal number of nodes which can appear in first few layers in aim to choose the best topology.

This publication presents the results of analysis of the modified chordal rings fifth degree. This analysis was carried out for 15 graphs divided into 3 groups. Each of the group included 5 types of graphs. Since the graphs were analyzed are regular graphs odd degree, hence all the graphs have to have an even number of nodes. The nodes number of all graphs belonging to the first group is divisible by two, the second and the third by four (it follows from used method of their construction).

84 New Frontiers in Graph Theory

Fig. 46. Comparison of average path length as a function of the graphs diameter

1 2 3 4 5 6 7 8 9 10 11 12

D(G)

CHR5\_k Reference

reason why such the structures were analyzed and studied in our paper.

which can appear in first few layers in aim to choose the best topology.

from used method of their construction).

In this publication the analysis of a different construction of 5th degree chordal rings was presented. The authors' main aim was to find structures which have the minimal diameter and minimal average of path in respect to number of nodes which create these graphs.

Presented considerations in the paper have rather theoretical nature, without a strict reference to practical applications. It is difficult to imagine a real regular WAN communication network that consists of thousands of nodes. However the interconnection structures connecting thousands of microprocessors, or sensors require the construction of such networks as the regular ones. The main objective function for regular interconnection structures is to minimize the network diameter or average path length. So, this is the main

In this regard the program was worked out which allows to calculate the analyzed parameters. It allowed describing virtual reference graphs namely optimal and ideal graphs. In this way we also found chordal rings which possess the smallest difference regards to average path length and diameter, which Reference Graphs have. They examined many types of structures and concluded that parameters of the real graphs are slightly different of the theoretically calculated graph parameter values. The obtained results became the basis for preparing the general formulas for determining these parameters without the need of simulation. As a side-result of the paper, we have shown that these reference graphs can be used for obtaining fairly good estimation of distance parameters in a simple manner. Additionally, they concluded that it is enough to inspect the maximal number of nodes

This publication presents the results of analysis of the modified chordal rings fifth degree. This analysis was carried out for 15 graphs divided into 3 groups. Each of the group included 5 types of graphs. Since the graphs were analyzed are regular graphs odd degree, hence all the graphs have to have an even number of nodes. The nodes number of all graphs belonging to the first group is divisible by two, the second and the third by four (it follows

**5. Conclusions** 

0,9300 0,9400 0,9500 0,9600 0,9700 0,9800 0,9900 1,0000

*Enav*

For each group of graphs their analysis based on results obtained thanks to the application of testing programs constructed by authors. It made possible to carry out a distribution of maximal number of nodes in layers, to count total number of nodes in virtual, optimal graphs. Based on obtained results, for the first two groups of graphs they found strict mathematical expressions describing the distribution of nodes in layers, the total number of nodes, the average path length for optimal graphs, whilst for the third group such formulas were not found. Additionally the prepared programs allowed us to compare the basic parameters of real and theoretically constructed graphs.

Among the all analyzed graphs, the structures CHR5\_f – CHR5\_o have the most acceptable basic parameters. Those graphs however have a fundamental limitation: the network should consist of nodes with nodes number has to be divisible by 4. The parameters of these networks in more or less deviate from the parameters of the reference graph (graph ideal), and what's involved, they are usually asymmetrical (depending on the choice of the source node, obtained values differ). Also, computational process is rather complex, and takes long time.

From the point of view of application, according to the authors, the most appropriate structure of the regular network topology are graphs CHR5\_b. These chordal rings are symmetrical, their parameters, if are not equal to the parameters of optimal graphs, they are very close to them; they are simple and easy to design and implement. The main limitation is the fact that the number of nodes, creating these networks, has to be even, but this follows from the assumption that the structure has to be regular, and the degree of nodes is five. Fig. 47 shows the comparison of the best two structures.

Fig. 47.Comparison of diameter and average length path both analyzing chordal rings versus the number of nodes

As the justification of this last conclusion the presented above diagrams can be used. In Fig. 47 we show the comparison of basic parameters of chordal rings CHR5\_b and the best graph - CHR5\_k. It can be observed that in up to 84 nodes, theoretically calculated parameters of both types of rings are identical, and up to 224 nodes - not much different from each another. Thus, taking into account the advantages of CHR5\_b structure described before, it should be used to construct regular networks possessing not a huge number of nodes or in a large network consisting of a few identical regular structures.

Future work can focus on both theoretical and practical aspects. For the theoretical aspects, it would be a big help to find more precise and reachable bounds. This would make it

Analysis of Modified Fifth Degree Chordal Rings 87

S. Bujnowski; B. Dubalski & A. Zabłudowski. (2005). *Analysis of Transmission Properties of 3rd*

S. Bujnowski; B. Dubalski; J. M. Pedersen & A. Zabłudowski. (2008). *Struktury topologiczne* 

S. Bujnowski; B. Dubalski; J. M. Pedersen & A. Zabłudowski. (2009). *Analysis of Regular* 

S. Bujnowski; B. Dubalski; A. Zabłudowski; D. Ledziński; T. Marciniak & J. M. Pedersen.

R. Diestel, Graph Theory, 4th Edition. Springer-Verlag, Heidelberg. Graduate Texts in

B. Dubalski; S. Bujnowski; A. Zabłudowski & J. M. Pedersen. (2007). *Introducing Modified* 

B. Dubalski; A. Zabludowski; S. Bujnowski & J. M. Pedersen. (2008). *Comparison of Modified* 

B. Dubalski; A. Zabłudowski; D. Ledziński; J. M. Pedersen & T. M. Riaz. (2010). *Evaluation Of* 

R. N. Farah; M. Othman; H. Selemat & P.Y. Hock. (2008). *Analysis of Modified Degree Six* 

R. N. Farah; M. Othman & M. H. Selamat. (2010). *Combinatorial properties of modified chordal rings degree four networks*. Journal of Computer Science. 6(3), pp. 279-284. R. N. Farah; M. Othman & M. H. Selamat (2010). *An optimum free-table routing algorithms of* 

R. N. Farah; M. Othman; M. H. Selamat & M. Rushdan. (2010). *In Layers Shortest Path of* 

R. N. Farah; N. Irwan; M. Othman; M. H. Selamat & M. Rushdan. (2011). *In An Efficient* 

International Conference of Electronics Design, Penang, Malaysia, 2008 R. N. Farah & M. Othman. (2010). *In Modified Chordal Rings Degree Six Geometrical* 

in Marine, ELMAR 2008, Zadar, Croatia. Volume 2, pp. 597-600

Auckland – New Zealand, ISBN 978-1-4244-8171-2, pp. 66-71

Communications. Challenges 2. 2010, ISSN 1867-5662, pp. 435 – 446 S. Bujnowski; B. Dubalski; A. Zabłudowski; J. M. Pedersen & T. Riaz. (2011). *Analysis of* 

Communications. Vol. 14, nr 1, pp. 13-24, 2009 - 4

Mathematics, Volume 173. July 2001.

CD: 978-0-88986-658-4, pp. 561-574 - 2

Lumpur, Malaysia, May 18-19, 2010.

Science and Engineering. 4(10), pp. 78-89.

28, 2010.

Challenge 3, 2011, Springer. ISSN 1867-5662, pp. 445-459

521 – 539

1141 (in Polish)

*Degree Chordal Rings.* Kwartalnik Elektroniki i Telekomunikacji. 2005, 51, z.4, pp.

*CR3m oraz NdRm*. Przegląd Telekomunikacyjny LXXXI, nr 8/9, 2008, pp. 1133 –

*Structures Third Degree Based on Chordal Rings*. Image Processing and

(2010). *Comparison of Modified 6 Degree Chordal Rings*. Image Processing and

*Degree 5 Chordal Rings For Network Topologies*. Image Processing & Communications.

*Degree 4 Chordal Rings with Two Chord Lengths*. Proceedings of the Fourth IASTED Asian Conference "Communication Systems and Networks". Phuket 2007, ISBN

*Chordal Rings Fourth Degree to Chordal Rings Sixth Degree*. Proceedings of Electronics

*Modified Degree 5 Chordal Rings for Network Topologies*. Proceedings of 2010 Australasian Telecommunication Networks and Applications Conference.

*Chordal Rings and Traditional Chordal Rings Degree Six Interconnection Network*.

*Representation Properties*. Proceedings of Fundamental Science Congress, Kuala

*modified and traditional chordal rings networks of degree four*. Journal of Material

*Modified Chordal Rings Degree Six Networks*. Proceedings of International Conference on Intelligent Network and Computing, Kuala Lumpur, Malaysia, November 26-

*Broadcasting Schemes for Modified Chordal Rings Degree Six Networks*. Proceedings of

possible to assess graph types, and to know how close to optimal they are. Moreover, a more thorough study of how precise distance estimates can be given using ideal and optimal graph would be interesting. Such a study could also cover other types of graphs. Another direction for further research would be to study new groups of graphs.

More practical aspects could deal with analyzing how well the good theoretical properties translate into good network properties. This could be done through simulation of different network configuration and traffic scenarios, and/or by studying how feasible the graphs are for assignment of physical, optical or logical links. In order to demonstrate that the topologies are useful in real-world settings, case studies would be a good place to start.

### **6. Acknowledgment**

The authors would like to thank Associate Professor Jens Myrup Pedersen and Assistant Professor Tahir Riaz from Aalborg University, Department of Electronic Systems, and Professor Dr. Mohamed Othman from Universiti Putra Malaysia, Department of Communication Technology and Networks, for a fruitful collaboration with the work on analyzing chordal rings and other network topologies. Their inputs for this chapter have been particularly valuable.

### **7. References**


86 New Frontiers in Graph Theory

possible to assess graph types, and to know how close to optimal they are. Moreover, a more thorough study of how precise distance estimates can be given using ideal and optimal graph would be interesting. Such a study could also cover other types of graphs. Another

More practical aspects could deal with analyzing how well the good theoretical properties translate into good network properties. This could be done through simulation of different network configuration and traffic scenarios, and/or by studying how feasible the graphs are for assignment of physical, optical or logical links. In order to demonstrate that the topologies are useful in real-world settings, case studies would be a good place to start.

The authors would like to thank Associate Professor Jens Myrup Pedersen and Assistant Professor Tahir Riaz from Aalborg University, Department of Electronic Systems, and Professor Dr. Mohamed Othman from Universiti Putra Malaysia, Department of Communication Technology and Networks, for a fruitful collaboration with the work on analyzing chordal rings and other network topologies. Their inputs for this chapter have

A.N. Al-Karaki & A.E.Kamal. (2004). *Routing Techniques in Wireless Sensor Networks: a Survey*,

ALU: Alcatel-Lucent 1830. (2011). *Photonic Service Switch 4 (Pss-4) Release 1.5.0/1.5.1 User* 

W. Arden & H. Lee. (1981). *Analysis of Chordal Ring Network*. IEEE Transactions on

R. N. F. Azura; M. Othman; M.. H. Selamat & P. Y. Hock. 2008. *Modified Degree Six Chordal* 

R. N. F. Azura; M. Othman; M.. H. Selamat & P. Y. Hock. (2010). *On properties of modified* 

L. N. Bhuyan. (1987). *Interconnection Networks for Parallel and Distributed Processing*. IEEE

S. Bujnowski. (2003). *Analysis & Synthesis Homogeneous Structure Networks Connecting* 

S. Bujnowski; B. Dubalski & A. Zabłudowski. (2003). *Analysis of Chordal Rings*. Mathematical

S. Bujnowski; B. Dubalski & A. Zabłudowski. (2004). *The Evaluation of Transmission Ability of* 

S. Bujnowski; B. Dubalski & A. Zabłudowski. (2004). *Analysis of 4th Degree Chordal Rings*.

*Communications Modules*. PhD Thesis, UTP, Bydgoszcz, 2003.

Telecommunications Conference, pp. 219-221. Boca Raton 2004

*Rings Network Topology*. Proceedings of Simposium Kebangsaan Sains Matematik

*degree six chordal rings networks*. Malaysian Journal of Mathematical Sciences. 4(2),

Techniques and Problems in Telecommunications. Centro International de

*3rd Degree Chordal Rings with the Use of Adjacent Matrix*. The Seventh INFORMS

Proceedings of International Conference on the Communications in Computing.

direction for further research would be to study new groups of graphs.

IEEE Wireless Comm., pp. 6-28, Dec. 2004

Computers Vol. 30 No. 4 pp. 291-295, 1981

*Guide*, Issue 2, March 2011

Ke-16, 3-5, pp. 515-522, Jun 2008

Computer Vol. 20 No. 6, pp. 9-12, 1987

Matematica, Tomar 2003, pp. 257-279

Las Vegas, 2004, pp. 318 – 324

**6. Acknowledgment** 

been particularly valuable.

pp. 147-157.

**7. References** 


**1. Introduction**

isometrically isomorphic.

**0**

**4**

*Israel*

**Poly-Dimension of Antimatroids**

A partial cube is a graph that can be isometrically embedded into a hypercube. In other words, a partial cube is a subgraph of a hypercube that preserves distances - the distance between any two vertices in the subgraph is the same as the distance between those vertices in the hypercube. Partial cubes were first introduced by Graham and Pollak (Graham & Pollak, 1971) as a model for communication networks and were extensively studied afterwards.

Many important families of combinatorial structures can be represented as subgraphs of partial cubes, for instance, antimatroids. An antimatroid is an accessible set system closed under union. There are two equivalent definitions of antimatroids, one as set systems and the other as languages (Björner & Ziegler, 1992; Korte et al., 1991). An algorithmic characterization of antimatroids based on the language definition was introduced in (Boyd & Faigle, 1990). Later, another algorithmic characterization of antimatroids, which depicted them as set systems was developed in (Kempner & Levit, 2003). Dilworth (Dilworth, 1940) was the first to study antimatroids using another axiomatization based on lattice theory, and they have been frequently rediscovered in other contexts. An antimatroid can be viewed as a special case of either greedoids or semimodular lattices, and as a generalization of partial orders and distributive lattices. While classical examples of antimatroids connect them with posets, chordal graphs, convex geometries etc., a game theory gives a framework, in which antimatroids are considered as permission structures for coalitions (Algaba et al., 2004; 2010). There are also rich connections between antimatroids and cluster analysis (Kempner & Muchnik, 2003). Glasserman and Yao (Glasserman & Yao, 1994) used antimatroids to model the ordering of events in discrete event simulation systems. In mathematical psychology, antimatroids are used to describe feasible states of knowledge of a human learner (Cosyn & Uzun, 2009; Eppstein et al., 2008; Falmagne & Doignon, 2011). The notion of "antimatroid with repetition" was conceived by Bjorner, Lovasz and Shor (Björner et al., 1991) as an extension of the notion of antimatroid in the framework of non-simple languages. Further they were investigated by the name of "poly-antimatroids"

(Kempner & Levit, 2007; Nakamura, 2005), where the set system approach was used.

An antimatroid with the ground set of size *n* may be isometrically embedded into the **hypercube** {0, 1}*n*. A poly-antimatroid with the same ground set is isometrically embedded into *n*-dimensional integer **lattice Z***n*. In this research we concentrate on interrelations between antimatroids and poly-antimatroids and prove that these two structures are

Yulia Kempner1 and Vadim E. Levit<sup>2</sup>

<sup>1</sup>*Holon Institute of Technology*

<sup>2</sup>*Ariel University Center of Samaria*

International Conference on Information and Industrial Electronics, Chengdu, China, January 13-14, 2011


## **Poly-Dimension of Antimatroids**

Yulia Kempner1 and Vadim E. Levit<sup>2</sup>

<sup>1</sup>*Holon Institute of Technology* <sup>2</sup>*Ariel University Center of Samaria Israel*

### **1. Introduction**

88 New Frontiers in Graph Theory

M. M. Freire & H.J.A. da Silva. (1999). *Assessment of Blocking Performance in Bidirectional* 

M. M. Freire & H.J.A. da Silva. (2001). *Performance Comparison of Wavelength Routing Optical Networks with Chordal Ring and Mesh-Torus Topologies*. ICN (1), pp. 358-367, 2001

A.L. Liestman; J. Opatrny & M. Zaragoza. (1998). *Network Properties of Double and Triple Fixed* 

B. Mans. (1999). *On the Interval Routing of Chordal Rings*. ISPAN '99 IEEE - International

L. Narayanan & J. Opatrny. (1999). *Compact Routing on Chordal Rings of Degree Four*.

L. Narayanan; J. Opatrny & D. Sotteau. (2001). *All-to-All Optical Routing in Chordal Rings of* 

H. Newton. (1996). *Newton's Telecom Dictionary*. 11th Edition. A Flatiron/Publishing, Inc.

J. M. Pedersen; A. Patel; T. P. Knudsen & O. B. Madsen. (2004). *Generalized Double Ring* 

J. M. Pedersen; T. P. Knudsen & O. B. Madsen. (2004). *Comparing and Selecting Generalized* 

J. M. Pedersen. (2005). *Structural Quality of Service in Large-Scale Networks*. PhD. Thesis

J. M. Pedersen; M. T. Riaz & O. Brun Madsen. (2005). *Distances in Generalized Double Rings* 

J. M. Pedersen; J. M. Gutierrez; T. Marciniak; B. Dubalski & A. Zabłudowski. (2009).

*Network Structures*. Proc. of SCI 2004, The 8th World Multi-Conference On Systemics, Cybernetics and Informatics. Vol. 8, pp. 47-51. Orlando, USA, July 2004.

*Double Ring Network Structures*. Proc. of IASTED CCN 2004, The Second IASTED International Conference Communication and Computer Networks, pp. 375-380.

*and Degree Three Chordal Rings*. Proc. of IASTED PDCN 2005. IASTED International Conference on Parallel and Distributed Computing and Networks, pp. 153-158.

*Describing N2R Properties Using Ideal Graphs*. Advances in Mesh Networks, MESH 2009. The Second International Conference on Advances in Mesh Networks. ISBN:

*Step Graphs*. International Journal of Foundations of Computer Science 9, pp. 57-76,

Symposium on Parallel Architectures, Algorithms and Networks, Fremantle,

 http://deptinfo.labri.ubordeaux.fr/~gavoille/article/ survey /node28.html G. Kotsis. (1992). *Interconnection Topologies and Routing for Parallel Processing Systems*. ACPC,

China, January 13-14, 2011

C. Gavoille. (n.d). *A Survey on Internal Routing*.

Australia, 1999, pp. 16-21

Algorithmica, Vol. 23, pp. 72-96, 1999

Cambridge, USA, November 2004.

Innsbruck, Austria, February 2005.

978-0-7695-3667-5, pp. 150-154

Aalborg University, April 2005

*Degree 4*. Algorithmica Vol. 31, pp. 155-178, 2001

1998

Book, 1996,

Telecommunications, Figueira da Foz, 2001

Technical Report Series, ACPC/TR92-19, 1992

International Conference on Information and Industrial Electronics, Chengdu,

*WDM Ring Networks with Node-to-Node and Full-Mesh Connectivity*. European Conference on Networks and Optical Communications (NOC'99), Delft, 1999 M. M. Freire & H.J.A. da Silva. (2001). *Influence of Wavelength on Blocking Performance of* 

*Wavelength Routed Chordal Ring Networks*. Proceedings of 3rd Conference on

A partial cube is a graph that can be isometrically embedded into a hypercube. In other words, a partial cube is a subgraph of a hypercube that preserves distances - the distance between any two vertices in the subgraph is the same as the distance between those vertices in the hypercube. Partial cubes were first introduced by Graham and Pollak (Graham & Pollak, 1971) as a model for communication networks and were extensively studied afterwards.

Many important families of combinatorial structures can be represented as subgraphs of partial cubes, for instance, antimatroids. An antimatroid is an accessible set system closed under union. There are two equivalent definitions of antimatroids, one as set systems and the other as languages (Björner & Ziegler, 1992; Korte et al., 1991). An algorithmic characterization of antimatroids based on the language definition was introduced in (Boyd & Faigle, 1990). Later, another algorithmic characterization of antimatroids, which depicted them as set systems was developed in (Kempner & Levit, 2003). Dilworth (Dilworth, 1940) was the first to study antimatroids using another axiomatization based on lattice theory, and they have been frequently rediscovered in other contexts. An antimatroid can be viewed as a special case of either greedoids or semimodular lattices, and as a generalization of partial orders and distributive lattices. While classical examples of antimatroids connect them with posets, chordal graphs, convex geometries etc., a game theory gives a framework, in which antimatroids are considered as permission structures for coalitions (Algaba et al., 2004; 2010). There are also rich connections between antimatroids and cluster analysis (Kempner & Muchnik, 2003). Glasserman and Yao (Glasserman & Yao, 1994) used antimatroids to model the ordering of events in discrete event simulation systems. In mathematical psychology, antimatroids are used to describe feasible states of knowledge of a human learner (Cosyn & Uzun, 2009; Eppstein et al., 2008; Falmagne & Doignon, 2011).

The notion of "antimatroid with repetition" was conceived by Bjorner, Lovasz and Shor (Björner et al., 1991) as an extension of the notion of antimatroid in the framework of non-simple languages. Further they were investigated by the name of "poly-antimatroids" (Kempner & Levit, 2007; Nakamura, 2005), where the set system approach was used.

An antimatroid with the ground set of size *n* may be isometrically embedded into the **hypercube** {0, 1}*n*. A poly-antimatroid with the same ground set is isometrically embedded into *n*-dimensional integer **lattice Z***n*. In this research we concentrate on interrelations between antimatroids and poly-antimatroids and prove that these two structures are isometrically isomorphic.

①

∅

❅❅❅

✟✟✟✟✟✟

❅ ❅ ❅

(a)

Fig. 1. (a) Antimatroid. (b) Poly-antimatroid.

✈ ✈

{1} {2}

❅❅

✈

❅❅

∅

(a)

accessible, but still satisfies the chain property.

① ①

{*z*}

❍ ❍❍

① ①

❅❅❅

❅

{*x*, *y*} {*y*, *y*}

❅❅

✈ ✈

❅❅

{2,3}

{3}

{1,2}

{1}

{1,2,3}

✈

❅❅

✈ ✈

(b)

① ①

{*x*} {*y*}

It is easy to see that this chain property follows from (*A*2), but these properties are not equivalent. If ∅ ∈ F, then accessibility follows from the chain property. In general case, there are accessible set systems that do not satisfy the chain property. Indeed, consider the following example illustrated in Figure 2 (a). Let *E* = {1, 2, 3} and F = {∅, {1}, {2}, {2, 3}, {1, 2, 3}}). It is easy to check that the set system is accessible, but there are no chain from {1} to {1, 2, 3}. Vice versa, it is possible to construct a system, that satisfies the chain property and it is not

accessible. For example, F = {{1}, {3}, {1, 2}, {2, 3}, {1, 2, 3}} in Figure 2(b).

Fig. 2. (a) Accessible system but not chain system. (b) Chain system but not accessible.

In fact, if we have an accessible set system satisfying the chain property, then the same system but without the empty set (or without all subsets of cardinality less then some *k*) is not

Examples of chain systems include poly-antimatroids, convex geometries, matroids and other

Regular set systems have been defined by Honda and Grabisch (Honda & Grabisch, 2008).

✈

✈ {2,3}

hereditary systems (matchings, cliques, independent sets of a graph).

{1,2,3}

❅❅❅

 

{*x*, *x*, *y*, *y*}

Poly-Dimension of Antimatroids 91

❅ ❅ ❅ ❅

①

(b)

∅

① ①

{*x*, *x*, *y*} {*x*, *y*, *y*}

①

❅❅

 ❅ ❅❅

{*x*}

①①①

{*x*, *<sup>z</sup>*} {*x*, *<sup>y</sup>*} {*y*, *<sup>z</sup>*}

①

❍❍ ❍

{*x*, *y*, *z*}

The *poly-dimension* of an antimatroid is the minimum dimension *d* such that the antimatroid is isometrically isomorphic to some *d*-dimensional poly-antimatroid. This definition is a direct analog of the lattice dimension of graphs (Eppstein, 2005). In this paper the exact characterization of antimatroids of poly-dimension 1 and 2 is given and a conjecture concerning antimatroids of any poly-dimension *d* is suggested.

This chapter is organized as follows.

Section 1 contains an extended introduction to the theory of antimatroids.

Section 2 gives basic information about distances on graphs and isometric isomorphisms. We concentrate on interrelations between antimatroids and poly-antimatroids. In particular, we construct an isometric isomorphism between these structures.

In Section 3 we introduce the *poly-dimension* of an antimatroid and prove our main theorem characterizing antimatroids of poly-dimension 2. In addition we present a linear labeling algorithm that isometrically embeds such an antimatroid into the integer lattice **Z**2.

Section 4 discusses an open problem.

### **2. Preliminaries**

Let *E* be a finite set. A *set system* over *E* is a pair (*E*, S), where S is a family of sets over *E*, called *feasible* sets. We will use *X* ∪ *x* for *X* ∪ {*x*}, and *X* − *x* for *X* − {*x*}.

**Definition 2.1.** *(Korte et al., 1991) A finite non-empty set system* (*E*, S) *is an antimatroid if*

(*A*1) *for each non-empty X* ∈ S*, there exists x* ∈ *X such that X* − *x* ∈ S

(*A*2) *for all X*, *Y* ∈ S*, and X Y, there exists x* ∈ *X* − *Y such that Y* ∪ *x* ∈ S*.*

Any set system satisfying (*A*1) is called *accessible.*

In addition, we use the following characterization of antimatroids.

**Proposition 2.2.** *(Korte et al., 1991) For an accessible set system* (*E*, S) *the following statements are equivalent:*


An "antimatroid with repetition" was invented by Bjorner, Lovasz and Shor (Björner et al., 1991) by studying the set of configurations of the Chip Firing Game (CFG). Further it was investigated by the name of "poly-antimatroid" as a generalization of the notion of the antimatroid for multisets. A *multiset A* over *E* is a function *fA* : *E* → *N*, where *fA*(*e*) is a number of repetitions of an element *e* in *A*. *A poly-antimatroid* is a finite non-empty multiset system (*E*, F) that satisfies the antimatroid properties (*A*1) and (*A*2). So antimatroids may be considered as a particular case of poly-antimatroids. An example of an antimatroid ({*x*, *y*, *z*}, S) and a poly-antimatroid ({*x*, *y*}, F) is illustrated in Figure 1.

**Definition 2.3.** *A multiset system* (*E*, F) *satisfies the chain property if for all X*,*Y* ∈ F*, and X* ⊂ *Y, there exists a chain X* = *<sup>X</sup>*<sup>0</sup> ⊂ *<sup>X</sup>*<sup>1</sup> ⊂ ... ⊂ *Xk* = *Y such that Xi* = *Xi*−<sup>1</sup> ∪ *xi and Xi* ∈ F *for* 0 ≤ *i* ≤ *k. We call the system a chain system.*

2 Will-be-set-by-IN-TECH

The *poly-dimension* of an antimatroid is the minimum dimension *d* such that the antimatroid is isometrically isomorphic to some *d*-dimensional poly-antimatroid. This definition is a direct analog of the lattice dimension of graphs (Eppstein, 2005). In this paper the exact characterization of antimatroids of poly-dimension 1 and 2 is given and a conjecture

Section 2 gives basic information about distances on graphs and isometric isomorphisms. We concentrate on interrelations between antimatroids and poly-antimatroids. In particular, we

In Section 3 we introduce the *poly-dimension* of an antimatroid and prove our main theorem characterizing antimatroids of poly-dimension 2. In addition we present a linear labeling

Let *E* be a finite set. A *set system* over *E* is a pair (*E*, S), where S is a family of sets over *E*,

**Proposition 2.2.** *(Korte et al., 1991) For an accessible set system* (*E*, S) *the following statements are*

An "antimatroid with repetition" was invented by Bjorner, Lovasz and Shor (Björner et al., 1991) by studying the set of configurations of the Chip Firing Game (CFG). Further it was investigated by the name of "poly-antimatroid" as a generalization of the notion of the antimatroid for multisets. A *multiset A* over *E* is a function *fA* : *E* → *N*, where *fA*(*e*) is a number of repetitions of an element *e* in *A*. *A poly-antimatroid* is a finite non-empty multiset system (*E*, F) that satisfies the antimatroid properties (*A*1) and (*A*2). So antimatroids may be considered as a particular case of poly-antimatroids. An example of an antimatroid

**Definition 2.3.** *A multiset system* (*E*, F) *satisfies the chain property if for all X*,*Y* ∈ F*, and X* ⊂ *Y, there exists a chain X* = *<sup>X</sup>*<sup>0</sup> ⊂ *<sup>X</sup>*<sup>1</sup> ⊂ ... ⊂ *Xk* = *Y such that Xi* = *Xi*−<sup>1</sup> ∪ *xi and Xi* ∈ F *for*

**Definition 2.1.** *(Korte et al., 1991) A finite non-empty set system* (*E*, S) *is an antimatroid if*

algorithm that isometrically embeds such an antimatroid into the integer lattice **Z**2.

concerning antimatroids of any poly-dimension *d* is suggested.

construct an isometric isomorphism between these structures.

Section 1 contains an extended introduction to the theory of antimatroids.

called *feasible* sets. We will use *X* ∪ *x* for *X* ∪ {*x*}, and *X* − *x* for *X* − {*x*}.

(*A*2) *for all X*, *Y* ∈ S*, and X Y, there exists x* ∈ *X* − *Y such that Y* ∪ *x* ∈ S*.*

({*x*, *y*, *z*}, S) and a poly-antimatroid ({*x*, *y*}, F) is illustrated in Figure 1.

(*A*1) *for each non-empty X* ∈ S*, there exists x* ∈ *X such that X* − *x* ∈ S

In addition, we use the following characterization of antimatroids.

Any set system satisfying (*A*1) is called *accessible.*

(*ii*) S *is closed under union (X*, *Y* ∈S⇒ *X* ∪ *Y* ∈ S*)*

0 ≤ *i* ≤ *k. We call the system a chain system.*

This chapter is organized as follows.

Section 4 discusses an open problem.

**2. Preliminaries**

*equivalent:*

(*i*) (*E*, S) *is an antimatroid*

Fig. 1. (a) Antimatroid. (b) Poly-antimatroid.

It is easy to see that this chain property follows from (*A*2), but these properties are not equivalent. If ∅ ∈ F, then accessibility follows from the chain property. In general case, there are accessible set systems that do not satisfy the chain property. Indeed, consider the following example illustrated in Figure 2 (a). Let *E* = {1, 2, 3} and F = {∅, {1}, {2}, {2, 3}, {1, 2, 3}}). It is easy to check that the set system is accessible, but there are no chain from {1} to {1, 2, 3}. Vice versa, it is possible to construct a system, that satisfies the chain property and it is not accessible. For example, F = {{1}, {3}, {1, 2}, {2, 3}, {1, 2, 3}} in Figure 2(b).

Fig. 2. (a) Accessible system but not chain system. (b) Chain system but not accessible.

In fact, if we have an accessible set system satisfying the chain property, then the same system but without the empty set (or without all subsets of cardinality less then some *k*) is not accessible, but still satisfies the chain property.

Examples of chain systems include poly-antimatroids, convex geometries, matroids and other hereditary systems (matchings, cliques, independent sets of a graph).

Regular set systems have been defined by Honda and Grabisch (Honda & Grabisch, 2008).

where it was proved that any CFG is equivalent to a simple CFG (antimatroid), i.e., the lattices

Poly-Dimension of Antimatroids 93

For each graph *G* = (*V*, *E*) the distance *dG*(*u*, *v*) between two vertices *u*, *v* ∈ *V* is defined as

If *G* and *H* are arbitrary graphs, then a mapping *f* : *V*(*G*) → *V*(*H*) is an *isometric embedding* if

Let *E* = {*x*1, *x*2, ...*xd*}. Define a graph *H*(*E*) as follows: the vertices are the finite subsets of *E*, two vertices *A* and *B* are adjacent if and only if the symmetric difference *A* � *B* is a singleton set. Then *H*(*E*) is the *hypercube Qn on E* (Djokovic, 1973). The hypercube can be equivalently defined as the graph on {0, 1}*<sup>d</sup>* in which two vertices form an edge if and only if they differ in

The shortest path distance *dH*(*A*, *B*) on the hypercube *H*(*E*) is the Hamming distance between

A graph *G* is called a *partial cube* if it can be isometrically embedded into a hypercube *H*(*E*)

A family of sets S is *well-graded* (Doignon & Falmagne, 1997) if any two sets *P*, *Q* ∈ S can be connected by a sequence of sets *P* = *R*0, *R*1, ..., *Rn* = *Q* formed by single-element insertions and deletions (|*Ri* � *Ri*<sup>+</sup>1| = 1), such that all intermediate sets in the sequence belong to S

Any set system (*E*, S) defines an undirected graph *<sup>G</sup>*<sup>S</sup> = (S, *<sup>E</sup>*<sup>S</sup> ), where *<sup>E</sup>*<sup>S</sup> = {{*P*, *<sup>Q</sup>*}∈S :

**Theorem 3.1.** *(Ovchinnikov, 2008) The graph G*<sup>S</sup> *defined by a set system* (*E*, S) *is a partial cube on*

*Proof.* We prove that there is a tight path between each *P*, *Q* ∈ S. If *P* ⊂ *Q*, then the existence of such path follows immediately from the chain property. If *P Q*, then there exist chains

Thus each antimatroid is a partial cube and may be represented as a graph *<sup>G</sup>*<sup>S</sup> that is a subgraph of the hypercube *<sup>H</sup>*(*E*) or as a set of points of the hypercube {0, 1}*d*. For example, see an antimatroid in Figure 3. The distance in an antimatroid (*E*, S) considered as a graph coincides with the Hamming distance between sets, i.e., *<sup>d</sup>*<sup>S</sup> (*A*, *<sup>B</sup>*) = |*<sup>A</sup>* � *<sup>B</sup>*| for any *<sup>A</sup>*, *<sup>B</sup>* ∈ S. A poly-antimatroid (*E*, <sup>F</sup>) may be represented as a set of points in the digital space **<sup>Z</sup>***d*, since each *A* ∈ F is defined by the sequence (*fA*(*x*1), *fA*(*x*2), ..., *fA*(*xd*)) that may be denoted as a point (*a*1, *a*2, ..., *ad*) in **Z***d*. For example, see a two-dimensional poly-antimatroid in Figure 4. The symmetric difference distance can be generalized to multisets by summing the absolute


*A* and *B* that coincides with the symmetric difference distance: *dH*(*A*, *B*) = |*A* � *B*|.

of their configuration spaces are isomorphic.

the length of a shortest path joining them.

*dH*(*f*(*u*), *f*(*v*)) = *dG*(*u*, *v*) for any *u*, *v* ∈ *V*(*G*).

and |*P* � *Q*| = *n*. This sequence of sets is called a *tight path*.

from both *P* and *Q* to *P* ∪ *Q* that forms the tight path.

difference of the multiplicities of corresponding elements

**Proposition 3.2.** *A family* S *of every antimatroid* (*E*, S) *is well-graded.*

*E if and only if the family* S *is well-graded.*

**3. Isometry**

exactly one position.

for some set *E*.


**Definition 2.4.** *A set system* (*E*, S) *is a regular set system if* ∅, *E* ∈ S *and all maximal chains have length n, where n* = |*E*|*.*

Equivalently, under the condition ∅, *E* ∈ S, (*E*, S) is a regular set system if and only if |*A* − *B*| = 1 for any *A*, *B* ∈ S such that *A* is a cover of *B*.

Actually, a regular set system is a chain system with an additional constraint demanding from both the empty set ∅ and the ground set *E* to belong to the set system S.

An algorithmic characterization of chain systems with empty set ∅, called *strongly accessible set system*, was presented in (Boley et al., 2010).

*Augmenting systems* were introduced in game theory as a restricted cooperation model. The model is a weakening of the antimatroid structure and strengthening of the chain system.

**Definition 2.5.** *(Bilbao, 2003) A set system* (*E*, S) *is a augmenting system if*

1. ∅ ∈ S

2. *it satisfies the chain property*

3. *for all X*, *Y* ∈ S *with X* ∩ *Y* �= ∅*, we have X* ∪ *Y* ∈ S*.*

An augmenting system is an antimatroid if and only if it is closed under union (Bilbao, 2003).

A comparative study of various families of set systems are given in (Grabisch, 2009).

Antimatroids have already been investigated within the framework of lattice theory by Dilworth (Dilworth, 1940). The feasible sets of an antimatroid ordered by inclusion form a lattice, with lattice operations: *X* ∨ *Y* = *X* ∪ *Y*, and *X* ∧ *Y* is the maximal feasible subset of the set *X* ∩ *Y* called a *basis*. Since an antimatroid is closed under union, it has only one basis.

A finite lattice *L* is *semimodular* if whenever *x*, *y* ∈ *L* both cover *x* ∧ *y*, *x* ∨ *y* covers *x* and *y*.

A finite lattice *L* is called *join-distributive* (Björner & Ziegler, 1992) if for any *x* ∈ *L* the interval [*x*, *y*] is Boolean, where *y* is the join of all elements covering *x*. Such lattices are appeared under several different names, e.g., locally free lattices (Korte et al., 1991) and upper locally distributive lattices (ULD) (Felsner & Knauer, 2009; Magnien et al., 2001; Monjardet, 2003).

**Proposition 2.6.** *(Björner & Ziegler, 1992) For an accessible set system* (*E*, S) *the following statements are equivalent:*


In fact, the two concepts - antimatroids and join-distributive lattices - are essentially equivalent.

**Theorem 2.7.** *((Björner & Ziegler, 1992; Korte et al., 1991) A finite lattice is join-distributive if and only if it is isomorphic to the lattice of feasible sets of some antimatroid.*

It is easy to see that feasible sets of a poly-antimatroid ordered by inclusion form a join-distributive lattice as well. This kind of findings was discussed in (Magnien et al., 2001), where it was proved that any CFG is equivalent to a simple CFG (antimatroid), i.e., the lattices of their configuration spaces are isomorphic.

### **3. Isometry**

4 Will-be-set-by-IN-TECH

**Definition 2.4.** *A set system* (*E*, S) *is a regular set system if* ∅, *E* ∈ S *and all maximal chains have*

Equivalently, under the condition ∅, *E* ∈ S, (*E*, S) is a regular set system if and only if

Actually, a regular set system is a chain system with an additional constraint demanding from

An algorithmic characterization of chain systems with empty set ∅, called *strongly accessible*

*Augmenting systems* were introduced in game theory as a restricted cooperation model. The model is a weakening of the antimatroid structure and strengthening of the chain system.

An augmenting system is an antimatroid if and only if it is closed under union (Bilbao, 2003).

Antimatroids have already been investigated within the framework of lattice theory by Dilworth (Dilworth, 1940). The feasible sets of an antimatroid ordered by inclusion form a lattice, with lattice operations: *X* ∨ *Y* = *X* ∪ *Y*, and *X* ∧ *Y* is the maximal feasible subset of the set *X* ∩ *Y* called a *basis*. Since an antimatroid is closed under union, it has only one basis. A finite lattice *L* is *semimodular* if whenever *x*, *y* ∈ *L* both cover *x* ∧ *y*, *x* ∨ *y* covers *x* and *y*. A finite lattice *L* is called *join-distributive* (Björner & Ziegler, 1992) if for any *x* ∈ *L* the interval [*x*, *y*] is Boolean, where *y* is the join of all elements covering *x*. Such lattices are appeared under several different names, e.g., locally free lattices (Korte et al., 1991) and upper locally distributive lattices (ULD) (Felsner & Knauer, 2009; Magnien et al., 2001; Monjardet, 2003).

**Proposition 2.6.** *(Björner & Ziegler, 1992) For an accessible set system* (*E*, S) *the following*

In fact, the two concepts - antimatroids and join-distributive lattices - are essentially

**Theorem 2.7.** *((Björner & Ziegler, 1992; Korte et al., 1991) A finite lattice is join-distributive if and*

It is easy to see that feasible sets of a poly-antimatroid ordered by inclusion form a join-distributive lattice as well. This kind of findings was discussed in (Magnien et al., 2001),

*only if it is isomorphic to the lattice of feasible sets of some antimatroid.*

A comparative study of various families of set systems are given in (Grabisch, 2009).

*length n, where n* = |*E*|*.*

1. ∅ ∈ S

2. *it satisfies the chain property*

*statements are equivalent:*

equivalent.

(*i*) (*E*, S) *is an antimatroid.*

(*ii*) (S, ⊆) *is a join-distributive lattice.* (*iii*) (S, ⊆) *is a semimodular lattice.*


*set system*, was presented in (Boley et al., 2010).

3. *for all X*, *Y* ∈ S *with X* ∩ *Y* �= ∅*, we have X* ∪ *Y* ∈ S*.*

both the empty set ∅ and the ground set *E* to belong to the set system S.

**Definition 2.5.** *(Bilbao, 2003) A set system* (*E*, S) *is a augmenting system if*

For each graph *G* = (*V*, *E*) the distance *dG*(*u*, *v*) between two vertices *u*, *v* ∈ *V* is defined as the length of a shortest path joining them.

If *G* and *H* are arbitrary graphs, then a mapping *f* : *V*(*G*) → *V*(*H*) is an *isometric embedding* if *dH*(*f*(*u*), *f*(*v*)) = *dG*(*u*, *v*) for any *u*, *v* ∈ *V*(*G*).

Let *E* = {*x*1, *x*2, ...*xd*}. Define a graph *H*(*E*) as follows: the vertices are the finite subsets of *E*, two vertices *A* and *B* are adjacent if and only if the symmetric difference *A* � *B* is a singleton set. Then *H*(*E*) is the *hypercube Qn on E* (Djokovic, 1973). The hypercube can be equivalently defined as the graph on {0, 1}*<sup>d</sup>* in which two vertices form an edge if and only if they differ in exactly one position.

The shortest path distance *dH*(*A*, *B*) on the hypercube *H*(*E*) is the Hamming distance between *A* and *B* that coincides with the symmetric difference distance: *dH*(*A*, *B*) = |*A* � *B*|.

A graph *G* is called a *partial cube* if it can be isometrically embedded into a hypercube *H*(*E*) for some set *E*.

A family of sets S is *well-graded* (Doignon & Falmagne, 1997) if any two sets *P*, *Q* ∈ S can be connected by a sequence of sets *P* = *R*0, *R*1, ..., *Rn* = *Q* formed by single-element insertions and deletions (|*Ri* � *Ri*<sup>+</sup>1| = 1), such that all intermediate sets in the sequence belong to S and |*P* � *Q*| = *n*. This sequence of sets is called a *tight path*.

Any set system (*E*, S) defines an undirected graph *<sup>G</sup>*<sup>S</sup> = (S, *<sup>E</sup>*<sup>S</sup> ), where *<sup>E</sup>*<sup>S</sup> = {{*P*, *<sup>Q</sup>*}∈S : |*P* � *Q*| = 1}.

**Theorem 3.1.** *(Ovchinnikov, 2008) The graph G*<sup>S</sup> *defined by a set system* (*E*, S) *is a partial cube on E if and only if the family* S *is well-graded.*

**Proposition 3.2.** *A family* S *of every antimatroid* (*E*, S) *is well-graded.*

*Proof.* We prove that there is a tight path between each *P*, *Q* ∈ S. If *P* ⊂ *Q*, then the existence of such path follows immediately from the chain property. If *P Q*, then there exist chains from both *P* and *Q* to *P* ∪ *Q* that forms the tight path.

Thus each antimatroid is a partial cube and may be represented as a graph *<sup>G</sup>*<sup>S</sup> that is a subgraph of the hypercube *<sup>H</sup>*(*E*) or as a set of points of the hypercube {0, 1}*d*. For example, see an antimatroid in Figure 3. The distance in an antimatroid (*E*, S) considered as a graph coincides with the Hamming distance between sets, i.e., *<sup>d</sup>*<sup>S</sup> (*A*, *<sup>B</sup>*) = |*<sup>A</sup>* � *<sup>B</sup>*| for any *<sup>A</sup>*, *<sup>B</sup>* ∈ S.

A poly-antimatroid (*E*, <sup>F</sup>) may be represented as a set of points in the digital space **<sup>Z</sup>***d*, since each *A* ∈ F is defined by the sequence (*fA*(*x*1), *fA*(*x*2), ..., *fA*(*xd*)) that may be denoted as a point (*a*1, *a*2, ..., *ad*) in **Z***d*. For example, see a two-dimensional poly-antimatroid in Figure 4.

The symmetric difference distance can be generalized to multisets by summing the absolute difference of the multiplicities of corresponding elements

$$|A \triangle B| = \sum |f\_A(\mathbf{x}\_i) - f\_B(\mathbf{x}\_i)|$$

Consider a poly-antimatroid (*E*, <sup>F</sup>) given as a set of points in the digital space **<sup>Z</sup>***d*. We use the Djokovic technique (Djokovic, 1973) elaborated by Eppstein (Eppstein, 2005) to embed a finite

Poly-Dimension of Antimatroids 95

*j*−1 ∑ *i*=1

*λ<sup>i</sup>* < *k* ≤

*j* ∑ *i*=1 *λi*

subset of the lattice **<sup>Z</sup>***d*, and, therefore, a poly-antimatroid (*E*, <sup>F</sup>), into a hypercube.

⎧ ⎨ ⎩ <sup>1</sup> *aj* <sup>≥</sup> *<sup>k</sup>* <sup>−</sup> *<sup>j</sup>*−<sup>1</sup>

0 *otherwise*

For example, consider the poly-antimatroid depicted in Figure 4. Mapping *μ* embeds the poly-antimatroid into a hypercube {0, 1}<sup>5</sup> such that *<sup>μ</sup>*(1, 0)=(1, 0, 0, 0, 0), *<sup>μ</sup>*(0, 1) = (0, 0, 0, 1, 0), *μ*(2, 1)=(1, 1, 0, 1, 0) and so on. See an isometrically isomorphic antimatroid

✈ ✈

**Lemma 3.4.** *(Eppstein, 2005) The map μ is an isometry from a poly-antimatroid* (*E*, F) *into a*

Note that isometry *μ* is full-dimensional, i.e., each coordinate *μ<sup>i</sup>* takes on both value 0 and 1

It remains to show that *μ*(F) forms an antimatroid. We consider now a hypercube on some set *<sup>U</sup>* <sup>=</sup> {*u*1, *<sup>u</sup>*2, ..., *<sup>u</sup>τ*}. Then *<sup>μ</sup>*�(*A*) = {*ui*|*μi*(*A*) = <sup>1</sup>}. Let *<sup>S</sup>* <sup>=</sup> {*<sup>X</sup>* <sup>⊆</sup> *<sup>U</sup>* : <sup>∃</sup>*<sup>A</sup>* ∈ F, *<sup>X</sup>* <sup>=</sup> *<sup>μ</sup>*�(*A*)}. **Proposition 3.5.** *For every poly-antimatroid* (*E*, <sup>F</sup>)*, the set system* (*U*, *<sup>S</sup>* <sup>=</sup> *<sup>μ</sup>*�(F)) *is an antimatroid.*

❅ ❅

{*x*1, *x*2}

{*x*1, *x*2, *x*3, *x*4}

❅ ❅❅

✈ ✈

✈

✈ ✈

{*x*4} {*x*1}

❅ ❅ ❅ ❅❅

✈

∅

❅ ❅❅

✈ ✈

❅❅❅

 

{*x*1, *x*2, *x*3, *x*4, *x*5}

{*x*1, *x*4, *x*5}

Fig. 5. An isometrically isomorphic antimatroid.

∑ *i*=1 *λi*

.

∑ *i*=1 *λi*.

Define *μ*(*A*)=(*μ*1(*A*), *μ*2(*A*), ..., *μτ*(*A*)), where for each *k* such that

*μk*(*A*) =

Let *<sup>λ</sup><sup>i</sup>* <sup>=</sup> max{*ai*|*<sup>A</sup>* ∈ F} and *<sup>τ</sup>* <sup>=</sup> *<sup>d</sup>*

It is clear that *μ*(0, 0, ..., 0)=(0, 0, ..., 0).

in Figure 5.

*hypercube.*

for at least one point.

Consider the following mapping *<sup>μ</sup>* : **<sup>Z</sup>***<sup>d</sup>* → {0, 1}.

Fig. 3. Representation of an antimatroid: (a) as a graph of a family of subsets and (b) as a set of points in **Z**3.

Fig. 4. A two-dimensional poly-antimatroid.

that coincides with the *<sup>L</sup>*<sup>1</sup> distance (||*<sup>A</sup>* <sup>−</sup> *<sup>B</sup>*||1) on the digital space **<sup>Z</sup>***d*.

A multiset system (*E*, F) defines an undirected graph *<sup>G</sup>*<sup>F</sup> in the same way as a set system. So each poly-antimatroid (*E*, F) may be represented as a graph *<sup>G</sup>*<sup>F</sup> .

These representations of poly-antimatroids are isometrically isomorphic.

**Proposition 3.3.** *The distance in a poly-antimatroid* (*E*, F) *considered as a graph G*<sup>F</sup> *coincides with the symmetric difference distance, i.e., d*<sup>F</sup> (*A*, *<sup>B</sup>*) = |*<sup>A</sup>* � *<sup>B</sup>*| *for any A*, *<sup>B</sup>* ∈ F*.*

*Proof.* For any *A*, *B* ∈ F there is a multiset *A* ∪ *B* ∈ F. Then there is a path in the poly-antimatroid from *A* to *A* ∪ *B* (by adding successively all the elements from *B* − *A*) and from *A* ∪ *B* to *B* (by removing successively all the elements from *A* − *B*). Therefore, *<sup>d</sup>*<sup>F</sup> (*A*, *<sup>B</sup>*) ≤ |*<sup>A</sup>* � *<sup>B</sup>*|. On the other hand, in any path from *<sup>A</sup>* to *<sup>B</sup>* every two adjacent vertices differ by only one element, and, consequently, *<sup>d</sup>*<sup>F</sup> (*A*, *<sup>B</sup>*) ≥ |*<sup>A</sup>* � *<sup>B</sup>*|.

Thus a poly-antimatroid with the ground set of size *d* may be isometrically embedded into the *d*-dimensional lattice **Z***d*.

Since each antimatroid is a poly-antimatroid, one may prove that every poly-antimatroid is isometrically isomorphic to some antimatroid.

6 Will-be-set-by-IN-TECH

Fig. 3. Representation of an antimatroid: (a) as a graph of a family of subsets and (b) as a set

①①①

A multiset system (*E*, F) defines an undirected graph *<sup>G</sup>*<sup>F</sup> in the same way as a set system. So

**Proposition 3.3.** *The distance in a poly-antimatroid* (*E*, F) *considered as a graph G*<sup>F</sup> *coincides with*

*Proof.* For any *A*, *B* ∈ F there is a multiset *A* ∪ *B* ∈ F. Then there is a path in the poly-antimatroid from *A* to *A* ∪ *B* (by adding successively all the elements from *B* − *A*) and from *A* ∪ *B* to *B* (by removing successively all the elements from *A* − *B*). Therefore, *<sup>d</sup>*<sup>F</sup> (*A*, *<sup>B</sup>*) ≤ |*<sup>A</sup>* � *<sup>B</sup>*|. On the other hand, in any path from *<sup>A</sup>* to *<sup>B</sup>* every two adjacent vertices

Thus a poly-antimatroid with the ground set of size *d* may be isometrically embedded into the

Since each antimatroid is a poly-antimatroid, one may prove that every poly-antimatroid is

✲

y

✻

z

① ①

①

① ① 

① ①

(b)

✲

x

 ✠

x

①

∅

❅

❅❅

 

✟✟✟✟✟✟

❅

(a)

① ①

{*z*}

❍ ❍❍

 ❅ ❅❅

✻

y

2

1

Fig. 4. A two-dimensional poly-antimatroid.

*d*-dimensional lattice **Z***d*.

isometrically isomorphic to some antimatroid.

①①①

that coincides with the *<sup>L</sup>*<sup>1</sup> distance (||*<sup>A</sup>* <sup>−</sup> *<sup>B</sup>*||1) on the digital space **<sup>Z</sup>***d*.

These representations of poly-antimatroids are isometrically isomorphic.

*the symmetric difference distance, i.e., d*<sup>F</sup> (*A*, *<sup>B</sup>*) = |*<sup>A</sup>* � *<sup>B</sup>*| *for any A*, *<sup>B</sup>* ∈ F*.*

differ by only one element, and, consequently, *<sup>d</sup>*<sup>F</sup> (*A*, *<sup>B</sup>*) ≥ |*<sup>A</sup>* � *<sup>B</sup>*|.

each poly-antimatroid (*E*, F) may be represented as a graph *<sup>G</sup>*<sup>F</sup> .

0 1 2 3

①①①①

{*x*}

❅❅

of points in **Z**3.

①①①

{*x*, *<sup>z</sup>*} {*x*, *<sup>y</sup>*} {*y*, *<sup>z</sup>*}

①

❍❍ ❍

{*x*, *y*, *z*}

Consider a poly-antimatroid (*E*, <sup>F</sup>) given as a set of points in the digital space **<sup>Z</sup>***d*. We use the Djokovic technique (Djokovic, 1973) elaborated by Eppstein (Eppstein, 2005) to embed a finite subset of the lattice **<sup>Z</sup>***d*, and, therefore, a poly-antimatroid (*E*, <sup>F</sup>), into a hypercube.

$$\text{Let } \lambda\_i = \max \{ a\_i | A \in \mathcal{F} \} \text{ and } \tau = \sum\_{i=1}^d \lambda\_i.$$

Consider the following mapping *<sup>μ</sup>* : **<sup>Z</sup>***<sup>d</sup>* → {0, 1}.

Define *μ*(*A*)=(*μ*1(*A*), *μ*2(*A*), ..., *μτ*(*A*)), where for each *k* such that *j*−1 ∑ *i*=1 *λ<sup>i</sup>* < *k* ≤ *j* ∑ *i*=1 *λi*

$$\mu\_k(A) = \begin{cases} 1 \ a\_j \ge k - \sum\_{i=1}^{j-1} \lambda\_i \\ 0 \quad \text{otherwise} \end{cases}$$

It is clear that *μ*(0, 0, ..., 0)=(0, 0, ..., 0).

For example, consider the poly-antimatroid depicted in Figure 4. Mapping *μ* embeds the poly-antimatroid into a hypercube {0, 1}<sup>5</sup> such that *<sup>μ</sup>*(1, 0)=(1, 0, 0, 0, 0), *<sup>μ</sup>*(0, 1) = (0, 0, 0, 1, 0), *μ*(2, 1)=(1, 1, 0, 1, 0) and so on. See an isometrically isomorphic antimatroid in Figure 5.

Fig. 5. An isometrically isomorphic antimatroid.

**Lemma 3.4.** *(Eppstein, 2005) The map μ is an isometry from a poly-antimatroid* (*E*, F) *into a hypercube.*

Note that isometry *μ* is full-dimensional, i.e., each coordinate *μ<sup>i</sup>* takes on both value 0 and 1 for at least one point.

It remains to show that *μ*(F) forms an antimatroid. We consider now a hypercube on some set *<sup>U</sup>* <sup>=</sup> {*u*1, *<sup>u</sup>*2, ..., *<sup>u</sup>τ*}. Then *<sup>μ</sup>*�(*A*) = {*ui*|*μi*(*A*) = <sup>1</sup>}. Let *<sup>S</sup>* <sup>=</sup> {*<sup>X</sup>* <sup>⊆</sup> *<sup>U</sup>* : <sup>∃</sup>*<sup>A</sup>* ∈ F, *<sup>X</sup>* <sup>=</sup> *<sup>μ</sup>*�(*A*)}.

**Proposition 3.5.** *For every poly-antimatroid* (*E*, <sup>F</sup>)*, the set system* (*U*, *<sup>S</sup>* <sup>=</sup> *<sup>μ</sup>*�(F)) *is an antimatroid.*

An *endpoint* of a feasible set *X* is an element *e* ∈ *X* such that *X* − *e* is a feasible set too. A

Poly-Dimension of Antimatroids 97

The following lemma gives the characterization of poset antimatroids in terms of *e*-paths. We

**Lemma 4.2.** *(Algaba et al., 2004) An antimatroid* (*U*, S) *is a poset antimatroid if and only if every*

*Proof.* Let (*U*, S) be a poset antimatroid and let *A*, *B*, *A* �= *B* be two distinct *i*-paths for *i* ∈ *U*. Then *i* ∈ *A* ∩ *B* ∈ S. Since each *i*-path is a minimal feasible set containing *i*, then *A B* and *B A*. Hence the chain property implies the existence of an element *j* ∈ *A* − (*A* ∩ *B*) such

Now suppose that every *i* ∈ *U* has a unique *i*-path in S. Let *X*, *Y* ∈ S. If *X* ∩ *Y* = ∅ then

*Proof.* Suppose the opposite. Let *A*, *B* ∈ S be two different *i*-paths. Note that *A B* and

Consider the set *Z* = *A* ∪ *B*. From the chain property it follows that there is *b* ∈ *B* − *A*, such that *Z* − *b* ∈ S. On the other hand, there is *a* ∈ *A* − *B* with *Z* − *a* ∈ S. Since (*A* − *i*) ∪ (*B*− *i*) =

**Definition 4.5.** *A lower zigzag is a sequence of feasible sets P*0, *P*1, ..., *P*2*<sup>m</sup> such that any two consecutive sets in the sequence differ by a single element and P*2*<sup>i</sup>* ∈ *Ck, and P*2*i*−<sup>1</sup> ∈ *Ck*−<sup>1</sup> *for all*

Each zigzag *P*0, *P*1, ..., *P*2*<sup>m</sup>* is a path connecting *P*<sup>0</sup> and *P*2*m*, and so the distance on the zigzag *d*(*P*0, *P*2*m*) = 2*m* is always no less than the distance *dS*(*P*0, *P*2*m*) on an antimatroid (*U*, S).

In Figure 6 we can see two sets (*A* = {1, 2, 3, 5} and *B* = {1, 3, 4, 5}) that are connected by an unique lower zigzag, such that the distance on the zigzag is 4, while |*A* � *B*| = 2. Note, that the distance on the upper zigzag is indeed 2. For two sets *X* = {1, 2, 5} and *Y* = {3, 4, 5} both distances on the lower zigzag and on the upper zigzag are equal to 6, while |*X* � *Y*| = 4.

<sup>1</sup> <sup>⊆</sup> *<sup>X</sup>* and *<sup>H</sup><sup>i</sup>*

*<sup>i</sup>*∈*X*∩*<sup>Y</sup> <sup>H</sup><sup>i</sup>*

<sup>1</sup> <sup>=</sup> *<sup>H</sup><sup>i</sup>*

<sup>2</sup> <sup>=</sup> *<sup>H</sup><sup>i</sup>*

. Therefore, *X* ∩ *Y* ∈ S, since

<sup>2</sup> ⊆ *Y*, because each

. Thus, for all

feasible set *X* is an *e-path* if it has a single endpoint *e*.

present a proof for the sake of completeness.

*X* ∩ *Y* ∈ S by definition of an antimatroid.

*Z* − *i* ∈ *S*, we have that *degin*(*Z*) ≥ 3.

0 ≤ *i* ≤ *m.*

Lemmas 4.2 and 4.3 imply the following.

*i* ∈ *U has a unique i-path in* S*.*

It is easy to see that an *e*-path is a minimal feasible set containing *e*.

that *A* − *j* ∈ S. This is a contradiction with *A* being an *i*-path.

If *<sup>X</sup>* <sup>∩</sup> *<sup>Y</sup>* �<sup>=</sup> <sup>∅</sup> then for every *<sup>i</sup>* <sup>∈</sup> *<sup>U</sup>* there exists an *<sup>i</sup>*-path *<sup>H</sup><sup>i</sup>*

*<sup>i</sup>* <sup>∈</sup> *<sup>X</sup>* <sup>∩</sup> *<sup>Y</sup>*, an *<sup>i</sup>*-path *<sup>H</sup><sup>i</sup>* <sup>⊆</sup> *<sup>X</sup>* <sup>∩</sup> *<sup>Y</sup>*, and so *<sup>X</sup>* <sup>∩</sup> *<sup>Y</sup>* <sup>=</sup>

*B A*, since each *i*-path is a minimal set containing *i*.

**Proposition 4.4.** *Any 2-antimatroid is a poset antimatroid.*

*i*-path is a minimal feasible set containing *i*. By assumption *H<sup>i</sup>*

**Lemma 4.3.** *Any 2-antimatroid* (*U*, S) *has a unique i-path for each i* ∈ *U.*

Denote *Ck* = {*X* ∈ S : |*X*| = *k*} a family of feasible sets of cardinality *k*.

In the same way we define an *upper zigzag* in which *<sup>P</sup>*2*i*−<sup>1</sup> ∈ *Ck*+1.

every antimatroid is closed under union. Hence, (*U*, S) is a poset antimatroid.

*Proof.* At first, <sup>∅</sup> <sup>∈</sup> *<sup>S</sup>*. Indeed, <sup>∅</sup> ∈ F, i.e., (0, 0, ..., 0) ∈ F and *<sup>μ</sup>*(0, 0, ..., 0) = <sup>∅</sup>. Then *<sup>S</sup>* is accessible, since the map *μ* is distance-preserving. To see it, consider a non-empty *X* ∈ *<sup>S</sup>*. There is a set *<sup>A</sup>* ∈ F such that *<sup>X</sup>* <sup>=</sup> *<sup>μ</sup>*(*A*). Let *<sup>A</sup>* = (*a*1, *<sup>a</sup>*2, ..., *ad*). Since (*E*, <sup>F</sup>) is a poly-antimatroid, there is *j* ∈ {1, 2, ..., *d*} such that *B* = (*a*1, *a*2, ..., *aj* − 1, ..., *ad*) ∈ F. Then *<sup>μ</sup>*(*A*) and *<sup>μ</sup>*(*B*) differs only in the position *<sup>k</sup>* <sup>=</sup> *<sup>j</sup>*−<sup>1</sup> ∑ *i*=1 *<sup>λ</sup><sup>i</sup>* <sup>+</sup> *aj*, i.e., *<sup>μ</sup>*(*A*) <sup>−</sup> *<sup>μ</sup>*(*B*) = {*uk*}.

Now let us prove, that the family *S* is closed under union, i.e., *X*, *Y* ∈ *S* ⇒ *X* ∪ *Y* ∈ *S*. Since *<sup>X</sup>*,*<sup>Y</sup>* <sup>∈</sup> *<sup>S</sup>* there are two points *<sup>A</sup>*, *<sup>B</sup>* ∈ F such that *<sup>X</sup>*<sup>1</sup> <sup>=</sup> *<sup>μ</sup>*(*A*) and *<sup>X</sup>*<sup>2</sup> <sup>=</sup> *<sup>μ</sup>*(*B*). Let *A* = (*a*1, *a*2, ..., *ad*) and *B* = (*b*1, *b*2, ..., *bd*). Then, *A* ∪ *B* = (*c*1, *c*2, ..., *cd*), where *ci* = max(*ai*, *bi*). Hence *<sup>μ</sup>*(*<sup>A</sup>* <sup>∪</sup> *<sup>B</sup>*)=(*ν*1, *<sup>ν</sup>*2, ..., *ντ*), where *<sup>ν</sup><sup>i</sup>* <sup>=</sup> max(*μi*(*A*), *<sup>μ</sup>i*(*B*)). So, *<sup>μ</sup>*(*<sup>A</sup>* <sup>∪</sup> *<sup>B</sup>*) = *<sup>μ</sup>*(*A*) <sup>∪</sup> *<sup>μ</sup>*(*B*), which implies *<sup>X</sup>* <sup>∪</sup> *<sup>Y</sup>* <sup>=</sup> *<sup>μ</sup>*(*<sup>A</sup>* <sup>∪</sup> *<sup>B</sup>*) <sup>∈</sup> *<sup>S</sup>*.

So we can say that the two structures - a poly-antimatroid (*E*, <sup>F</sup>) and an antimatroid (*U*, *<sup>μ</sup>*(F)) are essentially identical.

#### **4. Poly-dimension**

Clearly, an antimatroid is a poly-antimatroid as well. The question is what is a minimal dimension *d* such that an antimatroid (*U*, S) may be represented by an isomorphic poly-antimatroid (*<sup>U</sup>*, <sup>F</sup>) in the space **<sup>Z</sup>***d*.

We will call this minimal dimension *π* (S) the *poly-dimension* of the antimatroid (*U*, S).

Each antimatroid (*U*, S) may be considered also as a directed graph *G* = (*V*, *E*) with *V* = S and (*A*, *B*) ∈ *E* ⇔ ∃*c* ∈ *B* such that *A* = *B* − *c*.

Denote *in-degree* of the vertex *A* as *degin*(*A*), and *out-degree* as *degout*(*A*), where

*degin*(*A*) = |{*c* : *A* − *c* ∈ S}|, *degout*(*A*) = |{*c* : *A* ∪ *c* ∈ S}|

Consider antimatroids for which their maximum in-degree and maximum out-degree is at most *p*, and there is at least one feasible set for which in-degree or out-degree equals *p*. We will call such antimatroids *p-antimatroids*.

**Proposition 4.1.** *The poly-dimension of an 1-antimatroid is one.*

*Proof.* It is easy to see that 1-antimatroid is a chain ∅ ⊆ {*a*1} ⊆ ... ⊆ {*a*1, *a*2, ..., *an*}, that may be represented as a poly-antimatroid ∅ ⊆ {*x*} ⊆ ... ⊆ {*x*, *x*, ..., *x*} belonging to the axe *x*. The "only if" part of the proof is clear.

To find the poly-dimension of a 2-antimatroid we show that 2-antimatroids have the special structure of "sub-grid".

A *poset antimatroid* is a particular case of antimatroid, which is formed by the lower sets of a poset (partially ordered set). The poset antimatroids can be characterized as the unique antimatroids which are closed under intersection (Korte et al., 1991).

Let us prove that any 2-antimatroid is a poset antimatroid.

8 Will-be-set-by-IN-TECH

*Proof.* At first, <sup>∅</sup> <sup>∈</sup> *<sup>S</sup>*. Indeed, <sup>∅</sup> ∈ F, i.e., (0, 0, ..., 0) ∈ F and *<sup>μ</sup>*(0, 0, ..., 0) = <sup>∅</sup>. Then *<sup>S</sup>* is accessible, since the map *μ* is distance-preserving. To see it, consider a non-empty *X* ∈ *<sup>S</sup>*. There is a set *<sup>A</sup>* ∈ F such that *<sup>X</sup>* <sup>=</sup> *<sup>μ</sup>*(*A*). Let *<sup>A</sup>* = (*a*1, *<sup>a</sup>*2, ..., *ad*). Since (*E*, <sup>F</sup>) is a poly-antimatroid, there is *j* ∈ {1, 2, ..., *d*} such that *B* = (*a*1, *a*2, ..., *aj* − 1, ..., *ad*) ∈ F. Then

> ∑ *i*=1

Now let us prove, that the family *S* is closed under union, i.e., *X*, *Y* ∈ *S* ⇒ *X* ∪ *Y* ∈ *S*. Since *<sup>X</sup>*,*<sup>Y</sup>* <sup>∈</sup> *<sup>S</sup>* there are two points *<sup>A</sup>*, *<sup>B</sup>* ∈ F such that *<sup>X</sup>*<sup>1</sup> <sup>=</sup> *<sup>μ</sup>*(*A*) and *<sup>X</sup>*<sup>2</sup> <sup>=</sup> *<sup>μ</sup>*(*B*). Let *A* = (*a*1, *a*2, ..., *ad*) and *B* = (*b*1, *b*2, ..., *bd*). Then, *A* ∪ *B* = (*c*1, *c*2, ..., *cd*), where *ci* = max(*ai*, *bi*). Hence *<sup>μ</sup>*(*<sup>A</sup>* <sup>∪</sup> *<sup>B</sup>*)=(*ν*1, *<sup>ν</sup>*2, ..., *ντ*), where *<sup>ν</sup><sup>i</sup>* <sup>=</sup> max(*μi*(*A*), *<sup>μ</sup>i*(*B*)). So, *<sup>μ</sup>*(*<sup>A</sup>* <sup>∪</sup> *<sup>B</sup>*) = *<sup>μ</sup>*(*A*) <sup>∪</sup> *<sup>μ</sup>*(*B*),

So we can say that the two structures - a poly-antimatroid (*E*, <sup>F</sup>) and an antimatroid (*U*, *<sup>μ</sup>*(F))

Clearly, an antimatroid is a poly-antimatroid as well. The question is what is a minimal dimension *d* such that an antimatroid (*U*, S) may be represented by an isomorphic

Each antimatroid (*U*, S) may be considered also as a directed graph *G* = (*V*, *E*) with *V* = S

*degin*(*A*) = |{*c* : *A* − *c* ∈ S}|, *degout*(*A*) = |{*c* : *A* ∪ *c* ∈ S}|

Consider antimatroids for which their maximum in-degree and maximum out-degree is at most *p*, and there is at least one feasible set for which in-degree or out-degree equals *p*. We

*Proof.* It is easy to see that 1-antimatroid is a chain ∅ ⊆ {*a*1} ⊆ ... ⊆ {*a*1, *a*2, ..., *an*}, that may be represented as a poly-antimatroid ∅ ⊆ {*x*} ⊆ ... ⊆ {*x*, *x*, ..., *x*} belonging to the axe *x*. The

To find the poly-dimension of a 2-antimatroid we show that 2-antimatroids have the special

A *poset antimatroid* is a particular case of antimatroid, which is formed by the lower sets of a poset (partially ordered set). The poset antimatroids can be characterized as the unique

We will call this minimal dimension *π* (S) the *poly-dimension* of the antimatroid (*U*, S).

Denote *in-degree* of the vertex *A* as *degin*(*A*), and *out-degree* as *degout*(*A*), where

*<sup>λ</sup><sup>i</sup>* <sup>+</sup> *aj*, i.e., *<sup>μ</sup>*(*A*) <sup>−</sup> *<sup>μ</sup>*(*B*) = {*uk*}.

*<sup>μ</sup>*(*A*) and *<sup>μ</sup>*(*B*) differs only in the position *<sup>k</sup>* <sup>=</sup> *<sup>j</sup>*−<sup>1</sup>

which implies *<sup>X</sup>* <sup>∪</sup> *<sup>Y</sup>* <sup>=</sup> *<sup>μ</sup>*(*<sup>A</sup>* <sup>∪</sup> *<sup>B</sup>*) <sup>∈</sup> *<sup>S</sup>*.

poly-antimatroid (*<sup>U</sup>*, <sup>F</sup>) in the space **<sup>Z</sup>***d*.

will call such antimatroids *p-antimatroids*.

"only if" part of the proof is clear.

structure of "sub-grid".

**Proposition 4.1.** *The poly-dimension of an 1-antimatroid is one.*

antimatroids which are closed under intersection (Korte et al., 1991).

Let us prove that any 2-antimatroid is a poset antimatroid.

and (*A*, *B*) ∈ *E* ⇔ ∃*c* ∈ *B* such that *A* = *B* − *c*.

are essentially identical.

**4. Poly-dimension**

An *endpoint* of a feasible set *X* is an element *e* ∈ *X* such that *X* − *e* is a feasible set too. A feasible set *X* is an *e-path* if it has a single endpoint *e*.

It is easy to see that an *e*-path is a minimal feasible set containing *e*.

The following lemma gives the characterization of poset antimatroids in terms of *e*-paths. We present a proof for the sake of completeness.

**Lemma 4.2.** *(Algaba et al., 2004) An antimatroid* (*U*, S) *is a poset antimatroid if and only if every i* ∈ *U has a unique i-path in* S*.*

*Proof.* Let (*U*, S) be a poset antimatroid and let *A*, *B*, *A* �= *B* be two distinct *i*-paths for *i* ∈ *U*. Then *i* ∈ *A* ∩ *B* ∈ S. Since each *i*-path is a minimal feasible set containing *i*, then *A B* and *B A*. Hence the chain property implies the existence of an element *j* ∈ *A* − (*A* ∩ *B*) such that *A* − *j* ∈ S. This is a contradiction with *A* being an *i*-path.

Now suppose that every *i* ∈ *U* has a unique *i*-path in S. Let *X*, *Y* ∈ S. If *X* ∩ *Y* = ∅ then *X* ∩ *Y* ∈ S by definition of an antimatroid.

If *<sup>X</sup>* <sup>∩</sup> *<sup>Y</sup>* �<sup>=</sup> <sup>∅</sup> then for every *<sup>i</sup>* <sup>∈</sup> *<sup>U</sup>* there exists an *<sup>i</sup>*-path *<sup>H</sup><sup>i</sup>* <sup>1</sup> <sup>⊆</sup> *<sup>X</sup>* and *<sup>H</sup><sup>i</sup>* <sup>2</sup> ⊆ *Y*, because each *i*-path is a minimal feasible set containing *i*. By assumption *H<sup>i</sup>* <sup>1</sup> <sup>=</sup> *<sup>H</sup><sup>i</sup>* <sup>2</sup> <sup>=</sup> *<sup>H</sup><sup>i</sup>* . Thus, for all *<sup>i</sup>* <sup>∈</sup> *<sup>X</sup>* <sup>∩</sup> *<sup>Y</sup>*, an *<sup>i</sup>*-path *<sup>H</sup><sup>i</sup>* <sup>⊆</sup> *<sup>X</sup>* <sup>∩</sup> *<sup>Y</sup>*, and so *<sup>X</sup>* <sup>∩</sup> *<sup>Y</sup>* <sup>=</sup> *<sup>i</sup>*∈*X*∩*<sup>Y</sup> <sup>H</sup><sup>i</sup>* . Therefore, *X* ∩ *Y* ∈ S, since every antimatroid is closed under union. Hence, (*U*, S) is a poset antimatroid.

**Lemma 4.3.** *Any 2-antimatroid* (*U*, S) *has a unique i-path for each i* ∈ *U.*

*Proof.* Suppose the opposite. Let *A*, *B* ∈ S be two different *i*-paths. Note that *A B* and *B A*, since each *i*-path is a minimal set containing *i*.

Consider the set *Z* = *A* ∪ *B*. From the chain property it follows that there is *b* ∈ *B* − *A*, such that *Z* − *b* ∈ S. On the other hand, there is *a* ∈ *A* − *B* with *Z* − *a* ∈ S. Since (*A* − *i*) ∪ (*B*− *i*) = *Z* − *i* ∈ *S*, we have that *degin*(*Z*) ≥ 3.

Lemmas 4.2 and 4.3 imply the following.

**Proposition 4.4.** *Any 2-antimatroid is a poset antimatroid.*

Denote *Ck* = {*X* ∈ S : |*X*| = *k*} a family of feasible sets of cardinality *k*.

**Definition 4.5.** *A lower zigzag is a sequence of feasible sets P*0, *P*1, ..., *P*2*<sup>m</sup> such that any two consecutive sets in the sequence differ by a single element and P*2*<sup>i</sup>* ∈ *Ck, and P*2*i*−<sup>1</sup> ∈ *Ck*−<sup>1</sup> *for all* 0 ≤ *i* ≤ *m.*

In the same way we define an *upper zigzag* in which *<sup>P</sup>*2*i*−<sup>1</sup> ∈ *Ck*+1.

Each zigzag *P*0, *P*1, ..., *P*2*<sup>m</sup>* is a path connecting *P*<sup>0</sup> and *P*2*m*, and so the distance on the zigzag *d*(*P*0, *P*2*m*) = 2*m* is always no less than the distance *dS*(*P*0, *P*2*m*) on an antimatroid (*U*, S).

In Figure 6 we can see two sets (*A* = {1, 2, 3, 5} and *B* = {1, 3, 4, 5}) that are connected by an unique lower zigzag, such that the distance on the zigzag is 4, while |*A* � *B*| = 2. Note, that the distance on the upper zigzag is indeed 2. For two sets *X* = {1, 2, 5} and *Y* = {3, 4, 5} both distances on the lower zigzag and on the upper zigzag are equal to 6, while |*X* � *Y*| = 4.

①①①①①

❅❅

For poset antimatroids there are distance preserving zigzags connecting two given sets, but these zigzags are not obliged to connect all feasible sets of the same cardinality. In Figure 8 we can see that there is a poset antimatroids, for which it is not possible to build two distance

❅

❅

❅❅

*<sup>A</sup>*

Poly-Dimension of Antimatroids 99

❅❅❅

❅

*B* − *b*

*B*

❅❅

❅

❅❅

❅❅❅

preserving zigzags connecting all feasible sets of the same cardinality.

✟✟✟✟✟✟

{1}

❅❅

Fig. 8. A poset antimatroid without total zigzags.

connected by one distance preserving zigzag.

that it is correct for all sets *A* ∈ S with |*A*| < *k*.

upper zigzag.

❍❍

❅

❅❅

❅❅

Fig. 7. Zigzags of an antimatroid.

*A* − *a*

❅

①①①①

①①①①

①

It is worth mentioning that in 2-antimatroids all feasible sets of the same cardinality may be

**Proposition 4.7.** *In 2-antimatroid* (*U*, S) *all feasible sets Ck of the same cardinality k can be connected both by a lower and an upper zigzag in such a way that the distance between any two sets d*<sup>S</sup> (*Pi*, *Pj*)

*Proof.* We proceed by induction on cardinality *k*. For one-elements sets it is obvious. Assume

Each set from *Ck* is obtained from some set of cardinality *k* − 1. Since an antimatroid is closed under union and its maximum in-degree and out-degree is 2, the *n* + 1 sets of cardinality *k* − 1 connected by an upper zigzag form *n* sets from *Ck*. In addition to these *n* sets, each of two extreme sets (*P*<sup>0</sup> and *P*2*n*) can form one more set of cardinality *k* that does not belong to the upper zigzag. Since each out-degree is less than 3 there are no other sets of cardinality *k*. So, the set *Ck* is connected by a lower zigzag. Since an antimatroid is closed under union and its maximum in-degree is 2, all feasible sets of the same cardinality *k* are also connected by an

Now prove that the distance on the zigzags coincides with the distance on the antimatroid. Since maximum in-degree and out-degree are 2, the obtained lower zigzag is only lower

 ❅ ❅❅

❍❍

✟✟✟✟✟✟

∅

❅❅❅

*belonging to the same zigzag coincides with distance on the zigzag d*(*Pi*, *Pj*) = |*j* − *i*|*.*

❍❍

❅

❍❍

①①①

{3}

{2}

❍❍

①①①

{1, 2} {1, 3} {2, 3}

①

❍❍

{1, 2, 3}

Fig. 6. An antimatroid without distance preserving zigzags.

In order to get the distance on a zigzag equal to the set distance, an antimatroid has to be a poset antimatroid.

**Theorem 4.6.** *In each poset antimatroid* (*U*, S) *every two feasible sets A*, *B of the same cardinality k can be connected both by a lower and an upper zigzag in such a way that the distance between these sets d*<sup>S</sup> (*A*, *<sup>B</sup>*) *coincides with the distance on the zigzags.*

*Proof.* We use induction on *k*. For every pair of one-element feasible sets {*x*} and {*y*} there is a lower zigzag (via ∅) and an upper zigzag (via {*x*, *y*}) such that the distance between these sets *<sup>d</sup>*<sup>S</sup> ({*x*}, {*y*}) = 2 on the antimatroid coincides with distances on the zigzags.

Assume that the hypothesis of the theorem is correct for all sets *X* ∈ S with |*X*| < *k*.

Consider two sets *<sup>A</sup>*, *<sup>B</sup>* ∈ *Ck* and let *<sup>d</sup>*<sup>S</sup> (*A*, *<sup>B</sup>*) = |*<sup>A</sup>* � *<sup>B</sup>*| = <sup>2</sup>*m*. Since (*U*, S) is a poset antimatroid, the set *A* ∩ *B* ∈ S. Hence, by the chain property, there is *a* ∈ *A* − *B* such that *<sup>A</sup>* − *<sup>a</sup>* ∈ S, and *<sup>b</sup>* ∈ *<sup>B</sup>* − *<sup>A</sup>* with *<sup>B</sup>* − *<sup>b</sup>* ∈ S. These two sets belong to *Ck*−1, so there are an upper zigzag *<sup>A</sup>* − *<sup>a</sup>* = *<sup>P</sup>*1, *<sup>P</sup>*2, ..., *<sup>P</sup>*2*l*−<sup>1</sup> = *<sup>B</sup>* − *<sup>b</sup>* connecting *<sup>A</sup>* − *<sup>a</sup>* with *<sup>B</sup>* − *<sup>b</sup>* (see Figure 7). Since *<sup>d</sup>*<sup>S</sup> (*<sup>A</sup>* − *<sup>a</sup>*, *<sup>B</sup>* − *<sup>b</sup>*) = |*<sup>A</sup>* � *<sup>B</sup>*| − <sup>2</sup> = <sup>2</sup>*<sup>m</sup>* − 2, the distance on the upper zigzag between *A* − *a* and *B* − *b* is 2*m* − 2 by the induction hypothesis, i.e., 2*l* − 1 = 2*m* − 1. It is easy to see that neither *<sup>A</sup>* nor *<sup>B</sup>* belongs to the upper zigzag *<sup>A</sup>* − *<sup>a</sup>* = *<sup>P</sup>*1, *<sup>P</sup>*2, ..., *<sup>P</sup>*2*m*−<sup>1</sup> = *<sup>B</sup>* − *<sup>b</sup>*, because otherwise it implies that *<sup>d</sup>*<sup>S</sup> (*A*, *<sup>B</sup>*) ≤ <sup>2</sup>*<sup>m</sup>* − 2. Hence exists a lower zigzag *<sup>A</sup>* = *<sup>P</sup>*0, *<sup>A</sup>* − *<sup>a</sup>* = *<sup>P</sup>*1, *<sup>P</sup>*2, ..., *<sup>P</sup>*2*m*−<sup>1</sup> = *<sup>B</sup>* − *<sup>b</sup>*, *<sup>P</sup>*2*<sup>m</sup>* = *<sup>B</sup>* connecting *<sup>A</sup>* and *<sup>B</sup>* such that the distance on the zigzag between *A* and *B* equals 2*m*.

Let *<sup>P</sup><sup>i</sup>* <sup>=</sup> *Pi*−<sup>1</sup> <sup>∪</sup> *Pi*<sup>+</sup><sup>1</sup> for each *<sup>i</sup>* <sup>=</sup> 1, 3, ..., 2*<sup>m</sup>* <sup>−</sup> 1. All obtained sets are different, because otherwise *<sup>d</sup>*<sup>S</sup> (*A*, *<sup>B</sup>*) < <sup>2</sup>*m*. So there is the upper zigzag by length 2*<sup>m</sup>* connecting *<sup>A</sup>* and *<sup>B</sup>*.

Note that if for a zigzag *P*0, *P*1, ..., *P*2*<sup>m</sup>* the distance on the zigzag *d*(*P*0, *P*2*m*) = 2*m* is equal to the distance *dS*(*P*0, *P*2*m*) = |*P*<sup>0</sup> � *P*2*m*| then the zigzag preserves the distance for each pair *Pi*, *Pj*, i.e., *dS*(*Pi*, *Pj*) = *d*(*Pi*, *Pj*) = |*j* − *i*|.

10 Will-be-set-by-IN-TECH

① ①

①

✟✟✟

In order to get the distance on a zigzag equal to the set distance, an antimatroid has to be a

**Theorem 4.6.** *In each poset antimatroid* (*U*, S) *every two feasible sets A*, *B of the same cardinality k can be connected both by a lower and an upper zigzag in such a way that the distance between these*

*Proof.* We use induction on *k*. For every pair of one-element feasible sets {*x*} and {*y*} there is a lower zigzag (via ∅) and an upper zigzag (via {*x*, *y*}) such that the distance between these

Consider two sets *<sup>A</sup>*, *<sup>B</sup>* ∈ *Ck* and let *<sup>d</sup>*<sup>S</sup> (*A*, *<sup>B</sup>*) = |*<sup>A</sup>* � *<sup>B</sup>*| = <sup>2</sup>*m*. Since (*U*, S) is a poset antimatroid, the set *A* ∩ *B* ∈ S. Hence, by the chain property, there is *a* ∈ *A* − *B* such that *<sup>A</sup>* − *<sup>a</sup>* ∈ S, and *<sup>b</sup>* ∈ *<sup>B</sup>* − *<sup>A</sup>* with *<sup>B</sup>* − *<sup>b</sup>* ∈ S. These two sets belong to *Ck*−1, so there are an upper zigzag *<sup>A</sup>* − *<sup>a</sup>* = *<sup>P</sup>*1, *<sup>P</sup>*2, ..., *<sup>P</sup>*2*l*−<sup>1</sup> = *<sup>B</sup>* − *<sup>b</sup>* connecting *<sup>A</sup>* − *<sup>a</sup>* with *<sup>B</sup>* − *<sup>b</sup>* (see Figure 7). Since *<sup>d</sup>*<sup>S</sup> (*<sup>A</sup>* − *<sup>a</sup>*, *<sup>B</sup>* − *<sup>b</sup>*) = |*<sup>A</sup>* � *<sup>B</sup>*| − <sup>2</sup> = <sup>2</sup>*<sup>m</sup>* − 2, the distance on the upper zigzag between *A* − *a* and *B* − *b* is 2*m* − 2 by the induction hypothesis, i.e., 2*l* − 1 = 2*m* − 1. It is easy to see that neither *<sup>A</sup>* nor *<sup>B</sup>* belongs to the upper zigzag *<sup>A</sup>* − *<sup>a</sup>* = *<sup>P</sup>*1, *<sup>P</sup>*2, ..., *<sup>P</sup>*2*m*−<sup>1</sup> = *<sup>B</sup>* − *<sup>b</sup>*, because otherwise it implies that *<sup>d</sup>*<sup>S</sup> (*A*, *<sup>B</sup>*) ≤ <sup>2</sup>*<sup>m</sup>* − 2. Hence exists a lower zigzag *<sup>A</sup>* = *<sup>P</sup>*0, *<sup>A</sup>* − *<sup>a</sup>* = *<sup>P</sup>*1, *<sup>P</sup>*2, ..., *<sup>P</sup>*2*m*−<sup>1</sup> = *<sup>B</sup>* − *<sup>b</sup>*, *<sup>P</sup>*2*<sup>m</sup>* = *<sup>B</sup>* connecting *<sup>A</sup>* and *<sup>B</sup>* such that the distance on the zigzag

Let *<sup>P</sup><sup>i</sup>* <sup>=</sup> *Pi*−<sup>1</sup> <sup>∪</sup> *Pi*<sup>+</sup><sup>1</sup> for each *<sup>i</sup>* <sup>=</sup> 1, 3, ..., 2*<sup>m</sup>* <sup>−</sup> 1. All obtained sets are different, because otherwise *<sup>d</sup>*<sup>S</sup> (*A*, *<sup>B</sup>*) < <sup>2</sup>*m*. So there is the upper zigzag by length 2*<sup>m</sup>* connecting *<sup>A</sup>* and *<sup>B</sup>*.

Note that if for a zigzag *P*0, *P*1, ..., *P*2*<sup>m</sup>* the distance on the zigzag *d*(*P*0, *P*2*m*) = 2*m* is equal to the distance *dS*(*P*0, *P*2*m*) = |*P*<sup>0</sup> � *P*2*m*| then the zigzag preserves the distance for each pair

sets *<sup>d</sup>*<sup>S</sup> ({*x*}, {*y*}) = 2 on the antimatroid coincides with distances on the zigzags. Assume that the hypothesis of the theorem is correct for all sets *X* ∈ S with |*X*| < *k*.

❍❍

❅

❅

✟✟✟

❅❅❅

❅❅

❍ ❍❍

❅

❍ ❍❍

{1} {3}

∅

{1, 3} {1, 2} {3, 4}

> ❍❍ ❍

 

✟✟✟✟✟

❍

✟

Fig. 6. An antimatroid without distance preserving zigzags.

*sets d*<sup>S</sup> (*A*, *<sup>B</sup>*) *coincides with the distance on the zigzags.*

poset antimatroid.

between *A* and *B* equals 2*m*.

*Pi*, *Pj*, i.e., *dS*(*Pi*, *Pj*) = *d*(*Pi*, *Pj*) = |*j* − *i*|.

①①①

 

❅ ❅ ❅

①① ①①

*X* = {1, 2, 5} *Y* = {3, 4, 5}

①①①

*A* = {1, 2, 3, 5} *B* = {1, 3, 4, 5}

❅❅

❅❅

①

{1, 2, 3, 4, 5}

Fig. 7. Zigzags of an antimatroid.

For poset antimatroids there are distance preserving zigzags connecting two given sets, but these zigzags are not obliged to connect all feasible sets of the same cardinality. In Figure 8 we can see that there is a poset antimatroids, for which it is not possible to build two distance preserving zigzags connecting all feasible sets of the same cardinality.

Fig. 8. A poset antimatroid without total zigzags.

It is worth mentioning that in 2-antimatroids all feasible sets of the same cardinality may be connected by one distance preserving zigzag.

**Proposition 4.7.** *In 2-antimatroid* (*U*, S) *all feasible sets Ck of the same cardinality k can be connected both by a lower and an upper zigzag in such a way that the distance between any two sets d*<sup>S</sup> (*Pi*, *Pj*) *belonging to the same zigzag coincides with distance on the zigzag d*(*Pi*, *Pj*) = |*j* − *i*|*.*

*Proof.* We proceed by induction on cardinality *k*. For one-elements sets it is obvious. Assume that it is correct for all sets *A* ∈ S with |*A*| < *k*.

Each set from *Ck* is obtained from some set of cardinality *k* − 1. Since an antimatroid is closed under union and its maximum in-degree and out-degree is 2, the *n* + 1 sets of cardinality *k* − 1 connected by an upper zigzag form *n* sets from *Ck*. In addition to these *n* sets, each of two extreme sets (*P*<sup>0</sup> and *P*2*n*) can form one more set of cardinality *k* that does not belong to the upper zigzag. Since each out-degree is less than 3 there are no other sets of cardinality *k*. So, the set *Ck* is connected by a lower zigzag. Since an antimatroid is closed under union and its maximum in-degree is 2, all feasible sets of the same cardinality *k* are also connected by an upper zigzag.

Now prove that the distance on the zigzags coincides with the distance on the antimatroid. Since maximum in-degree and out-degree are 2, the obtained lower zigzag is only lower

*Proof.* We have to prove that for all *<sup>A</sup>*, *<sup>B</sup>* ∈ S the distance *<sup>d</sup>*<sup>S</sup> (*A*, *<sup>B</sup>*) on the antimatroid (*U*, S)

Poly-Dimension of Antimatroids 101


If *A* ⊆ *B*, then there is a shortest path connecting *B* with ∅ via *A*, and so |*A* � *B*| = |*B* − *A*| =

Consider two incomparable sets *A*, *B* ∈ S. Since a 2-antimatroid is a poset antimatroid, *A* ∩ *B* ∈ S. Then there are a shortest path *PA* connecting *A* with ∅ via *A* ∩ *B*, and a shortest path *PB* connecting *B* with ∅ via *A* ∩ *B*. Since |*A* � *B*| = |*A* − *A* ∩ *B*| + |*B* − *A* ∩ *B*|, remain to prove that the part of *PA* from *A* till *A* ∩ *B* is labeled by only one label (for example *x*) and the part

Indeed, from *A* ∩ *B* go out two different edges marked by two different labels, where one belongs to *PA* and the second belongs to *PB*. Let the label of the first edge was *x* and the label of the second edge was *y*. Denote obtained sets as *A*<sup>1</sup> and *B*1. Note that *A*<sup>1</sup> = (*A* ∩ *B*) ∪ *a* and *B*<sup>1</sup> = (*A* ∩ *B*) ∪ *b*, where *a* ∈ *A* − *B* and *b* ∈ *B* − *A*. If *A*<sup>1</sup> �= *A* then from *A*<sup>1</sup> go out two edges. The first edge (*A*1, *A*<sup>1</sup> ∪ *b*) is labeled by *y* and does not belong to *PA* since *b* ∈ *B* − *A*. The second edge (*A*1, *A*2) is labeled by *x* and belongs to *PA*. The same is correct for each set on path *PA* from *A* till *A* ∩ *B*. So the part of *PA* from *A* till *A* ∩ *B* is labeled by label *x* only. By

**Conjecture 5.1.** *The poly-dimension of an antimatroid equals d if and only if it is a d-antimatroid.*

Algaba, E.; Bilbao, J.M.; van den Brink, R. & Jimenez-Losada A. (2004). Cooperative Games on

Algaba, E.; Bilbao, J.M. & Slikker, M. (2010). A Value for Games Restricted by Augmenting

Bilbao, J.M. (2003). Cooperative Games under Augmenting Systems. *SIAM J. Discrete*

Björner, A.; Lovász, L. & Shor, P.R. (1991). Chip-firing Games on Graphs. *European Journal of*

Björner, A. & Ziegler, G.M. (1992). Introduction to Greedoids, In: *Matroid applications*, N.

Boley, M; Horváth,T; Poigné,A & Wrobel,S. (2010). Listing Closed Sets of Strongly Accessible

Boyd, E.A. & Faigle, U. (1990). An Algorithmic Characterization of Antimatroids. *Discrete*

Set Systems with Applications to Data Mining. *Theoretical Computer Science - TCS* ,

the same way we obtain that the part of *PB* from *B* till *A* ∩ *B* is labeled by *y* only.

is equal to the distance ||*M*(*A*) <sup>−</sup> *<sup>M</sup>*(*B*)||<sup>1</sup> on **<sup>Z</sup>**2, i.e., it holds

of *PB* from *B* till *A* ∩ *B* is labeled by only one but another label (*y*).

**Theorem 4.11.** *The poly-dimension of a* 2*-antimatroid is two.*

It is clear that the poly-dimension of a *d*-antimatroid is at least *d*.

Antimatroids. *Discrete Mathematics*, Vol.282, 1-15.

White, (Ed.), Cambridge Univ.Press, Cambridge, UK.

*Mathematics*, Vol.17, No.1, 122-133.

*Applied Mathematics*, Vol.28, 197-205.

*Combinatorics*, Vol.12, 283-291.

Vol. 411, No. 3, 691-700.

Systems. *SIAM J. Discrete Mathematics*, Vol.24, No.3, 992-1010


Thus we have the following.

**5. Open problems**

**6. References**

zigzag connecting *P*<sup>0</sup> and *P*2*n*. Then from Theorem 4.6 it follows that it is a distance preserving zigzag. Similarly, we obtain that the upper zigzag preserves the distance as well.

For each edge (*A*, *B*) ∈ S there exists a single element *c* ∈ *B* such that *A* = *B* − *c*, and so we can label each edge by such element. Then, each 2-antimatroid consists of quadrilaterals with equal labels on opposite pairs of edges, since if it contains the vertices *X*, *X* ∪ *a*, *X* ∪ *b* for some *X* ∈ S, and *a*, *b* ∈ *U*, it also contains *X* ∪ {*a*, *b*}. This property, called by ∪-coloring, was invented in (Felsner & Knauer, 2009) as the characterization of join-distributive lattices.

**Proposition 4.8.** *There exists a labeling of edges of a* 2*-antimatroid by two labels x or y such that opposite pairs of edges in each quadrilateral have equal labels.*

*Proof.* To obtain such labeling we consequently scan a 2-antimatroid by layers *Ck* beginning from the empty set (*k* = 0). The first zigzag of edges we mark by two labels *x* and *y* in turn, beginning from *x* or from *y* arbitrary. From the Proposition 4.7 follows that the next zigzag can be marked alternate by two labels (*x*, *y*) in such a way that the opposite pairs of edges in each quadrilateral have equal labels (see Figure 9).

If we reach the layer *Ck* with one element, the next zigzag is labeled alternate by two labels without dependence on the previous layers.

Fig. 9. A zigzag labeling.

It follows from accessibility that for each *A* ∈ S there is a shortest path connecting *A* with ∅. The length of such path is equal to the cardinality of *A*. Let *M*(*A*) be a multiset containing all labels on this shortest path. Obviously, *<sup>M</sup>*(*A*) <sup>∈</sup> **<sup>Z</sup>**2. It is possible that there are some shortest paths between *A* and ∅. Prove that all such paths result in the same multiset.

**Lemma 4.9.** *In every* 2*-antimatroid* (*U*, S) *for each A* ∈ S *all shortest paths connecting A with* ∅ *forms the same multiset M*(*A*)*.*

*Proof.* We use induction on cardinality *k*. For one-elements sets it is obviously. Assume it is correct for all sets *A* ∈ S with |*A*| < *k*. Consider *Y* ∈ *Ck*. If *Y* is obtained from only one set of cardinality *k* − 1, then *M*(*Y*) is unique. If *Y* = *A* ∪ *a* = *B* ∪ *b*, then there is *X* = *A* ∩ *B* ∈ S such that *A* = *X* ∪ *b* and *B* = *X* ∪ *a*, since every 2-antimatroid is a poset antimatroid. Let a label of (*X*, *X* ∪ *b*) be *x*, and a label of (*X*, *X* ∪ *a*) be *y*. Thus *M*(*A*) = *M*(*X*) ∪ *x* and *M*(*B*) = *M*(*X*) ∪ *y*, and so *M*(*Y*) = *M*(*X*) ∪ {*x*, *y*}. Therefore, by induction hypothesis, all shortest path connecting *Y* with ∅ forms the same *M*(*Y*).

**Proposition 4.10.** *In every* <sup>2</sup>*-antimatroid* (*U*, <sup>S</sup>) *the mapping M* : (*U*, <sup>S</sup>) <sup>→</sup> **<sup>Z</sup>**2*, where each A* ∈ S *corresponds to M*(*A*)*, is an isometry.*

12 Will-be-set-by-IN-TECH

zigzag connecting *P*<sup>0</sup> and *P*2*n*. Then from Theorem 4.6 it follows that it is a distance preserving

For each edge (*A*, *B*) ∈ S there exists a single element *c* ∈ *B* such that *A* = *B* − *c*, and so we can label each edge by such element. Then, each 2-antimatroid consists of quadrilaterals with equal labels on opposite pairs of edges, since if it contains the vertices *X*, *X* ∪ *a*, *X* ∪ *b* for some *X* ∈ S, and *a*, *b* ∈ *U*, it also contains *X* ∪ {*a*, *b*}. This property, called by ∪-coloring, was invented in (Felsner & Knauer, 2009) as the characterization of join-distributive lattices.

**Proposition 4.8.** *There exists a labeling of edges of a* 2*-antimatroid by two labels x or y such that*

*Proof.* To obtain such labeling we consequently scan a 2-antimatroid by layers *Ck* beginning from the empty set (*k* = 0). The first zigzag of edges we mark by two labels *x* and *y* in turn, beginning from *x* or from *y* arbitrary. From the Proposition 4.7 follows that the next zigzag can be marked alternate by two labels (*x*, *y*) in such a way that the opposite pairs of edges in

If we reach the layer *Ck* with one element, the next zigzag is labeled alternate by two labels

①①①①①

❅

*x*

 

❅ ❅ ❅

*x*

*y*

*<sup>y</sup>*

paths between *A* and ∅. Prove that all such paths result in the same multiset.

 

*y*

❅

*x*

❅❅

❅

*x*

*y*

❅❅

❅ ❅ ❅

*x*

*y*

①①①①

*y*

①①①①

❅❅

It follows from accessibility that for each *A* ∈ S there is a shortest path connecting *A* with ∅. The length of such path is equal to the cardinality of *A*. Let *M*(*A*) be a multiset containing all labels on this shortest path. Obviously, *<sup>M</sup>*(*A*) <sup>∈</sup> **<sup>Z</sup>**2. It is possible that there are some shortest

**Lemma 4.9.** *In every* 2*-antimatroid* (*U*, S) *for each A* ∈ S *all shortest paths connecting A with* ∅

*Proof.* We use induction on cardinality *k*. For one-elements sets it is obviously. Assume it is correct for all sets *A* ∈ S with |*A*| < *k*. Consider *Y* ∈ *Ck*. If *Y* is obtained from only one set of cardinality *k* − 1, then *M*(*Y*) is unique. If *Y* = *A* ∪ *a* = *B* ∪ *b*, then there is *X* = *A* ∩ *B* ∈ S such that *A* = *X* ∪ *b* and *B* = *X* ∪ *a*, since every 2-antimatroid is a poset antimatroid. Let a label of (*X*, *X* ∪ *b*) be *x*, and a label of (*X*, *X* ∪ *a*) be *y*. Thus *M*(*A*) = *M*(*X*) ∪ *x* and *M*(*B*) = *M*(*X*) ∪ *y*, and so *M*(*Y*) = *M*(*X*) ∪ {*x*, *y*}. Therefore, by induction hypothesis, all shortest

**Proposition 4.10.** *In every* <sup>2</sup>*-antimatroid* (*U*, <sup>S</sup>) *the mapping M* : (*U*, <sup>S</sup>) <sup>→</sup> **<sup>Z</sup>**2*, where each A* ∈ S

zigzag. Similarly, we obtain that the upper zigzag preserves the distance as well.

*opposite pairs of edges in each quadrilateral have equal labels.*

each quadrilateral have equal labels (see Figure 9).

*y*

❅

*x*

❅ ❅ ❅

*x*

*y*

path connecting *Y* with ∅ forms the same *M*(*Y*).

*corresponds to M*(*A*)*, is an isometry.*

❅❅

without dependence on the previous layers.

 

❅

Fig. 9. A zigzag labeling.

*forms the same multiset M*(*A*)*.*

*x*

❅❅

*Proof.* We have to prove that for all *<sup>A</sup>*, *<sup>B</sup>* ∈ S the distance *<sup>d</sup>*<sup>S</sup> (*A*, *<sup>B</sup>*) on the antimatroid (*U*, S) is equal to the distance ||*M*(*A*) <sup>−</sup> *<sup>M</sup>*(*B*)||<sup>1</sup> on **<sup>Z</sup>**2, i.e., it holds

$$|A \triangle B| = |M(A) \triangle M(B)|.$$

If *A* ⊆ *B*, then there is a shortest path connecting *B* with ∅ via *A*, and so |*A* � *B*| = |*B* − *A*| = |*M*(*B*) − *M*(*A*)| = |*M*(*A*) � *M*(*B*)|.

Consider two incomparable sets *A*, *B* ∈ S. Since a 2-antimatroid is a poset antimatroid, *A* ∩ *B* ∈ S. Then there are a shortest path *PA* connecting *A* with ∅ via *A* ∩ *B*, and a shortest path *PB* connecting *B* with ∅ via *A* ∩ *B*. Since |*A* � *B*| = |*A* − *A* ∩ *B*| + |*B* − *A* ∩ *B*|, remain to prove that the part of *PA* from *A* till *A* ∩ *B* is labeled by only one label (for example *x*) and the part of *PB* from *B* till *A* ∩ *B* is labeled by only one but another label (*y*).

Indeed, from *A* ∩ *B* go out two different edges marked by two different labels, where one belongs to *PA* and the second belongs to *PB*. Let the label of the first edge was *x* and the label of the second edge was *y*. Denote obtained sets as *A*<sup>1</sup> and *B*1. Note that *A*<sup>1</sup> = (*A* ∩ *B*) ∪ *a* and *B*<sup>1</sup> = (*A* ∩ *B*) ∪ *b*, where *a* ∈ *A* − *B* and *b* ∈ *B* − *A*. If *A*<sup>1</sup> �= *A* then from *A*<sup>1</sup> go out two edges. The first edge (*A*1, *A*<sup>1</sup> ∪ *b*) is labeled by *y* and does not belong to *PA* since *b* ∈ *B* − *A*. The second edge (*A*1, *A*2) is labeled by *x* and belongs to *PA*. The same is correct for each set on path *PA* from *A* till *A* ∩ *B*. So the part of *PA* from *A* till *A* ∩ *B* is labeled by label *x* only. By the same way we obtain that the part of *PB* from *B* till *A* ∩ *B* is labeled by *y* only.

Thus we have the following.

**Theorem 4.11.** *The poly-dimension of a* 2*-antimatroid is two.*

#### **5. Open problems**

It is clear that the poly-dimension of a *d*-antimatroid is at least *d*.

**Conjecture 5.1.** *The poly-dimension of an antimatroid equals d if and only if it is a d-antimatroid.*

#### **6. References**


**0**

**5**

*Japan*

Tetsuya Yoshida

**A Semi-Supervised Clustering Method Based on**

Semi-supervised learning is a machine learning framework where learning from data is conducted by utilizing a small amount of labeled data as well as a large amount of unlabeled data (Chapelle et al., 2006). It has been intensively studied in data mining and machine learning communities recently. One of the reasons is that, it can alleviate the time-consuming effort to collect "ground truth" labeled data while sustaining relatively high performance by exploiting a large amount of unlabeled data. (Blum & Mitchell, 1998) showed the PAC

On the other hand, data clustering, also called unsupervised learning, is a method of creating groups of objects, or clusters, in such a way that objects in one cluster are very similar and objects in different clusters are quite distinct. Clustering is one of the most frequently performed analysis (Jain et al., 1999). For example, in web activity logs, clusters can indicate navigation patterns of different user groups. Another direct application could be clustering of

Although labeled data is not required in clustering, sometimes constraints on data assignment might be available as domain knowledge about the data to be clustered. In such a situation, it is desirable to utilize the available constraints as semi-supervised information and to improve the performance of clustering (Basu et al., 2008). By regarding constraints on data assignment as supervised information, various research efforts have been conducted on semi-supervised clustering (Basu et al., 2004; 2008; Li et al., 2008; Tang et al., 2007; Xing et al., 2003). Although various forms of constraints can be considered, based on the previous work (Li et al., 2008; Tang et al., 2007; Wagstaff et al., 2001; Xing et al., 2003), we deal with the following two kinds of pairwise constraints in this paper: must-link constraints and cannot-link constraints. In this

When similarities among data instances are specified, by connecting each pair of instances with an edge with the corresponding similarity, the entire data instances can be represented as an edge-weighted graph. In this chapter we present our semi-supervised clustering method based on graph contraction in general graph theory and graph Laplacian in spectral graph theory. Graph representation enables to deal with two kinds of pairwise constraints as well as pairwise similarities over a unified representation. Then, the graph is modified by contraction in graph theory (Diestel, 2006) and graph Laplacian in spectral graph theory (Chung, 1997;

learnability of semi-supervised learning, especially in classification problem.

gene expression data so that genes within a same group evinces similar behavior.

chapter, the former is also called as must-links, and the latter as cannot-links.

von Luxburg, 2007) to reflect the pairwise constraints.

**1. Introduction**

**Graph Contraction and Spectral Graph Theory**

*Graduate School of Information Science and Technology, Hokkaido University*


## **A Semi-Supervised Clustering Method Based on Graph Contraction and Spectral Graph Theory**

Tetsuya Yoshida *Graduate School of Information Science and Technology, Hokkaido University Japan*

### **1. Introduction**

14 Will-be-set-by-IN-TECH

102 New Frontiers in Graph Theory

Cosyn, E. & Uzun, H.B. (2009). Note on Two Necessary and Sufficient Axioms for a

Dilworth, R.P. (1940). Lattices with Unique Irreducible Decomposition. *Ann. of Mathematics*,

Djokovic, D.Z. (1973). Distance Preserving Subgraphs of Hypercubes. *J. Combin. Theory Ser.B*,

Doignon, J.-P. & Falmagne, J.-Cl. (1997). Well-graded Families of Relations. *Discrete*

Eppstein, D. (2005). The Lattice Dimension of a Graph. *European Journal of Combinatorics*,

Eppstein, D. (2008). Upright-Quad Drawing of st-Planar Learning Spaces. *Journal of Graph*

Eppstein, D.; Falmagne, J.-Cl. & Ovchinnikov, S. (2008). *Media Theory: Interdisciplinary Applied*

Falmagne, J.-Cl. & Doignon, J.-P., (2011). *Learning Spaces: Interdisciplinary Applied Mathematics*,

Felsner, S. & Knauer, K. (2009). ULD-Lattices and Δ-Bondes. *Combinatorics, Probability and*

Glasserman, P. & Yao, D.D. (1994). *Monotone Structure in Discrete Event Systems*, Wiley

Grabisch, M. (2009). The Core of Games on Ordered Structures and Graphs. *4OR: A Quarterly*

Graham, R.L. & Pollak, H.O. (1971). On the Addressing Problem for Loop Switching. *Bell*

Honda, A. & Grabisch, M. (2008). An Axiomatization of Entropy of Capacities on Set Systems,

Kempner, Y. & Levit, V.E. (2003). Correspondence between Two Antimatroid Algorithmic

Kempner, Y. & Levit, V.E. (2007). A Geometric Characterization of Poly-antimatroids, *ENDM*

Kempner, Y. & Muchnik, I. (2003). Clustering on Antimatroids and Convex Geometries,

Monjardet, B. (2003). The Presence of Lattice Theory in Discrete Problems of Mathematical

Nakamura, M. (2005). Characterization of Polygreedoids and Poly-antimatroids by Greedy

Ovchinnikov, S. (2008). Partial cubes: Structures, Characterizations, and Constructions,

(extended) Chip Firing Games, *Discrete Mathematics and Theoretical Computer Science*

Korte, B.; Lovász, L. & R. Schrader, R. (1991). *Greedoids*, Springer-Verlag, New York/Berlin. Magnien, C.; Phan, H.D. & Vuillon, L. (2001). Characterization of Lattices Induced by

Inter-Science, Series in Probability and Mathematical Statistics.

Vol.41, 771-777.

Vol.14, 263-267.

Vol.26, 585-592.

*Mathematics*, Vol.173, 35–44.

Springer-Verlag, Berlin.

*Algorithms and Applications*, Vol.12, No.1, 51-72.

*Journal of Operations Research*, Vol.7, No.3, 207-238.

*European Journal of Operational Research*, Vol.190 , 526-538.

*(Electronic Notes in Discrete Mathematics)*, Vol.28, 357-364.

*WSEAS Transactions on Mathematics*, Vol.2, No.1, 54-59.

Social Sciences. Why, *Math. Social Science*, Vol.46, 103-144.

Algorithms, *Oper.Res. Lett.*, Vol.33, No. 4, 389-394.

Characterizations. *The Electronic Journal of Combinatorics*, Vol.10.

*System Technical Journal*, Vol.50, 2495-2519.

*Proceedings AA (DM-CCG)*, 229-244.

*Discrete Mathmatics*, Vol.308, 5597–5621.

*Mathematics*, Springer-Verlag, Berlin.

*Computing*, Vol.18, No.5, 707-724.

Well-graded Knowledge Space. *Journal of Mathematical Psychology*, Vol.53, No.1, 40-42.

Semi-supervised learning is a machine learning framework where learning from data is conducted by utilizing a small amount of labeled data as well as a large amount of unlabeled data (Chapelle et al., 2006). It has been intensively studied in data mining and machine learning communities recently. One of the reasons is that, it can alleviate the time-consuming effort to collect "ground truth" labeled data while sustaining relatively high performance by exploiting a large amount of unlabeled data. (Blum & Mitchell, 1998) showed the PAC learnability of semi-supervised learning, especially in classification problem.

On the other hand, data clustering, also called unsupervised learning, is a method of creating groups of objects, or clusters, in such a way that objects in one cluster are very similar and objects in different clusters are quite distinct. Clustering is one of the most frequently performed analysis (Jain et al., 1999). For example, in web activity logs, clusters can indicate navigation patterns of different user groups. Another direct application could be clustering of gene expression data so that genes within a same group evinces similar behavior.

Although labeled data is not required in clustering, sometimes constraints on data assignment might be available as domain knowledge about the data to be clustered. In such a situation, it is desirable to utilize the available constraints as semi-supervised information and to improve the performance of clustering (Basu et al., 2008). By regarding constraints on data assignment as supervised information, various research efforts have been conducted on semi-supervised clustering (Basu et al., 2004; 2008; Li et al., 2008; Tang et al., 2007; Xing et al., 2003). Although various forms of constraints can be considered, based on the previous work (Li et al., 2008; Tang et al., 2007; Wagstaff et al., 2001; Xing et al., 2003), we deal with the following two kinds of pairwise constraints in this paper: must-link constraints and cannot-link constraints. In this chapter, the former is also called as must-links, and the latter as cannot-links.

When similarities among data instances are specified, by connecting each pair of instances with an edge with the corresponding similarity, the entire data instances can be represented as an edge-weighted graph. In this chapter we present our semi-supervised clustering method based on graph contraction in general graph theory and graph Laplacian in spectral graph theory. Graph representation enables to deal with two kinds of pairwise constraints as well as pairwise similarities over a unified representation. Then, the graph is modified by contraction in graph theory (Diestel, 2006) and graph Laplacian in spectral graph theory (Chung, 1997; von Luxburg, 2007) to reflect the pairwise constraints.

(k-means algorithms (Hartigan & Wong, 1979)), or by one of its instances located near its center (k-medoid algorithms (Ng & Han, 2002)). For a recent overview of various clustering

A Semi-Supervised Clustering Method Based on Graph Contraction and Spectral Graph Theory 105

When pairwise similarities among instances are specified, the entire data can be represented as an edge-weighted graph. Various graph-theoretic clustering approaches have been proposed to find subsets of vertices in a graph based on the edges among the vertices. Several methods utilizes graph coloring techniques (Guënoche et al., 1991; Yoshida & Ogino, 2011). Other methods are based on the flow or cut in graph, such as spectral clustering (von Luxburg, 2007). Graph-based spectral approach is also utilized in information-theoretic clustering (Yoshida,

When the auxiliary or side information for data assignment in clustering is represented as a set of constraints, the *semi-supervised clustering* problem is (informally) described as follows. **Problem 1** (Semi-Supervised Clustering)**.** *For a given set of data X and specified constraints, find*

There can be various forms of constraints. Based on the previous work (Li et al., 2008; Tang et al., 2007; Wagstaff et al., 2001; Xing et al., 2003), we consider the following two kinds

**Definition 1** (Pairwise Constraints)**.** *For a given data instances X and a partition (a set of clusters) C =* {*c*1,..., *ck*}*, must-link constraints CML and cannot-link constraints CCL are sets of pairs such*

Intuitively, must-link constraints (also called must-links in this paper) specifies the pairs of instances in the same cluster, and cannot-link constraints (also called cannot-links) specifies

By assuming that some similarity measure for the pairs of instances is specified, we have proposed a graph-based approach for constrained clustering problem (Yoshida, 2010; Yoshida & Okatani, 2010). Based on the similarities, the entire data instances *X* can be represented as an edge-weighted graph *G* = (*V*, *E*,*W*) where *wij* represents the similarity between a pair (*xi*, *xj*). In our approach, each data instance *x* ∈ *X* corresponds to a vertex *v* ∈ *V* in *G*. Thus, we abuse the symbol *X* to denote the set of vertices in *G* in the rest of the paper.

Definition 1 specifies two kinds of constraints. For must-link constraints, our approach utilizes a method based on graph contraction in general graph theory (Diestel, 2006) and treat it as hard constraints (Sections 3.2); for cannot-link constraints, our approach utilizes a method based on graph Laplacian in spectral graph theory (Chung, 1997; von Luxburg, 2007) and

∃(*xi*, *xj*) ∈ *CML* ⇒ ∃*c* ∈ *C*,(*xi* ∈ *c* ∧ *xj* ∈ *c*) (1) ∃(*xi*, *xj*) ∈ *CML* ⇒ ∃*ca*, *cb* ∈ *C*, *ca* �= *cb*,(*xi* ∈ *ca* ∧ *xj* ∈ *cb*) (2)

*a partition (a set of clusters) T =* {*t*1,..., *tk*} *which satisfies the specified constraints.*

methods, please refer to (Jain et al., 1999).

**2.3 Semi-supervised clustering**

of constraints defined in (Wagstaff et al., 2001):

the pairs of instances in different clusters.

**3.1 A graph-based approach**

**3. Graph-based semi-supervised clustering**

Also, we assume that all *wij* is non-negative.

2011).

*that:*

Representing the relations (both pairwise constraints and similarities) among instances as an edge-weighted graph and modifying the graph structure based on the specified constraints enable to enhancing semi-supervised clustering. In our approach, the entire data instances are projected onto a subspace which is constructed with respect to the modified graph structure, and clustering is conducted over the projected data representation of instances. Although our approach utilizes graph Laplacian as in (Belkin & Niyogi, 2002), our approach differs from previous ones since pairwise constraints for semi-supervised clustering are also utilized in our approach for constructing the projected data representation (Yoshida, 2010; Yoshida & Okatani, 2010).

We report the performance evaluation of our approach, and compare it with other state-of-the-art semi-supervised clustering methods in terms of accuracy and running time. Extensive experiments are conducted over real-world datasets. The results are encouraging and indicate the effectiveness of our approach. Especially, our approach can leverage small amount of pairwise constraints to increase the performance. We believe that this is a good property in the semi-supervised learning setting.

The rest of this chapter is organized as follows. Section 2 explains the framework of semi-supervised clustering. Section 3 explains the details of our approach for clustering under pairwise constraints. Section 4 reports the performance evaluation over various document datasets. Section 5 discusses the effectiveness of our approach. Section 6 summarizes our contributions and suggests future directions.

### **2. Semi-supervised clustering**

#### **2.1 Preliminaries**

Let *X* be a set of instances. For a set *X*, |*X*| represents its cardinality.

A graph *G* = (*V*, *E*) consists of a finite set of vertices *V*, a set of edges *E* over *V* × *V*. The set *E* can be interpreted as representing a binary relation over *V*. A pair of vertices (*vi*, *vj*) is in the binary relation defined by a graph *G* = (*V*, *E*) if and only if the pair (*vi*, *vj*) ∈ *E*.

An edge-weighted graph *G* = (*V*, *E*, *W*) is defined as a graph *G* = (*V*, *E*) with a weight on each edge in *E*. When |*V*| = *n*, i.e., the number of vertices in a graph is *n*, the weights in *W* can be represented as an *n* by *n* matrix **W** 1, where *wij* in **W** stands for the weight on the edge for the pair (*vi*, *vj*) ∈ *E*. **W***ij* also stands for the element *wij* in the matrix. We set *wij* = 0 for pairs (*vi*, *vj*) �∈ *E*. In addition, we assume that *G* = (*V*, *E*,*W*) is an undirected, simple graph without self-loops. Thus, the weight matrix **W** is symmetric and its diagonal elements are zeros.

#### **2.2 Clustering**

In general, clustering methods can be divided into two approaches: hierarchical methods and partitioning methods. (Jain et al., 1999). Hierarchical methods construct a cluster hierarchy, or a tree of clusters (called a dendrogram), whose leaves are the data points and whose internal nodes represent nested clusters of various sizes (Guha et al., 1998). Hierarchical methods can be further subdivided into *agglomerative* and *divisive* ones. On the other hand, partitioning methods return a single partition of the entire data under a fixed parameters (number of clusters, thresholds, etc.). Each cluster can be represented by its centroid

<sup>1</sup> A bold italic symbol *W* denotes a set, while a bold symbol **W** denotes a matrix.

(k-means algorithms (Hartigan & Wong, 1979)), or by one of its instances located near its center (k-medoid algorithms (Ng & Han, 2002)). For a recent overview of various clustering methods, please refer to (Jain et al., 1999).

When pairwise similarities among instances are specified, the entire data can be represented as an edge-weighted graph. Various graph-theoretic clustering approaches have been proposed to find subsets of vertices in a graph based on the edges among the vertices. Several methods utilizes graph coloring techniques (Guënoche et al., 1991; Yoshida & Ogino, 2011). Other methods are based on the flow or cut in graph, such as spectral clustering (von Luxburg, 2007). Graph-based spectral approach is also utilized in information-theoretic clustering (Yoshida, 2011).

### **2.3 Semi-supervised clustering**

2 Graph Theory

Representing the relations (both pairwise constraints and similarities) among instances as an edge-weighted graph and modifying the graph structure based on the specified constraints enable to enhancing semi-supervised clustering. In our approach, the entire data instances are projected onto a subspace which is constructed with respect to the modified graph structure, and clustering is conducted over the projected data representation of instances. Although our approach utilizes graph Laplacian as in (Belkin & Niyogi, 2002), our approach differs from previous ones since pairwise constraints for semi-supervised clustering are also utilized in our approach for constructing the projected data representation (Yoshida, 2010;

We report the performance evaluation of our approach, and compare it with other state-of-the-art semi-supervised clustering methods in terms of accuracy and running time. Extensive experiments are conducted over real-world datasets. The results are encouraging and indicate the effectiveness of our approach. Especially, our approach can leverage small amount of pairwise constraints to increase the performance. We believe that this is a good

The rest of this chapter is organized as follows. Section 2 explains the framework of semi-supervised clustering. Section 3 explains the details of our approach for clustering under pairwise constraints. Section 4 reports the performance evaluation over various document datasets. Section 5 discusses the effectiveness of our approach. Section 6 summarizes our

A graph *G* = (*V*, *E*) consists of a finite set of vertices *V*, a set of edges *E* over *V* × *V*. The set *E* can be interpreted as representing a binary relation over *V*. A pair of vertices (*vi*, *vj*) is in the

An edge-weighted graph *G* = (*V*, *E*, *W*) is defined as a graph *G* = (*V*, *E*) with a weight on each edge in *E*. When |*V*| = *n*, i.e., the number of vertices in a graph is *n*, the weights in *W* can be represented as an *n* by *n* matrix **W** 1, where *wij* in **W** stands for the weight on the edge for the pair (*vi*, *vj*) ∈ *E*. **W***ij* also stands for the element *wij* in the matrix. We set *wij* = 0 for pairs (*vi*, *vj*) �∈ *E*. In addition, we assume that *G* = (*V*, *E*,*W*) is an undirected, simple graph without self-loops. Thus, the weight matrix **W** is symmetric and its diagonal elements

In general, clustering methods can be divided into two approaches: hierarchical methods and partitioning methods. (Jain et al., 1999). Hierarchical methods construct a cluster hierarchy, or a tree of clusters (called a dendrogram), whose leaves are the data points and whose internal nodes represent nested clusters of various sizes (Guha et al., 1998). Hierarchical methods can be further subdivided into *agglomerative* and *divisive* ones. On the other hand, partitioning methods return a single partition of the entire data under a fixed parameters (number of clusters, thresholds, etc.). Each cluster can be represented by its centroid

binary relation defined by a graph *G* = (*V*, *E*) if and only if the pair (*vi*, *vj*) ∈ *E*.

<sup>1</sup> A bold italic symbol *W* denotes a set, while a bold symbol **W** denotes a matrix.

Yoshida & Okatani, 2010).

property in the semi-supervised learning setting.

contributions and suggests future directions.

Let *X* be a set of instances. For a set *X*, |*X*| represents its cardinality.

**2. Semi-supervised clustering**

**2.1 Preliminaries**

are zeros.

**2.2 Clustering**

When the auxiliary or side information for data assignment in clustering is represented as a set of constraints, the *semi-supervised clustering* problem is (informally) described as follows.

**Problem 1** (Semi-Supervised Clustering)**.** *For a given set of data X and specified constraints, find a partition (a set of clusters) T =* {*t*1,..., *tk*} *which satisfies the specified constraints.*

There can be various forms of constraints. Based on the previous work (Li et al., 2008; Tang et al., 2007; Wagstaff et al., 2001; Xing et al., 2003), we consider the following two kinds of constraints defined in (Wagstaff et al., 2001):

**Definition 1** (Pairwise Constraints)**.** *For a given data instances X and a partition (a set of clusters) C =* {*c*1,..., *ck*}*, must-link constraints CML and cannot-link constraints CCL are sets of pairs such that:*

$$\exists (\mathbf{x}\_{i\prime} \mathbf{x}\_{\circ}) \in \mathbf{C}\_{ML} \Rightarrow \exists \mathcal{c} \in \mathbf{C}\_{\prime} \left(\mathbf{x}\_{i} \in \mathcal{c} \land \mathbf{x}\_{\circ} \in \mathcal{c}\right) \tag{1}$$

$$\exists (\mathbf{x}\_{i\prime} \mathbf{x}\_{j}) \in \mathbf{C}\_{ML} \Rightarrow \exists \mathbf{c}\_{a\prime} \mathbf{c}\_{b\prime} \in \mathbf{C}\_{\prime} \mathbf{c}\_{a} \neq \mathbf{c}\_{b\prime} \left(\mathbf{x}\_{i} \in \mathbf{c}\_{a} \land \mathbf{x}\_{j} \in \mathbf{c}\_{b}\right) \tag{2}$$

Intuitively, must-link constraints (also called must-links in this paper) specifies the pairs of instances in the same cluster, and cannot-link constraints (also called cannot-links) specifies the pairs of instances in different clusters.

### **3. Graph-based semi-supervised clustering**

### **3.1 A graph-based approach**

By assuming that some similarity measure for the pairs of instances is specified, we have proposed a graph-based approach for constrained clustering problem (Yoshida, 2010; Yoshida & Okatani, 2010). Based on the similarities, the entire data instances *X* can be represented as an edge-weighted graph *G* = (*V*, *E*,*W*) where *wij* represents the similarity between a pair (*xi*, *xj*). In our approach, each data instance *x* ∈ *X* corresponds to a vertex *v* ∈ *V* in *G*. Thus, we abuse the symbol *X* to denote the set of vertices in *G* in the rest of the paper. Also, we assume that all *wij* is non-negative.

Definition 1 specifies two kinds of constraints. For must-link constraints, our approach utilizes a method based on graph contraction in general graph theory (Diestel, 2006) and treat it as hard constraints (Sections 3.2); for cannot-link constraints, our approach utilizes a method based on graph Laplacian in spectral graph theory (Chung, 1997; von Luxburg, 2007) and

Based on the above observation, we define the weights in the contracted graph *G*/*e* as:

eq.(6).

into another graph *G*�

**3.3.1 Spectral clustering**

contracted graph *G*� is denoted as *n*

= (*X*� , *E* � ,*W*�

cannot-links over the created graph *G*� is denoted as *C*�

vector *f* which minimizes the following objective function :

where *f<sup>t</sup>* is a transpose of vector *f*, and the matrix **L** is defined as:

representation of instances (Ng et al., 2001; von Luxburg, 2007).

<sup>2</sup> skmeans is a standard clustering algorithm for high-dimensional sparse data.

**3.3.2 Graph Laplacian for cannot-link constraints**

**3.3 Graph Laplacian for cannot-link constraints**

� <sup>=</sup> <sup>|</sup>*X*�

where *w*(·, ·)� stands for the weight in the contracted graph *G*/*e*. In eq.(5), the function max realizes the above requirement, and guarantees the non-decreasing properties of similarities (weights) after contraction of an edge. On the other hand, the original weight is preserved in

A Semi-Supervised Clustering Method Based on Graph Contraction and Spectral Graph Theory 107

For each pair of edges in must-links, we apply graph contraction and define weights in the contracted graph based on eq.(5) and eq.(6). This results in modifying the original graph *G*

also need to be modified during graph contraction with respect to must-links. The updated

The objective of clustering is to assign similar instances to the same cluster and dissimilar ones to different clusters. To realize this, we utilize spectral clustering, which is based on the minimum cut of a graph. In spectral clustering (Ng et al., 2001; von Luxburg, 2007), data clustering is realized by seeking a function *f* : *X* → R over the dataset *X* such that the learned function assigns similar values for similar instances and vice versa. The values assigned for the entire dataset can be represented as a vector. By denoting the assigned value for the *i*-th data instance as *fi*, data clustering can be formalized as an optimization problem to find the

*J*<sup>0</sup> = *f<sup>t</sup>*

where *diag*() in eq.(8) represents a diagonal matrix with the specified diagonal elements. The matrix **D** in eq.(8) is the degree matrix of a graph, and is calculated based on the weights in the graph. The matrix **L** in eq.(9) is called graph Laplacian (Chung, 1997; Ng et al., 2001; von Luxburg, 2007). Some clustering method, such as kmeans (Hartigan & Wong, 1979) or spherical kmeans (skmeans) (Dhillon & Modha, 2001)2, is applied to the constructed data

We utilized the framework of spectral clustering in Section 3.3.1. Furthermore, to reflect cannot-link constraints in the clustering process, we formalize the clustering under constraints

**D** = *diag*(*d*1,..., *dn*) (*di* =

*w*(*xe*, *u*)� = max(*w*(*xi*, *u*), *w*(*xj*, *u*)) *i f* (*xi*, *u*) ∈ *E or*(*xj*, *u*) ∈ *E* (5) *w*(*u*, *v*)� = *w*(*u*, *v*) *otherwise* (6)

*CL*.

*n* ∑ *j*=1

**L** = **D** − **W** (9)

) (as illustrated in Fig. 2). The number of vertices in the


**L***f* (7)

*wij*) (8)

Fig. 1. Overview of our approach.

Fig. 2. Contraction for must-link constraints.

treat them as soft constraints under the optimization framework (Section 3.3). The overview of our approach is illustrated in Fig. 1.

#### **3.2 Graph contraction for must-link constraints**

When must-link constraints are treated as hard constraints, the transitive law holds among the constraints. This means that, for any two pairs (*xi*, *xj*) and (*xj*, *xl*) ∈ *CML*, *xi* and *xl* should also be in the same cluster (however, the cluster label is not known). In order to enforce the transitive law in must-links, we utilize graph contraction in general graph theory (Diestel, 2006) and modify the graph *G* for a data set *X* based on the specified must-links.

**Definition 2** (Contraction)**.** *Let e=*(*xi*, *xj*) *be an edge of a graph G = (X, E). define By G*/*e, we denote the graph (X',E') obtained from G by contracting the edge e into a new vertex xe, where:*

$$\mathbf{X}' = (\mathbf{X} \backslash \{\mathbf{x}\_{i\prime} \mathbf{x}\_{j}\}) \cup \{\mathbf{x}\_{\ell}\} \tag{3}$$

$$\begin{aligned} \mathbf{E}' &= \{ (\boldsymbol{\mu}, \boldsymbol{v}) \in \mathbf{E} | \{ \boldsymbol{\mu}, \boldsymbol{v} \} \cap \{ \mathbf{x}\_{i\prime} \mathbf{x}\_{j} \} = \boldsymbol{\Phi} \} \\ &\cup \{ (\mathbf{x}\_{\ell\prime} \boldsymbol{\mu}) | (\mathbf{x}\_{i\prime} \boldsymbol{\mu}) \in \mathbf{E} | \{ \boldsymbol{e} \} \; \boldsymbol{or} \; (\mathbf{x}\_{j\prime} \boldsymbol{\mu}) \in \mathbf{E} | \{ \boldsymbol{e} \} \end{aligned} \tag{4}$$

*G*/*e* stands for the graph obtained from *G* by *contracting* an edge *e* into a new vertex *xe*. The created vertex *xe* becomes adjacent to all the former neighbors of *xi* and *xj*.

By contracting an edge *e* into a new vertex *xe*, the newly created vertex *xe* becomes adjacent to all the former neighbors of *xi* and *xj*. Repeated application of contraction for all the edges (pairs of instance) for must-links guarantees that the transitive law in must-links is sustained in the cluster assignment.

As described above, the entire dataset *X* is represented as an edge-weighted graph *G* in our approach. Thus, after contracting an edge *e*=(*xi*, *xj*) ∈ *CML* into the newly created vertex *xe*, it is necessary to define the weights in the contracted graph *G*/*e*. The weights in *G* represent the similarities among vertices. The original similarities should at least be sustained after contracting an edge in *CML*, since must-link constraints are for enforcing the similarities, not for reducing.

Based on the above observation, we define the weights in the contracted graph *G*/*e* as:

$$\max(\mathbf{x}\_{\boldsymbol{\nu}}, \boldsymbol{\mu})' = \max(w(\mathbf{x}\_{\boldsymbol{\nu}}, \boldsymbol{\mu}), w(\mathbf{x}\_{\boldsymbol{\bar{\nu}}}, \boldsymbol{\mu})) \quad \text{if} \ (\mathbf{x}\_{\boldsymbol{\bar{\nu}}}, \boldsymbol{\mu}) \in \mathbf{E} \; or(\mathbf{x}\_{\boldsymbol{\bar{\nu}}}, \boldsymbol{\mu}) \in \mathbf{E} \tag{5}$$

$$w(u,v)' = w(u,v) \quad \text{otherwise} \tag{6}$$

where *w*(·, ·)� stands for the weight in the contracted graph *G*/*e*. In eq.(5), the function max realizes the above requirement, and guarantees the non-decreasing properties of similarities (weights) after contraction of an edge. On the other hand, the original weight is preserved in eq.(6).

For each pair of edges in must-links, we apply graph contraction and define weights in the contracted graph based on eq.(5) and eq.(6). This results in modifying the original graph *G* into another graph *G*� = (*X*� , *E* � ,*W*� ) (as illustrated in Fig. 2). The number of vertices in the contracted graph *G*� is denoted as *n* � <sup>=</sup> <sup>|</sup>*X*� |. Note that the originally specified cannot-links also need to be modified during graph contraction with respect to must-links. The updated cannot-links over the created graph *G*� is denoted as *C*� *CL*.

#### **3.3 Graph Laplacian for cannot-link constraints**

#### **3.3.1 Spectral clustering**

4 Graph Theory

**Graph Laplacian** for cannot-link

Contraction

treat them as soft constraints under the optimization framework (Section 3.3). The overview

When must-link constraints are treated as hard constraints, the transitive law holds among the constraints. This means that, for any two pairs (*xi*, *xj*) and (*xj*, *xl*) ∈ *CML*, *xi* and *xl* should also be in the same cluster (however, the cluster label is not known). In order to enforce the transitive law in must-links, we utilize graph contraction in general graph theory (Diestel,

**Definition 2** (Contraction)**.** *Let e=*(*xi*, *xj*) *be an edge of a graph G = (X, E). define By G*/*e, we denote the graph (X',E') obtained from G by contracting the edge e into a new vertex xe, where:*

*G*/*e* stands for the graph obtained from *G* by *contracting* an edge *e* into a new vertex *xe*. The

By contracting an edge *e* into a new vertex *xe*, the newly created vertex *xe* becomes adjacent to all the former neighbors of *xi* and *xj*. Repeated application of contraction for all the edges (pairs of instance) for must-links guarantees that the transitive law in must-links is sustained

As described above, the entire dataset *X* is represented as an edge-weighted graph *G* in our approach. Thus, after contracting an edge *e*=(*xi*, *xj*) ∈ *CML* into the newly created vertex *xe*, it is necessary to define the weights in the contracted graph *G*/*e*. The weights in *G* represent the similarities among vertices. The original similarities should at least be sustained after contracting an edge in *CML*, since must-link constraints are for enforcing the similarities, not

2006) and modify the graph *G* for a data set *X* based on the specified must-links.

*E*� = {(*u*, *v*) ∈ *E*|{*u*, *v*}∩{*xi*, *xj*} = *φ*}

created vertex *xe* becomes adjacent to all the former neighbors of *xi* and *xj*.

*x***e**

*X*� = (*X*\{*xi*, *xj*}) ∪ {*xe*} (3)

∪{(*xe*, *u*)|(*xi*, *u*) ∈ *E*\{*e*} *or* (*xj*, *u*) ∈ *E*\{*e*}} (4)

*u u*

**(X',W'')**

clustering

*w*(*x*e, *u*)

**Contraction** For must-link

> *e*=(*x*<sup>i</sup> , *x*<sup>j</sup> ,) **C**ML

∈

Fig. 2. Contraction for must-link constraints.

**3.2 Graph contraction for must-link constraints**

of our approach is illustrated in Fig. 1.

in the cluster assignment.

for reducing.

*x*i

*w*(*x*<sup>i</sup> ,*u*)

> *w*(*x*<sup>j</sup> , *u*)

*x*j

Must-Link

Fig. 1. Overview of our approach.

Cannot-Link

**(X',W')**

**(X,W) (X',W'')**

The objective of clustering is to assign similar instances to the same cluster and dissimilar ones to different clusters. To realize this, we utilize spectral clustering, which is based on the minimum cut of a graph. In spectral clustering (Ng et al., 2001; von Luxburg, 2007), data clustering is realized by seeking a function *f* : *X* → R over the dataset *X* such that the learned function assigns similar values for similar instances and vice versa. The values assigned for the entire dataset can be represented as a vector. By denoting the assigned value for the *i*-th data instance as *fi*, data clustering can be formalized as an optimization problem to find the vector *f* which minimizes the following objective function :

$$J\_0 = f^t \mathbf{L} f \tag{7}$$

where *f<sup>t</sup>* is a transpose of vector *f*, and the matrix **L** is defined as:

$$\mathbf{D} = \text{diag}(d\_1, \dots, d\_n) \quad (d\_{\bar{i}} = \sum\_{j=1}^n w\_{\bar{i}\bar{j}}) \tag{8}$$

$$\mathbf{L} = \mathbf{D} - \mathbf{W} \tag{9}$$

where *diag*() in eq.(8) represents a diagonal matrix with the specified diagonal elements. The matrix **D** in eq.(8) is the degree matrix of a graph, and is calculated based on the weights in the graph. The matrix **L** in eq.(9) is called graph Laplacian (Chung, 1997; Ng et al., 2001; von Luxburg, 2007). Some clustering method, such as kmeans (Hartigan & Wong, 1979) or spherical kmeans (skmeans) (Dhillon & Modha, 2001)2, is applied to the constructed data representation of instances (Ng et al., 2001; von Luxburg, 2007).

#### **3.3.2 Graph Laplacian for cannot-link constraints**

We utilized the framework of spectral clustering in Section 3.3.1. Furthermore, to reflect cannot-link constraints in the clustering process, we formalize the clustering under constraints

<sup>2</sup> skmeans is a standard clustering algorithm for high-dimensional sparse data.

**Algorithm 1** graph-based semi-supervised clustering (GBSSC)

**Require:** *G* = (*X*, *E*,*W*); //*an edge-weighted graph*

**Require:** *l*; //*the number of generalized eigenvectors*

2: contract *e* and create the contracted graph *G*/*e*;

**D**��− <sup>1</sup> 2

) *be the contracted graph.*

} for **L** ��

Furthermore, the number of generalized eigenvectors can be extended to more than one. In that case, the generalized eigenvectors with positive eigenvalues are selected with ascending order of eigenvalues. The generalized eigenvectors with respect to the modified graph

A Semi-Supervised Clustering Method Based on Graph Contraction and Spectral Graph Theory 109

The graph-based semi-supervised clustering method (called GBSSC) is summarized in

must-links. Lines 4 to 6 conduct the minimization of *Jsym* in eq.(17), which is represented as

These correspond to the spectral embedding of the entire data instances *X* onto the subspace

for semi-supervised clustering are also utilized on the construction of the embedded representation in our approach and thus differs from (Belkin & Niyogi, 2002). Some clustering method is applied to the data at line 7 and the constructed clusters are returned. Currently

Based on the previous work (Dhillon et al., 2003; Tang et al., 2007), we evaluated our approach on 20 Newsgroup dataset (hereafter, called 20NG) <sup>3</sup> and TREC datasets 4. Clustering of these datasets corresponds to document clustering, and each document is represented in the standard vector space model based on the occurrences of terms. Since the number of terms are

<sup>3</sup> http://people.csail.mit.edu/˜jrennie/20Newsgroups/. (20news-18828 was utilized)

<sup>4</sup> http://glaros.dtc.umn.edu/gkhome/cluto/cluto/download

7: Conduct clustering of data which are represented as **F** and construct clusters.

*sym*, with the smallest non-zero eigenvalues.

is constructed from lines 1 to 3 based on the specified

} (Belkin & Niyogi, 2002). Note that pairwise constraints

, **<sup>D</sup>**�� as eq.(12) <sup>∼</sup> eq.(15).

corresponds to the embeeded representation of the whole data instances.

��

spherical kmeans (skmeans) (Dhillon & Modha, 2001) is utilized at line 7.

*sym* at line 5.

**Require:** *CML*; //*must-link constraints* **Require:** *CCL*; //*cannot-link constraints*

**Require:** *k*; //*the number of clusters*

= (*X*� , *E* � ,*W*�

,**W**��

6: Find *<sup>l</sup>* eigenvectors **<sup>F</sup>** <sup>=</sup> { *<sup>f</sup>* 1,..., *<sup>f</sup><sup>l</sup>*

Algorithm 1. The contracted graph *G*�

the normalized graph Laplacian **L**

spanned by **<sup>F</sup>** <sup>=</sup> { *<sup>f</sup>* 1,..., *<sup>f</sup><sup>l</sup>*

<sup>2</sup> **W**��

*uv*,**W***<sup>c</sup>*

*sym* <sup>=</sup> **<sup>I</sup>** <sup>−</sup> **<sup>D</sup>**��− <sup>1</sup>

8: **return** clusters

1: **for** each *e* ∈ *CML* **do**

3: **end for** // *Let G*�

4: create **C**�

**3.4 Algorithm**

**4. Evaluations**

**4.1.1 Datasets**

**4.1 Experimental settings**

5: **L** ��

as an optimization problem, and consider the minimization of the following objective function:

$$J = \frac{1}{2} \{ \sum\_{i,j} w\_{ij}^{'} ||f\_i - f\_j||^2 - \lambda \sum\_{u,v \in \mathcal{C}\_{\mathcal{CL}}^{'}} w\_{uv}^{'} ||f\_u - f\_v||^2 \} \tag{10}$$

where *i* and *j* sum over the vertices in the contracted graph *G*� , and *C*� *CL* stands for the cannot-link constraints over *G*� . *λ* ∈ [0, 1] is a hyper-parameter in our approach. The first term corresponds to the smoothness of the assigned values in spectral graph theory, and the second term represents the influence of cannot-links in optimization. Note that by setting *λ* ∈ [0, 1], the objective function in (10) is guaranteed to be a convex function.

From the above objective function in eq.(10), we can derive the following unnormalized graph Laplacian **L** �� which incorporates cannot-links as:

$$J = \frac{1}{2} \{ \sum\_{i,j} w\_{ij}^{'} ||f\_i - f\_j||^2 - \lambda \sum\_{u,v \in \mathcal{C}\_{\mathbb{C}L}'} w\_{uv}^{'} ||f\_u - f\_v||^2 \} = f^t \mathbf{L}'' f \tag{11}$$

The matrix **L** �� is defined based on the following matrices:

$$(\mathbf{C}')\_{\mu\upsilon} = \begin{cases} 1 & (\mathbf{x}\_{\mu}, \mathbf{x}\_{\upsilon}) \in \mathbf{C}'\_{\text{CL}} \\ 0 & \text{otherwise} \end{cases} \tag{12}$$

$$\mathbf{W}^{\mathbb{C}} = \mathbf{C}' \odot \mathbf{W}' , \quad \mathbf{W}'' = \mathbf{W}' - \lambda \mathbf{W}^{\mathbb{C}} \tag{13}$$

$$d\_i = \sum\_{j=1}^{n'} w\_{ij\prime}^{'} \quad d\_i^c = \sum\_{j=1}^{n'} w\_{ij}^c \tag{14}$$

$$\mathbf{D}'' = \text{diag}(\boldsymbol{d}\_{1\prime}^{\prime}, \dots, \boldsymbol{d}\_{n\prime}^{\prime}), \quad \boldsymbol{d}\_{i}^{\prime} = \boldsymbol{d}\_{i} - \lambda \boldsymbol{d}\_{i}^{c} \tag{15}$$

$$\mathbf{L}'' = \mathbf{D}'' - \mathbf{W}''\tag{16}$$

where � stands for the Hadamard product (element-wise multiplication) of two matrices.

The above process amounts to modifying the representation of the contracted graph *G*� into another graph *G*�� , with the modified weights **W**�� in eq.(13). Thus, as illustrated in Fig. 1, our approach modifies the original graph *G* into the contracted graph *G*� with must-link constraints, and then into another graph *G*�� with cannot-link constraints and similarities.

It is known that some form "balancing" among clusters needs to be considered for obtaining meaningful results (von Luxburg, 2007). Based on eq.(14) and eq.(16), we utilize the following normalized objective function:

$$J\_{sym} = \sum\_{i,j} w\_{ij}^{''} ||\frac{f\_i}{\sqrt{d\_i^{''}}} - \frac{f\_j}{\sqrt{d\_j^{''}}}||^2 \tag{17}$$

over the graph *G*�� . Minimizing *Jsym* in eq.(17) amounts to solving the generalized eigen-problem **L** �� *f* = *α***D**�� *f*, where *α* corresponds to an eigenvalue and *f* corresponds to the generalized eigenvector with the eigenvalue.

### **Algorithm 1** graph-based semi-supervised clustering (GBSSC)

**Require:** *G* = (*X*, *E*,*W*); //*an edge-weighted graph* **Require:** *CML*; //*must-link constraints* **Require:** *CCL*; //*cannot-link constraints* **Require:** *l*; //*the number of generalized eigenvectors* **Require:** *k*; //*the number of clusters*

1: **for** each *e* ∈ *CML* **do**


6 Graph Theory

as an optimization problem, and consider the minimization of the following objective

term corresponds to the smoothness of the assigned values in spectral graph theory, and the second term represents the influence of cannot-links in optimization. Note that by setting

From the above objective function in eq.(10), we can derive the following unnormalized graph

*<sup>u</sup>*,*v*∈*C*� *CL w*�

<sup>1</sup> (*xu*, *xv*) <sup>∈</sup> *<sup>C</sup>*�

, **W**��

� **<sup>W</sup>**�

�� <sup>1</sup>,..., *d* �� *<sup>n</sup>*�), *d* ��

<sup>−</sup> **<sup>W</sup>**��

where � stands for the Hadamard product (element-wise multiplication) of two matrices. The above process amounts to modifying the representation of the contracted graph *G*�

It is known that some form "balancing" among clusters needs to be considered for obtaining meaningful results (von Luxburg, 2007). Based on eq.(14) and eq.(16), we utilize the following

> <sup>−</sup> *fj d* �� *j*

. Minimizing *Jsym* in eq.(17) amounts to solving the generalized

*f*, where *α* corresponds to an eigenvalue and *f* corresponds to

*CL*

= **W**�

*<sup>u</sup>*,*v*∈*C*� *CL w*�

*uv*|| *fu* <sup>−</sup> *fv*||2} (10)

*CL* stands for the

*f* (11)

, and *C*�

**L** ��

<sup>−</sup> *<sup>λ</sup>***W***<sup>c</sup>* (13)

*ij* (14)

in eq.(13). Thus, as illustrated in Fig. 1,


with cannot-link constraints and similarities.

*<sup>i</sup>* (15)

(16)

into

with must-link

. *λ* ∈ [0, 1] is a hyper-parameter in our approach. The first

*uv*|| *fu* <sup>−</sup> *fv*||2} <sup>=</sup> *<sup>f</sup><sup>t</sup>*

*<sup>i</sup>* <sup>=</sup> *di* <sup>−</sup> *<sup>λ</sup>d<sup>c</sup>*

0 otherwise (12)

*ij*|| *fi* <sup>−</sup> *fj*||<sup>2</sup> <sup>−</sup> *<sup>λ</sup>* ∑

function:

Laplacian **L**

The matrix **L**

another graph *G*��

over the graph *G*��

eigen-problem **L**

��

��

*<sup>J</sup>* <sup>=</sup> <sup>1</sup> 2 {∑ *i*,*j w*�

cannot-link constraints over *G*�

*<sup>J</sup>* <sup>=</sup> <sup>1</sup> 2 {∑ *i*,*j w*�

where *i* and *j* sum over the vertices in the contracted graph *G*�

which incorporates cannot-links as:

(**C**� )*uv* =

*λ* ∈ [0, 1], the objective function in (10) is guaranteed to be a convex function.

*ij*|| *fi* <sup>−</sup> *fj*||<sup>2</sup> <sup>−</sup> *<sup>λ</sup>* ∑

is defined based on the following matrices:

*n* � ∑ *j*=1 *w*� *ij*, *<sup>d</sup><sup>c</sup> <sup>i</sup>* = *n* � ∑ *j*=1 *wc*

= *diag*(*d*

, with the modified weights **W**��

our approach modifies the original graph *G* into the contracted graph *G*�

*Jsym* = ∑ *i*,*j w*�� *ij*|| *<sup>f</sup> i d* �� *i*

**W***<sup>c</sup>* = **C**�

*di* =

**D**��

**L** �� = **D**��

constraints, and then into another graph *G*��

normalized objective function:

��

*f* = *α***D**��

the generalized eigenvector with the eigenvalue.


Furthermore, the number of generalized eigenvectors can be extended to more than one. In that case, the generalized eigenvectors with positive eigenvalues are selected with ascending order of eigenvalues. The generalized eigenvectors with respect to the modified graph corresponds to the embeeded representation of the whole data instances.

### **3.4 Algorithm**

The graph-based semi-supervised clustering method (called GBSSC) is summarized in Algorithm 1. The contracted graph *G*� is constructed from lines 1 to 3 based on the specified must-links. Lines 4 to 6 conduct the minimization of *Jsym* in eq.(17), which is represented as the normalized graph Laplacian **L** �� *sym* at line 5.

These correspond to the spectral embedding of the entire data instances *X* onto the subspace spanned by **<sup>F</sup>** <sup>=</sup> { *<sup>f</sup>* 1,..., *<sup>f</sup><sup>l</sup>* } (Belkin & Niyogi, 2002). Note that pairwise constraints for semi-supervised clustering are also utilized on the construction of the embedded representation in our approach and thus differs from (Belkin & Niyogi, 2002). Some clustering method is applied to the data at line 7 and the constructed clusters are returned. Currently spherical kmeans (skmeans) (Dhillon & Modha, 2001) is utilized at line 7.

### **4. Evaluations**

### **4.1 Experimental settings**

### **4.1.1 Datasets**

Based on the previous work (Dhillon et al., 2003; Tang et al., 2007), we evaluated our approach on 20 Newsgroup dataset (hereafter, called 20NG) <sup>3</sup> and TREC datasets 4. Clustering of these datasets corresponds to document clustering, and each document is represented in the standard vector space model based on the occurrences of terms. Since the number of terms are

<sup>3</sup> http://people.csail.mit.edu/˜jrennie/20Newsgroups/. (20news-18828 was utilized)

<sup>4</sup> http://glaros.dtc.umn.edu/gkhome/cluto/cluto/download

where *H*(·) is Shannon Entropy, and *I*(·; ·)is Mutual Information among the random variables *C* and *C*ˆ. *NMI* corresponds to the accuracy of assignment. Thus, the larger *NMI* is, the better

A Semi-Supervised Clustering Method Based on Graph Contraction and Spectral Graph Theory 111

All the compared methods first construct the representation for clustering and then apply some clustering method (e.g., skmeans). The running time (CPU time in second) for representation construction was measured on a computer with Debian/GNU Linux, Intel Xeon W5590, 36 GB memory. All the methods were implemented with R language and R

We compared our approach with SCREEN (Tang et al., 2007) and PCP (Li et al., 2008) (details are described in Section 5.2). Since all the compared methods are partitioning based clustering

SCREEN (Tang et al., 2007) conducts semi-supervised clustering by projecting the given data instances onto the subspace where the covariance with respect to the given data representation is maximized. To realize this, the covariance matrix with respect to the original data representation is constructed and their eigenvectors are utilized for projection. For high-dimensional data such as documents, this process is rather expensive, since the number of attributes (e.g., terms) gets large. To alleviate this problem, PCA (Principal Component Analysis) was first utilized as pre-processing to reduce the number of dimension in the data representation. We followed the same process in (Tang et al., 2007) and pre-processed data by PCA using 100 eigenvectors, and SCREEN was applied to the pre-processed data as in

PCP (Li et al., 2008) first conducts metric learning based on the semi-definite programming, and then kernel k-means clustering is conducted over the learned metric. Some package (e.g. Csdp) is utilized to solve the semi-definite programming based on the specified pairwise

As for **2)**, pairs of instances were randomly sampled from each dataset to generate the constraints. Thus, the main parameter is **1)**, the number of constraints, for must-links and cannot-links. We set the numbers of these two types of constrains to be the same, and varied

utilized for SCREEN as in (Tang et al., 2007). With this normalization, cosine similarity, which is widely utilized as the standard similarity measure in document processing, was utilized for GBSSC and PCP, and the initial edge-weighted graph for each dataset was constructed with the similarities. The number of generalized eigenvectors *l* was set to the number of clusters *k*. In addition, following the procedure in (Li et al., 2008), *m*-nearest neighbor graph was constructed for PCP (*m* was set to 10 in the experiment). The hyper-parameter *λ* in eq.(10)

*x* = 1, and Euclidian distance was

the cluster assignment is with respect to the "ground-truth" labels in each dataset.

methods, we assume that the number of clusters *k* in each dataset is available.

The parameters under the pairwise constraints in Definition 1 are:

Each data instance *x* in a dataset was normalized such that *x<sup>t</sup>*

was set to 0.5, since GBSSC is robust to this value as reported in Section 4.2.

packages.

**4.1.3 Comparison**

(Tang et al., 2007).

**4.1.4 Parameters**

constraints and similarities.

**1)** the number of constraints

the number of constraints.

**2)** the pairs of instances for constraints


Table 1. Datasets from 20 Newsgroup dataset


Table 2. TREC datasets (original representation)

huge in general, these are high-dimensional sparse datasets. Please note that our approach is generic and not specific to document clustering.

As in (Dhillon et al., 2003; Tang et al., 2007), 50 documents were sampled from each group (cluster) in order to create a sample for one dataset, and 10 samples were created for each dataset. For each sample, we conducted stemming using porter stemmer <sup>5</sup> and MontyTagger 6, removed stop words, and selected 2,000 words with descending order of mutual information (Cover & Thomas, 2006).

For TREC datasets, we utilized 9 datasets in Table 2. We followed the same procedure in 20NG and created 10 samples for each dataset7. Since these datasets are already preprocessed and represented as count data, we did not conduct stemming or tagging.

#### **4.1.2 Evaluation measures**

For each dataset, the cluster assignment was evaluated with respect to Normalized Mutual Information (*NMI*) (Strehl & Ghosh, 2002; Tang et al., 2007). Let *C*, *C*ˆ stand for random variables over the true and assigned clusters. *NMI* is defined as

$$\text{NMI} = \frac{I(\triangleleft \text{C}; \text{C})}{(H(\triangleleft) + H(\text{C}))/2} \tag{18}$$

<sup>5</sup> http://www.tartarus.org/˜martin/PorterStemmer

<sup>6</sup> http://web.media.mit.edu/˜hugo/montytagger

<sup>7</sup> On fbis, 35 data were sampled for each class.

where *H*(·) is Shannon Entropy, and *I*(·; ·)is Mutual Information among the random variables *C* and *C*ˆ. *NMI* corresponds to the accuracy of assignment. Thus, the larger *NMI* is, the better the cluster assignment is with respect to the "ground-truth" labels in each dataset.

All the compared methods first construct the representation for clustering and then apply some clustering method (e.g., skmeans). The running time (CPU time in second) for representation construction was measured on a computer with Debian/GNU Linux, Intel Xeon W5590, 36 GB memory. All the methods were implemented with R language and R packages.

### **4.1.3 Comparison**

8 Graph Theory

Multi5 comp.graphics, rec.motorcycles,rec.sport.baseball, sci.space talk.politics.mideast Multi10 alt.atheism, comp.sys.mac.hardware,misc.forsale, rec.autos,rec.sport.hockey,

rec.motorcycles, rec.sport.baseball, rec.sport.hockey, sci.crypt, sci.electronics, sci.med, sci.space, talk.politics.guns, talk.politics.mideast, talk.politics.misc

> dataset #attributes #classes #data hitech 126372 6 2301 reviews 126372 5 4069 sports 126372 7 8580 la1 31372 6 3204 la2 31372 6 3075 la2 31372 6 6279 k1b 21839 6 2340 ohscal 11465 10 11162 fbis 2000 17 2463

huge in general, these are high-dimensional sparse datasets. Please note that our approach is

As in (Dhillon et al., 2003; Tang et al., 2007), 50 documents were sampled from each group (cluster) in order to create a sample for one dataset, and 10 samples were created for each dataset. For each sample, we conducted stemming using porter stemmer <sup>5</sup> and MontyTagger 6, removed stop words, and selected 2,000 words with descending order of

For TREC datasets, we utilized 9 datasets in Table 2. We followed the same procedure in 20NG and created 10 samples for each dataset7. Since these datasets are already preprocessed and

For each dataset, the cluster assignment was evaluated with respect to Normalized Mutual Information (*NMI*) (Strehl & Ghosh, 2002; Tang et al., 2007). Let *C*, *C*ˆ stand for random

(*H*(*C*ˆ) + *<sup>H</sup>*(*C*))/2 (18)

*NMI* <sup>=</sup> *<sup>I</sup>*(*C*ˆ; *<sup>C</sup>*)

represented as count data, we did not conduct stemming or tagging.

variables over the true and assigned clusters. *NMI* is defined as

Multi15 alt.atheism, comp.graphics, comp.sys.mac.hardware, misc.forsale, rec.autos,

sci.crypt,sci.med, sci.electronics,sci.space,talk.politics.guns

dataset included groups

Table 1. Datasets from 20 Newsgroup dataset

Table 2. TREC datasets (original representation)

generic and not specific to document clustering.

mutual information (Cover & Thomas, 2006).

<sup>5</sup> http://www.tartarus.org/˜martin/PorterStemmer <sup>6</sup> http://web.media.mit.edu/˜hugo/montytagger <sup>7</sup> On fbis, 35 data were sampled for each class.

**4.1.2 Evaluation measures**

We compared our approach with SCREEN (Tang et al., 2007) and PCP (Li et al., 2008) (details are described in Section 5.2). Since all the compared methods are partitioning based clustering methods, we assume that the number of clusters *k* in each dataset is available.

SCREEN (Tang et al., 2007) conducts semi-supervised clustering by projecting the given data instances onto the subspace where the covariance with respect to the given data representation is maximized. To realize this, the covariance matrix with respect to the original data representation is constructed and their eigenvectors are utilized for projection. For high-dimensional data such as documents, this process is rather expensive, since the number of attributes (e.g., terms) gets large. To alleviate this problem, PCA (Principal Component Analysis) was first utilized as pre-processing to reduce the number of dimension in the data representation. We followed the same process in (Tang et al., 2007) and pre-processed data by PCA using 100 eigenvectors, and SCREEN was applied to the pre-processed data as in (Tang et al., 2007).

PCP (Li et al., 2008) first conducts metric learning based on the semi-definite programming, and then kernel k-means clustering is conducted over the learned metric. Some package (e.g. Csdp) is utilized to solve the semi-definite programming based on the specified pairwise constraints and similarities.

### **4.1.4 Parameters**

The parameters under the pairwise constraints in Definition 1 are:


As for **2)**, pairs of instances were randomly sampled from each dataset to generate the constraints. Thus, the main parameter is **1)**, the number of constraints, for must-links and cannot-links. We set the numbers of these two types of constrains to be the same, and varied the number of constraints.

Each data instance *x* in a dataset was normalized such that *x<sup>t</sup> x* = 1, and Euclidian distance was utilized for SCREEN as in (Tang et al., 2007). With this normalization, cosine similarity, which is widely utilized as the standard similarity measure in document processing, was utilized for GBSSC and PCP, and the initial edge-weighted graph for each dataset was constructed with the similarities. The number of generalized eigenvectors *l* was set to the number of clusters *k*. In addition, following the procedure in (Li et al., 2008), *m*-nearest neighbor graph was constructed for PCP (*m* was set to 10 in the experiment). The hyper-parameter *λ* in eq.(10) was set to 0.5, since GBSSC is robust to this value as reported in Section 4.2.

performance degraded. On the other hand, in our approach, instances adjacent to must-links

A Semi-Supervised Clustering Method Based on Graph Contraction and Spectral Graph Theory 113

As for ii) (min), the instances connected with cannot-links are by definition dissimilar with each other and their weights would be small in the original representation. Thus, setting the weights over must-links to the minimal value in the dataset does not affect the overall

Next, we evaluated the handling of cannot-links in Section 3.3. We varied the value of hyper-parameter *λ* in eq.(10) and analyzed its influence. The results are summarized in Fig. 4. In Fig. 4, horizontal axis corresponds to the value of *λ*, and the values in the legend corresponds to the number of pairwise constraints (e.g., 10 corresponds to the situation where the number of pairwise constraints are 10). The performance of GBSSC was not so much affected by the value of *λ*. Thus, our approach can be said as relatively robust with respect to this parameter. In addition, the accuracy (*NMI*) increased *monotonically* as the number of constraints increased. Thus, it can be concluded that GBSSC reflects the pairwise constraints

We report the comparison of our approach with other compared methods. In the reported figures, horizontal axis corresponds to the number of constraints; vertical one corresponds to

In the legend in the figures, red lines correspond to our GBSSC, black dotted lines to SCREEN, green lines to PCP. Also, +PCA stands for the case where the dataset was first pre-processed by PCA (using 100 eigenvectors as in (Tang et al., 2007)) and then the corresponding method was applied. GBSSC+PCP (with purple lines) corresponds to the situation where must-links

The results for 20NG dataset are summarized in Figs. 7. These are the average of 10 datasets for each set of groups (i.e., average of 1000 runs). The results indicate that our approach outperformed other methods with respect to *NMI* (Fig. 7) when *l*=*k* 8. For Multi5, although the

<sup>8</sup> The number of generalized eigenvectors *l* was set to the number of clusters *k*. Note that we did not conduct any tuning for the value of *l* in these experiments. (Tang et al., 2007) reports that SCREEN

performance so much. These are illustrated in Fig. 5 and Fig. 6.

are also affected via contraction.

Fig. 5. Contraction of must-link constraints.

**4.3 Evaluation on real world datasets**

either *NMI* or CPU time (in sec.).

**4.3.1 20 Newsgroup datasets**

Fig. 6. Weight modification of must-link constraints.

and improves the performance based on semi-supervised information.

were handled by contraction in Section 3.2 and cannot-links by PCP.

could be improved by tuning the number of dimensions.

#### **4.1.5 Evaluation procedure**

For each number of constraints, the pairwise constraints (must-links and cannot-links) were generated randomly based on the ground-truth labels in the datasets, and clustering was conducted with the generated constraints. Clustering with the same number of constraints was repeated 10 times with different initial configuration in clustering. In addition, the above process was also repeated 10 times for each number of constraints. Thus, for each dataset and the number of constraints, 100 runs were conducted. Furthermore, this process was repeated over 10 samples for each dataset. Thus, the average of 1,000 runs is reported for each dataset.

### **4.2 Evaluation of graph-based approach**

Our approach modifies the data representation in a dataset according to the specified constraints. Especially, the similarities among instances (weights in a graph) are modified. The other possible approach would be to set the weights (similarities) as:


Fig. 3. Weight medication comparison.

Fig. 4. Influence of *λ*.

First, we compared our approach for the handling of must-links in Section 3.2 with the above approaches on Multi10 and Multi15 datasets. The results are summarized in Fig. 3. In Fig. 3, horizontal axis corresponds to the number of constraints; vertical one corresponds to *NMI*. In the legend, max (black lines with boxes) stands for i), min (blue dotted lines with circles) stands for ii), and max&min (green dashed lines with crosses) stands for when both i) and ii) are employed. GBSSC (red solid lines with circles) stands for our approach.

The results in Fig. 3 show that GBSSC outperformed others and that it is effective in terms of the weight modification in a graph. One of the reasons for the results in Fig. 3 is that, when i) (max) is utilized, only the instances connected with must-links are affected, and thus they tend to be collected into a smaller "isolated" cluster. Creating rather small clusters makes the performance degraded. On the other hand, in our approach, instances adjacent to must-links are also affected via contraction.

As for ii) (min), the instances connected with cannot-links are by definition dissimilar with each other and their weights would be small in the original representation. Thus, setting the weights over must-links to the minimal value in the dataset does not affect the overall performance so much. These are illustrated in Fig. 5 and Fig. 6.

Fig. 5. Contraction of must-link constraints.

10 Graph Theory

For each number of constraints, the pairwise constraints (must-links and cannot-links) were generated randomly based on the ground-truth labels in the datasets, and clustering was conducted with the generated constraints. Clustering with the same number of constraints was repeated 10 times with different initial configuration in clustering. In addition, the above process was also repeated 10 times for each number of constraints. Thus, for each dataset and the number of constraints, 100 runs were conducted. Furthermore, this process was repeated over 10 samples for each dataset. Thus, the average of 1,000 runs is reported for each dataset.

Our approach modifies the data representation in a dataset according to the specified constraints. Especially, the similarities among instances (weights in a graph) are modified.

20 40 60 80 100

Number of constraints

0.0 0.2 0.4 0.6 0.8 1.0

lambda

**Multi15**

**Must−Link (Multi15)**

0.43 0.44 0.45 0.46 0.47 0.48

> 0.44 0.46 0.48

NMI

First, we compared our approach for the handling of must-links in Section 3.2 with the above approaches on Multi10 and Multi15 datasets. The results are summarized in Fig. 3. In Fig. 3, horizontal axis corresponds to the number of constraints; vertical one corresponds to *NMI*. In the legend, max (black lines with boxes) stands for i), min (blue dotted lines with circles) stands for ii), and max&min (green dashed lines with crosses) stands for when both i) and ii)

The results in Fig. 3 show that GBSSC outperformed others and that it is effective in terms of the weight modification in a graph. One of the reasons for the results in Fig. 3 is that, when i) (max) is utilized, only the instances connected with must-links are affected, and thus they tend to be collected into a smaller "isolated" cluster. Creating rather small clusters makes the

NMI

The other possible approach would be to set the weights (similarities) as:

20 40 60 80 100

are employed. GBSSC (red solid lines with circles) stands for our approach.

Number of constraints

0.0 0.2 0.4 0.6 0.8 1.0

lambda

**Multi10**

**Must−Link (Multi10)**

**4.1.5 Evaluation procedure**

**4.2 Evaluation of graph-based approach**

0.52 0.54 0.56 0.58

Fig. 3. Weight medication comparison.

0.52 0.54 0.56 0.58

NMI

Fig. 4. Influence of *λ*.

NMI

**i)** each pair (*xi*, *xj*) ∈ *CML* to the maximum similarity **ii)** each pair (*xi*, *xj*) ∈ *CCL* to the minimum similarity

> GBSSC max min max&min

Fig. 6. Weight modification of must-link constraints.

Next, we evaluated the handling of cannot-links in Section 3.3. We varied the value of hyper-parameter *λ* in eq.(10) and analyzed its influence. The results are summarized in Fig. 4. In Fig. 4, horizontal axis corresponds to the value of *λ*, and the values in the legend corresponds to the number of pairwise constraints (e.g., 10 corresponds to the situation where the number of pairwise constraints are 10). The performance of GBSSC was not so much affected by the value of *λ*. Thus, our approach can be said as relatively robust with respect to this parameter. In addition, the accuracy (*NMI*) increased *monotonically* as the number of constraints increased. Thus, it can be concluded that GBSSC reflects the pairwise constraints and improves the performance based on semi-supervised information.

### **4.3 Evaluation on real world datasets**

We report the comparison of our approach with other compared methods. In the reported figures, horizontal axis corresponds to the number of constraints; vertical one corresponds to either *NMI* or CPU time (in sec.).

In the legend in the figures, red lines correspond to our GBSSC, black dotted lines to SCREEN, green lines to PCP. Also, +PCA stands for the case where the dataset was first pre-processed by PCA (using 100 eigenvectors as in (Tang et al., 2007)) and then the corresponding method was applied. GBSSC+PCP (with purple lines) corresponds to the situation where must-links were handled by contraction in Section 3.2 and cannot-links by PCP.

### **4.3.1 20 Newsgroup datasets**

The results for 20NG dataset are summarized in Figs. 7. These are the average of 10 datasets for each set of groups (i.e., average of 1000 runs). The results indicate that our approach outperformed other methods with respect to *NMI* (Fig. 7) when *l*=*k* 8. For Multi5, although the

<sup>8</sup> The number of generalized eigenvectors *l* was set to the number of clusters *k*. Note that we did not conduct any tuning for the value of *l* in these experiments. (Tang et al., 2007) reports that SCREEN could be improved by tuning the number of dimensions.

20 40 60 80 100

20 40 60 80 100

20 40 60 80 100

Fig. 8. Results on TREC datasets (*NMI*)

Number of constraints

Number of constraints

**k1b**

GBSSC GBSSC+PCA GBSSC+PCP SCREEN+PCA PCP

20 40 60 80 100

20 40 60 80 100

20 40 60 80 100

Number of constraints

(denoted as GBSSC+PCP in the figure), it showed almost equivalent performance with respect

The reported results show that our approach is effective in terms of the accuracy of cluster assignment (*NMI*). GBSSC outperformed SCREEN in all the datasets. Although it did not outperformed PCP in some TREC datasets with respect to *NMI*, but it was faster more than two orders of magnitude. Utilization of PCA as data pre-processing for dimensionality reduction enables the speed-up of SCREEN, in compensation for the accuracy of cluster assignment. On the other hand, PCP showed better performance in some datasets with respect to accuracy of cluster assignment, in compensation for the running time. Besides, since SCREEN originally conducts linear dimensionality reduction based on constraints, utilization

Number of constraints

**ohscal**

20 40 60 80 100

20 40 60 80 100

20 40 60 80 100

Number of constraints

Number of constraints

**fbis**

Number of constraints

**la12**

**sports**

0.4 0.5 0.6 0.7 0.8

0.20 0.30 0.40 0.50

0.40 0.45 0.50 0.55 0.60

NMI

NMI

NMI

Number of constraints

**la2**

**reviews**

A Semi-Supervised Clustering Method Based on Graph Contraction and Spectral Graph Theory 115

0.4 0.5 0.6 0.7 0.8

0.20 0.30 0.40 0.50

0.25

 0.30

NMI

to *NMI*, but the former was faster with more than one order.

 0.35

NMI

NMI

Number of constraints

**la1**

**hitech**

0.20 0.25 0.30 0.35 0.40

0.20 0.30 0.40 0.50

0.55

**5. Discussions 5.1 Effectiveness**

 0.65

NMI

 0.75

NMI

NMI

Fig. 7. Results on 20-Newsgroup

performance of PCP got close to that of GBSSC as the number of constraints increased, GBSSC was faster more than two orders of magnitude (100 times faster). Likewise, GBSSC+PCP and PCP were almost the same with respect to *NMI*, but the former was faster with more than one order (10 times faster). Although SCREEN+PCA was two to five times faster than GBSSC, it was inferior with respect to *NMI*. Utilization of PCA as the pre-processing enables this speed-up for SCREEN, in compensation for the accuracy (*NMI*).

Dimensionality reduction with PCA was effective for the speed-up of SCREEN, but it was not for GBSSC. On the other hand, it *deteriorated* their performance with respect to *NMI*. Thus, it is not necessary to utilize pre-processing such as PCA for GBSSC, and still our approach showed better performance.

#### **4.3.2 TREC datasets**

The results for TREC datasets are summarized in Fig. 8 and Fig. 9. As shown in Table 2, the number of dimensions (attributes) are huge in TREC datasets. Since calculating the eigenvalues of the covariance matrix with large number of attributes takes too much time, when SCREEN was applied to non-preprocessed data with PCA, it was too slow. Thus, SCREEN was applied only to the pre-processed data in TREC datasets. (shown as SCREEN+PCA).

On the whole, the results were quite similar to those in 20NG. Our approach outperformed SCREEN (in TREC datasets, SCREEN+PCA) with respect to *NMI*. It also outperformed PCP in most datasets, however, as the number of constraints increased, the latter showed better performance for review and sports datasets. In addition, PCP seems to improve the performance as the number of constraints increase. When GBSSC is utilized with PCP

Fig. 8. Results on TREC datasets (*NMI*)

(denoted as GBSSC+PCP in the figure), it showed almost equivalent performance with respect to *NMI*, but the former was faster with more than one order.

### **5. Discussions**

12 Graph Theory

**Multi10**

20 40 60 80 100

20 40 60 80 100

Number of constraints

performance of PCP got close to that of GBSSC as the number of constraints increased, GBSSC was faster more than two orders of magnitude (100 times faster). Likewise, GBSSC+PCP and PCP were almost the same with respect to *NMI*, but the former was faster with more than one order (10 times faster). Although SCREEN+PCA was two to five times faster than GBSSC, it was inferior with respect to *NMI*. Utilization of PCA as the pre-processing enables this

Dimensionality reduction with PCA was effective for the speed-up of SCREEN, but it was not for GBSSC. On the other hand, it *deteriorated* their performance with respect to *NMI*. Thus, it is not necessary to utilize pre-processing such as PCA for GBSSC, and still our approach

The results for TREC datasets are summarized in Fig. 8 and Fig. 9. As shown in Table 2, the number of dimensions (attributes) are huge in TREC datasets. Since calculating the eigenvalues of the covariance matrix with large number of attributes takes too much time, when SCREEN was applied to non-preprocessed data with PCA, it was too slow. Thus, SCREEN was applied only to the pre-processed data in TREC datasets. (shown as

On the whole, the results were quite similar to those in 20NG. Our approach outperformed SCREEN (in TREC datasets, SCREEN+PCA) with respect to *NMI*. It also outperformed PCP in most datasets, however, as the number of constraints increased, the latter showed better performance for review and sports datasets. In addition, PCP seems to improve the performance as the number of constraints increase. When GBSSC is utilized with PCP

20 40 60 80 100

20 40 60 80 100

Number of constraints

Number of constraints

**Multi15**

**Multi15**

0.25 0.30 0.35 0.40 0.45

5e−01 5e+00 5e+01 5e+02

CPU(sec)

NMI

Number of constraints

**Multi10**

0.25 0.35 0.45 0.55

0.1 0.5 5.0 50.0 500.0

speed-up for SCREEN, in compensation for the accuracy (*NMI*).

CPU(sec)

NMI

20 40 60 80 100

20 40 60 80 100

Number of constraints

Fig. 7. Results on 20-Newsgroup

showed better performance.

**4.3.2 TREC datasets**

SCREEN+PCA).

GBSSC GBSSC+PCA GBSSC+PCP SCREEN SCREEN+PCA PCP

Number of constraints

**Multi5**

**Multi5**

0.0 0.2 0.4 0.6 0.8

0.02 0.10 0.50 2.00 10.00 50.00

CPU(sec)

NMI

#### **5.1 Effectiveness**

The reported results show that our approach is effective in terms of the accuracy of cluster assignment (*NMI*). GBSSC outperformed SCREEN in all the datasets. Although it did not outperformed PCP in some TREC datasets with respect to *NMI*, but it was faster more than two orders of magnitude. Utilization of PCA as data pre-processing for dimensionality reduction enables the speed-up of SCREEN, in compensation for the accuracy of cluster assignment. On the other hand, PCP showed better performance in some datasets with respect to accuracy of cluster assignment, in compensation for the running time. Besides, since SCREEN originally conducts linear dimensionality reduction based on constraints, utilization

specified pairwise instance constraints (Li et al., 2008; Xing et al., 2003). The hybrid approach

A Semi-Supervised Clustering Method Based on Graph Contraction and Spectral Graph Theory 117

As for the semi-supervised clustering problem, (Wagstaff et al., 2001) proposed a clustering algorithm called COP-kmeans based on the famous kmeans algorithm. When assigning each data item to the cluster with minimum distance as in kmeans, COP-kmeans checks the constraint satisfaction and assigns each data item only to the admissible cluster (which does

SCREEN (Tang et al., 2007) first converts the data representation based on must-link constraints and removes the constraints. This process corresponds to contraction in our approach, but the weight definition is different. After that, based on cannot-link constraints, it finds out the linear mapping (linear projection) to a subspace where the variance among the data is maximized.

PCP (Li et al., 2008) deals with the semi-supervised clustering problem by finding a mapping onto a space where the specified constraints are reflected. Using the specified constraints, it conducts metric learning based on the semi-definite programming and learn the kernel matrix on the mapped space. Although the explicit representation of the mapping or the data representation on the mapped space is not learned, kernel k-means clustering (Girolami,

In this chapter we presented our semi-supervised clustering method based on graph contraction in general graph theory and graph Laplacian in spectral graph theory. Our approach can exploit a small amount of pairwise constraints as well as pairwise relations (similarities) among the data instances. Utilization of graph representation of instances enables to deal with the pairwise constraints as well as pairwise similarities over a unified representation. In order to reflect the pairwise constraints on the clustering process, the graph structure for the entire data instances is modified by graph contraction in general graph theory (Diestel, 2006) and graph Laplacian in spectral graph theory (Chung, 1997;

We reported the performance of our approach over two real-world datasets with respect to the type of constraints as well as the number of constraints. We also compared with other state-of-the-art semi-supervised clustering methods in terms of accuracy of cluster assignment and running time. The experimental results indicate that our approach is effective in terms of the balance between the accuracy of cluster assignment and running time. Especially, it could leverage a small amount of pairwise constraints to improve the clustering performance. We plan to continue this line of research and to improve the presented approach in future.

The author is grateful to Mr. Okatani and Mr. Ogino for their help on implementation.

*Algorithms, Theory, and Applications*, Chapman & Hall/CRC Press.

Basu, S., Bilenko, M. & Mooney, R. J. (2004). A probabilistic framework for semi-supervised

Basu, S., Davidson, I. & Wagstaff, K. (eds) (2008). *Constrained Clustering: Advances in*

combines these two approaches under a probabilistic framework (Basu et al., 2004).

Finally, clustering of the mapped data is conducted on the subspace.

not violate the constraints).

**6. Conclusion**

von Luxburg, 2007).

**7. Acknowledgments**

clustering, *KDD-04*, pp. 59–68.

**8. References**

2002) is conducted over the learned metric.

Fig. 9. Results on TREC datasets (CPU time (in seconds))

of *another* linear dimensionality reduction (such as PCA) as pre-processing might obscure its effect.

From these results, our approach can be said as effective in terms of the balance between the accuracy of cluster assignment and running time. Especially, it can leverage small amount of pairwise constraints to increase the performance. We believe that this is a good property in the semi-supervised learning setting.

#### **5.2 Related work**

Various approaches have been conducted on semi-supervised clustering. Among them are: constraint-based, distance-based, and hybrid approaches (Tang et al., 2007). The constraint-based approach tries to guide the clustering process with the specified pairwise instance constraints (Wagstaff et al., 2001). The distance-based approach utilizes metric learning techniques to acquire the distance measure during the clustering process based on the specified pairwise instance constraints (Li et al., 2008; Xing et al., 2003). The hybrid approach combines these two approaches under a probabilistic framework (Basu et al., 2004).

As for the semi-supervised clustering problem, (Wagstaff et al., 2001) proposed a clustering algorithm called COP-kmeans based on the famous kmeans algorithm. When assigning each data item to the cluster with minimum distance as in kmeans, COP-kmeans checks the constraint satisfaction and assigns each data item only to the admissible cluster (which does not violate the constraints).

SCREEN (Tang et al., 2007) first converts the data representation based on must-link constraints and removes the constraints. This process corresponds to contraction in our approach, but the weight definition is different. After that, based on cannot-link constraints, it finds out the linear mapping (linear projection) to a subspace where the variance among the data is maximized. Finally, clustering of the mapped data is conducted on the subspace.

PCP (Li et al., 2008) deals with the semi-supervised clustering problem by finding a mapping onto a space where the specified constraints are reflected. Using the specified constraints, it conducts metric learning based on the semi-definite programming and learn the kernel matrix on the mapped space. Although the explicit representation of the mapping or the data representation on the mapped space is not learned, kernel k-means clustering (Girolami, 2002) is conducted over the learned metric.

### **6. Conclusion**

14 Graph Theory

**reviews**

20 40 60 80 100

20 40 60 80 100

20 40 60 80 100

Number of constraints

of *another* linear dimensionality reduction (such as PCA) as pre-processing might obscure its

From these results, our approach can be said as effective in terms of the balance between the accuracy of cluster assignment and running time. Especially, it can leverage small amount of pairwise constraints to increase the performance. We believe that this is a good property in

Various approaches have been conducted on semi-supervised clustering. Among them are: constraint-based, distance-based, and hybrid approaches (Tang et al., 2007). The constraint-based approach tries to guide the clustering process with the specified pairwise instance constraints (Wagstaff et al., 2001). The distance-based approach utilizes metric learning techniques to acquire the distance measure during the clustering process based on the

Number of constraints

**ohscal**

20 40 60 80 100

20 40 60 80 100

20 40 60 80 100

Number of constraints

Number of constraints

**fbis**

Number of constraints

**la12**

**sports**

5e−02 5e−01 5e+00 5e+01

0.1 0.5

1e−01 1e+00 1e+01 1e+02 1e+03

CPU(sec)

 5.0 50.0

CPU(sec)

CPU(sec)

Number of constraints

**la2**

5e−02 5e−01 5e+00 5e+01

0.1 0.5

1e−01 1e+00 1e+01 1e+02 1e+03

Fig. 9. Results on TREC datasets (CPU time (in seconds))

CPU(sec)

 5.0 50.0

CPU(sec)

CPU(sec)

20 40 60 80 100

20 40 60 80 100

20 40 60 80 100

the semi-supervised learning setting.

Number of constraints

Number of constraints

**k1b**

Number of constraints

**la1**

**hitech**

GBSSC GBSSC+PCA GBSSC+PCP SCREEN+PCA PCP

5e−02 5e−01 5e+00 5e+01

0.1 0.5

5e−02 5e−01 5e+00 5e+01

effect.

**5.2 Related work**

CPU(sec)

 5.0 50.0

CPU(sec)

CPU(sec)

In this chapter we presented our semi-supervised clustering method based on graph contraction in general graph theory and graph Laplacian in spectral graph theory. Our approach can exploit a small amount of pairwise constraints as well as pairwise relations (similarities) among the data instances. Utilization of graph representation of instances enables to deal with the pairwise constraints as well as pairwise similarities over a unified representation. In order to reflect the pairwise constraints on the clustering process, the graph structure for the entire data instances is modified by graph contraction in general graph theory (Diestel, 2006) and graph Laplacian in spectral graph theory (Chung, 1997; von Luxburg, 2007).

We reported the performance of our approach over two real-world datasets with respect to the type of constraints as well as the number of constraints. We also compared with other state-of-the-art semi-supervised clustering methods in terms of accuracy of cluster assignment and running time. The experimental results indicate that our approach is effective in terms of the balance between the accuracy of cluster assignment and running time. Especially, it could leverage a small amount of pairwise constraints to improve the clustering performance. We plan to continue this line of research and to improve the presented approach in future.

### **7. Acknowledgments**

The author is grateful to Mr. Okatani and Mr. Ogino for their help on implementation.

### **8. References**

Basu, S., Bilenko, M. & Mooney, R. J. (2004). A probabilistic framework for semi-supervised clustering, *KDD-04*, pp. 59–68.

Basu, S., Davidson, I. & Wagstaff, K. (eds) (2008). *Constrained Clustering: Advances in Algorithms, Theory, and Applications*, Chapman & Hall/CRC Press.

**0**

**6**

*Spain*

**Visibility Algorithms: A Short Review**

*Universidad Politécnica de Madrid, Spain*

Angel M. Nuñez, Lucas Lacasa, Jose Patricio Gomez and Bartolo Luque

Disregarding any underlying process (and therefore any physical, chemical, economical or whichever meaning of its mere numeric values), we can consider a time series just as an ordered set of values and play the naive mathematical game of turning this set into a different mathematical object with the aids of an abstract mapping, and see what happens: which properties of the original set are conserved, which are transformed and how, what can we say about one of the mathematical representations just by looking at the other... This exercise is of mathematical interest by itself. In addition, it turns out that time series or signals is a universal method of extracting information from dynamical systems in any field of science. Therefore, the preceding mathematical game gains some unexpected practical interest as it opens the possibility of analyzing a time series (i.e. the outcome of a dynamical process) from an alternative angle. Of course, the information stored in the original time series should be somehow conserved in the mapping. The motivation is completed when the new representation belongs to a relatively mature mathematical field, where information encoded in such a representation can be effectively disentangled and processed. This is, in a nutshell,

This motivation is increased by two interconnected factors: first, although a mature field, time series analysis has some limitations, when it refers to study the so called complex signals. Beyond the linear regime, there exist a wide range of phenomena (not exclusive to physics) which are usually embraced in the field of the so called Complex Systems. Under this vague definition lies a common feature: the relevant effect of nonlinearities in their mathematical representation. This feature can be reflected in the temporal evolution of (at least one of) the variables describing the system and necessitates the use of specific tools for nonlinear analysis 1. Dynamical phenomena such as chaos, long-range correlated stochastic processes, intermittency, multifractality, etc... are examples of complex phenomena where time series analysis is pushed to its own limits. Nonlinear time series analysis develops from techniques such as nonlinear correlation functions, embedding algorithms, multrifractal spectra, projection theorems... tools that increase in complexity parallel to the complexity of the process/series under study. New approaches, new paradigms to deal with complexity are not only welcome, but needed. Approaches that deal with the intrinsic nonlinearity

<sup>1</sup> We should note that nonlinearity is not the only feature that characterize a complex system; many interacting parts, randomness and emergence could also be cited but, as we are going to see later,

**1. Introduction**

a first motivation to map time series into networks.

nonlinearity will be sufficient for our purposes in this chapter

**1.1 Motivation**


## **Visibility Algorithms: A Short Review**

Angel M. Nuñez, Lucas Lacasa, Jose Patricio Gomez and Bartolo Luque *Universidad Politécnica de Madrid, Spain Spain*

#### **1. Introduction**

#### **1.1 Motivation**

16 Graph Theory

118 New Frontiers in Graph Theory

Belkin, M. & Niyogi, P. (2002). Laplacian eigenmaps for dimensionality reduction and data

Blum, A. & Mitchell, T. (1998). Combining labeled and unlabeled data with to-training, *Proc.*

Dhillon, J., Mallela, S. & Modha, D. (2003). Information-theoretic co-clustering, *Proc. KDD'03*,

Dhillon, J. & Modha, D. (2001). Concept decompositions for large sparse text data using

Girolami, M. (2002). Mercer kernel-based clustering in feature space, *IEEE Transactions on*

Guënoche, A., Hansen, P. & Jaumard, B. (1991). Efficient algorithms for divisive hierarchical

Guha, S., Rastogi, R. & Shim, K. (1998). Cure: An efficient clustering algorithm for large

Hartigan, J. & Wong, M. (1979). Algorithm AS136: A k-means clustering algorithm, *Journal of*

Jain, A., Murty, M. & P.J., F. (1999). Data clustering: A review, *ACM Computing Surveys*

Li, Z., Liu, J. & Tang, X. (2008). Pairwise constraint propagation by semidefinite programming

Ng, A. Y., Jordan, M. I. & Weiss, Y. (2001). On Spectral Clustering: Analysis and an algorithm,

Ng, R. & Han, J. (2002). Clarans: a method for clustering objects for spatial data mining, *IEEE*

Strehl, A. & Ghosh, J. (2002). Cluster Ensembles -A Knowledge Reuse Framework for Combining Multiple Partitions, *J. Machine Learning Research* 3(3): 583–617. Tang, W., Xiong, H., Zhong, S. & Wu, J. (2007). Enhancing semi-supervised clustering : A

von Luxburg, U. (2007). A tutorial on spectral clustering, *Statistics and Computing*

Wagstaff, K., Cardie, C., Rogers, S. & Schroedl, S. (2001). Constrained k-means clustering with

Xing, E. P., Ng, A. Y., Jordan, M. I. & Russell, S. (2003). Distance metric learning, with application to clustering with side-information, *NIPS 15*, pp. 505–512. Yoshida, T. (2010). Performance Evaluation of Constraints in Graph-based Semi-Supervised

Yoshida, T. (2011). A graph model for mutual information based clustering, *Journal of*

Yoshida, T. & Ogino, H. (2011). A re-coloring approach for graph b-coloring based clustering, *International Journal of Knowledge-Based & Intelligent Engineering Systems* . accepted. Yoshida, T. & Okatani, K. (2010). A Graph-based projection approach for Semi-Supervised

clustering with the diameter criterion, *J. of Classification* 8: 5–30.

databases, *Proc. the ACM SIGMOD Conference*, pp. 73–84.

for semi-supervised classification, *ICML-08*, pp. 576–583.

feature projection perspective, *Proc. KDD'07*, pp. 707–716.

background knowledge, *In ICML01*, pp. 577–584.

Clustering, *Proc. AMT-2010, LNAI 6335*, pp. 138–149.

Clustering, *Proc. PKAW-2010, LNAI 6232*, pp. 1–13.

*Intelligent Information Systems* 37(2): 187–216.

*Transactions on Knowledge and Data Engineering* 14(5): 1003–1016.

Chapelle, O., Schölkopf, B. & Zien, A. (eds) (2006). *Semi-Supervised Learning*, MIT Press.

representation, *Neural Computation* 15: 1373–1396.

Chung, F. (1997). *Spectral Graph Theory*, American Mathematical Society. Cover, T. & Thomas, J. (2006). *Elements of Information Theory*, Wiley.

*11th Computational Learning Theory*, pp. 92–100.

clustering, *Machine Learning* 42: 143–175.

pp. 89–98.

31: 264–323.

17(4): 395–416.

Diestel, R. (2006). *Graph Theory*, Springer.

*Neural Networks* 13(3): 780–784.

*Applied Statistics* 28: 100–108.

*Proc. NIPS 14*, pp. 849–856.

Disregarding any underlying process (and therefore any physical, chemical, economical or whichever meaning of its mere numeric values), we can consider a time series just as an ordered set of values and play the naive mathematical game of turning this set into a different mathematical object with the aids of an abstract mapping, and see what happens: which properties of the original set are conserved, which are transformed and how, what can we say about one of the mathematical representations just by looking at the other... This exercise is of mathematical interest by itself. In addition, it turns out that time series or signals is a universal method of extracting information from dynamical systems in any field of science. Therefore, the preceding mathematical game gains some unexpected practical interest as it opens the possibility of analyzing a time series (i.e. the outcome of a dynamical process) from an alternative angle. Of course, the information stored in the original time series should be somehow conserved in the mapping. The motivation is completed when the new representation belongs to a relatively mature mathematical field, where information encoded in such a representation can be effectively disentangled and processed. This is, in a nutshell, a first motivation to map time series into networks.

This motivation is increased by two interconnected factors: first, although a mature field, time series analysis has some limitations, when it refers to study the so called complex signals. Beyond the linear regime, there exist a wide range of phenomena (not exclusive to physics) which are usually embraced in the field of the so called Complex Systems. Under this vague definition lies a common feature: the relevant effect of nonlinearities in their mathematical representation. This feature can be reflected in the temporal evolution of (at least one of) the variables describing the system and necessitates the use of specific tools for nonlinear analysis 1. Dynamical phenomena such as chaos, long-range correlated stochastic processes, intermittency, multifractality, etc... are examples of complex phenomena where time series analysis is pushed to its own limits. Nonlinear time series analysis develops from techniques such as nonlinear correlation functions, embedding algorithms, multrifractal spectra, projection theorems... tools that increase in complexity parallel to the complexity of the process/series under study. New approaches, new paradigms to deal with complexity are not only welcome, but needed. Approaches that deal with the intrinsic nonlinearity

<sup>1</sup> We should note that nonlinearity is not the only feature that characterize a complex system; many interacting parts, randomness and emergence could also be cited but, as we are going to see later, nonlinearity will be sufficient for our purposes in this chapter

(saddle points or unstable periodic orbits) and studying the graph properties dependent on the embedding dimension was suggested as a means to distinguish between chaotic and

Visibility Algorithms: A Short Review 121

Campanharo et al. (2011) contributed with an idea along the lines of Shirazi et al. (2009), Strozzi et al. (2009) and Haraguchi et al. (2009) of a surjective mapping which admits an inverse opperation. This approach opens the reciprocal possibility of benefiting from time series analysis to study the structure and properties of networks. Time series are treated as Markov processes, values are grouped in quantiles which will correspond to nodes in the associated graph. Weighted and directed connections are stablished between nodes as a function of the probability of transition between quantiles. An inverse operation can be defined without any a priori knowledge of the correspondance between nodes and quantiles just by imposing a continuity condition in the time series by means of a cost function defined on the weighted adjacency matrix of the graph. A random walk is performed on the network and a time series with properties equivalent to the original one is recovered. This method was applied to a battery of cases which included a periodic-to-random family of processes parametrized by the probability of transition *p*, a pair of chaotic systems (Lorentz and Rossler attractors) and two human heart rate time series. Reciprocally, the inverse map was applied to the metabolic network of Arabidopsis Thaliana and to the '97 year Internet Network. Time

Among all these methods of mapping, in this chapter we are going to concentrate our attention on the one developed in Lacasa et al. (2008) and subsequent works. To cite some of its most relevant features, we will stress its intrinsic nonlocality, its low computational cost, its straightforward implementation and its quite 'simple' way of inherit the time series properties in the structure of the associated graphs. These features are going to make it easier to find connections between the underlying processes and the networks obtained from them by a direct analysis of the latter. In what follows we will firstly present different versions of the algorithm along with its most notable properties, that in many cases can be derived analytically (theorems are reported when possible). Based on these latter properties, several

Let {*x*(*ti*)}*i*=1..*<sup>N</sup>* be a time series of *N* data. The natural visibility algorithm (Lacasa et al., 2008) assigns each datum of the series to a node in the natural visibility graph (from now on NVg). Two nodes *i* and *j* in the graph are connected if one can draw a straight line in the time series joining *x*(*ti*) and *x*(*tj*) that does not intersect any intermediate data height *x*(*tk*) (see figure 1 for a graphical illustration). Hence, *i* and *j* are two connected nodes if the following

*<sup>x</sup>*(*tk*) <sup>&</sup>lt; *<sup>x</sup>*(*ti*)+(*x*(*tj*) <sup>−</sup> *<sup>x</sup>*(*ti*))*tk* <sup>−</sup> *ti*

It can easily checked that by means of the present algorithm, the associated graph extracted

*tj* − *tk*

. (1)

series obtained were demostrated to exhibit different dynamics.

stochastic systems.

applications are addressed.

from a time series is always:

**2. Visibility algorithms: Theory**

**2.1 Natural visibility algorithm: definition**

geometrical criterion is fulfilled within the time series:

by being intrinsically nonlinear, that deal with the possible multiscale character of the underlying process by being designed to naturally incorporate multiple scales. And such is the framework of networks, of graph theory. Second, the technological era brings us the possibility of digitally analyze myriads of data in a glimpse. Massive data sets can nowadays be parsed, and with the aid of well suited algorithms, we can have access and filter data from many processes, let it be of physical, technological or even social garment. It is now time to develop new approaches to filter such plethora of information.

It is in this context that the network approach for time series analysis was born. The family of visibility algorithms constitute one of other possibilities to map a time series into a graph and subsequently analyze the structure of the series through the set of tools developed in the graph /complex network theory. In this chapter we will review some of its basic properties and show some of its first applications.

### **1.2 Different methods to map time series into graphs**

The idea of mapping time series into graphs seems attractive because it lays a bridge between two prolific fields of modern science as Nonlinear Signal Analysis and Complex Networks Theory, so much so that it has attracted the attention of several research groups which have contributed to the topic with different strategies of mapping. While an exhaustive list of such strategies is beyond the scope of this work, we shall briefly outline some of them.

Zhang & Small (2006) developed a method that mapped each cycle of a pseudoperiodic time series into a node in a graph. The connection between nodes was established by a distance threshold in the reconstructed phase space when possible or by the linear correlation coefficient between cycles in the presence of noise. Noisy periodic time series mapped into random graphs while chaotic time series did it into scale-free, small-world networks due to the presence of unstable periodic orbits. This method was subsequently applied to characterize cardiac dynamics.

Xu et al. (2008) concentrated in the relative frequencies of appearance of four-node motifs inside a particular graph in order to classify it into a particular superfamily of networks which corresponded to specific underlying dynamics of the mapped time series. In this case, the method of mapping consisted in embedding the time series in an appropiated phase space where each point corresponded to a node in the network. A threshold was imposed not only in the minimum distance between two neighbours to be eligible (temporal separation should be greater than the mean period of the data) but also to the maximum number of neighbours a node could have. Different superfamilies were found for chaotic, hyperchaotic, random and noisy periodic underlying dynamics, unique fingerprints were also found for specific dynamical systems within a family.

Donner et al. (2010; 2011) presented a technique which was based on the properties of recurrence in the phase space of a dynamical system. More precisely, the recurrence matrix obtained by imposing a threshold in the minimum distance between two points in the phase space (as in Xu et al. (2008)) was interpreted as the adjacency matrix of an undirected, unweighted graph. Properties of such graphs at three different scales (local, intermediated and global) were presented and studied on several paradigmatic systems (Hénon map, Rossler system, Lorenz system, Bernoulli map). The variation of some of the properties of the graphs with the distance threshold was analyzed, the use of specific measures like the local clustering coefficient was proposed as a way for detecting dynamically invariant objects 2 Will-be-set-by-IN-TECH

by being intrinsically nonlinear, that deal with the possible multiscale character of the underlying process by being designed to naturally incorporate multiple scales. And such is the framework of networks, of graph theory. Second, the technological era brings us the possibility of digitally analyze myriads of data in a glimpse. Massive data sets can nowadays be parsed, and with the aid of well suited algorithms, we can have access and filter data from many processes, let it be of physical, technological or even social garment. It is now time to

It is in this context that the network approach for time series analysis was born. The family of visibility algorithms constitute one of other possibilities to map a time series into a graph and subsequently analyze the structure of the series through the set of tools developed in the graph /complex network theory. In this chapter we will review some of its basic properties

The idea of mapping time series into graphs seems attractive because it lays a bridge between two prolific fields of modern science as Nonlinear Signal Analysis and Complex Networks Theory, so much so that it has attracted the attention of several research groups which have contributed to the topic with different strategies of mapping. While an exhaustive list of such

Zhang & Small (2006) developed a method that mapped each cycle of a pseudoperiodic time series into a node in a graph. The connection between nodes was established by a distance threshold in the reconstructed phase space when possible or by the linear correlation coefficient between cycles in the presence of noise. Noisy periodic time series mapped into random graphs while chaotic time series did it into scale-free, small-world networks due to the presence of unstable periodic orbits. This method was subsequently applied to characterize

Xu et al. (2008) concentrated in the relative frequencies of appearance of four-node motifs inside a particular graph in order to classify it into a particular superfamily of networks which corresponded to specific underlying dynamics of the mapped time series. In this case, the method of mapping consisted in embedding the time series in an appropiated phase space where each point corresponded to a node in the network. A threshold was imposed not only in the minimum distance between two neighbours to be eligible (temporal separation should be greater than the mean period of the data) but also to the maximum number of neighbours a node could have. Different superfamilies were found for chaotic, hyperchaotic, random and noisy periodic underlying dynamics, unique fingerprints were also found for specific

Donner et al. (2010; 2011) presented a technique which was based on the properties of recurrence in the phase space of a dynamical system. More precisely, the recurrence matrix obtained by imposing a threshold in the minimum distance between two points in the phase space (as in Xu et al. (2008)) was interpreted as the adjacency matrix of an undirected, unweighted graph. Properties of such graphs at three different scales (local, intermediated and global) were presented and studied on several paradigmatic systems (Hénon map, Rossler system, Lorenz system, Bernoulli map). The variation of some of the properties of the graphs with the distance threshold was analyzed, the use of specific measures like the local clustering coefficient was proposed as a way for detecting dynamically invariant objects

strategies is beyond the scope of this work, we shall briefly outline some of them.

develop new approaches to filter such plethora of information.

and show some of its first applications.

cardiac dynamics.

dynamical systems within a family.

**1.2 Different methods to map time series into graphs**

Campanharo et al. (2011) contributed with an idea along the lines of Shirazi et al. (2009), Strozzi et al. (2009) and Haraguchi et al. (2009) of a surjective mapping which admits an inverse opperation. This approach opens the reciprocal possibility of benefiting from time series analysis to study the structure and properties of networks. Time series are treated as Markov processes, values are grouped in quantiles which will correspond to nodes in the associated graph. Weighted and directed connections are stablished between nodes as a function of the probability of transition between quantiles. An inverse operation can be defined without any a priori knowledge of the correspondance between nodes and quantiles just by imposing a continuity condition in the time series by means of a cost function defined on the weighted adjacency matrix of the graph. A random walk is performed on the network and a time series with properties equivalent to the original one is recovered. This method was applied to a battery of cases which included a periodic-to-random family of processes parametrized by the probability of transition *p*, a pair of chaotic systems (Lorentz and Rossler attractors) and two human heart rate time series. Reciprocally, the inverse map was applied to the metabolic network of Arabidopsis Thaliana and to the '97 year Internet Network. Time series obtained were demostrated to exhibit different dynamics.

Among all these methods of mapping, in this chapter we are going to concentrate our attention on the one developed in Lacasa et al. (2008) and subsequent works. To cite some of its most relevant features, we will stress its intrinsic nonlocality, its low computational cost, its straightforward implementation and its quite 'simple' way of inherit the time series properties in the structure of the associated graphs. These features are going to make it easier to find connections between the underlying processes and the networks obtained from them by a direct analysis of the latter. In what follows we will firstly present different versions of the algorithm along with its most notable properties, that in many cases can be derived analytically (theorems are reported when possible). Based on these latter properties, several applications are addressed.

### **2. Visibility algorithms: Theory**

### **2.1 Natural visibility algorithm: definition**

Let {*x*(*ti*)}*i*=1..*<sup>N</sup>* be a time series of *N* data. The natural visibility algorithm (Lacasa et al., 2008) assigns each datum of the series to a node in the natural visibility graph (from now on NVg). Two nodes *i* and *j* in the graph are connected if one can draw a straight line in the time series joining *x*(*ti*) and *x*(*tj*) that does not intersect any intermediate data height *x*(*tk*) (see figure 1 for a graphical illustration). Hence, *i* and *j* are two connected nodes if the following geometrical criterion is fulfilled within the time series:

$$
\omega(t\_k) < \mathbf{x}(t\_i) + (\mathbf{x}(t\_j) - \mathbf{x}(t\_i)) \frac{t\_k - t\_i}{t\_j - t\_k}. \tag{1}
$$

It can easily checked that by means of the present algorithm, the associated graph extracted from a time series is always:

presence of chaotic behavior), we will see that the visibility algorithm can distinguish between stochastic and chaotic series. Of course this analogy is, so far, a simple metaphor to help our

Visibility Algorithms: A Short Review 123

An alternative criterion for the construction of the visibility graph is defined as follows: let {*xi*}*i*=1..*<sup>N</sup>* be a time series of *N* data. The so called horizontal visibility algorithm (Luque et al., 2009) assigns each datum of the series to a node in the horizontal visibility graph (from now on HVg). Two nodes *i* and *j* in the graph are connected if one can draw a horizontal line in the time series joining *xi* and *xj* that does not intersect any intermediate data height (see figure 2 for a graphical illustration). Hence, *i* and *j* are two connected nodes if the following

This algorithm is a simplification of the NVa. In fact, the HVg is always a subgraph of its associated NVg for the same time series (see figure 2). Beside this, the HVg graph will also be (*i*) connected, (*ii*) undirected, (*iii*) invariant under affine transformations of the series and (*iv*) "lossy". Some concrete properties of these graphs can be found in Gutin et al. (2011); Lacasa et al. (2010); Luque et al. (2009; 2011). In the next sections we are going to focus on properties of this particular method as it is a quite more analytically tractable version.

**Theorem 2.1.** *The mean degree of an horizontal visibility graph associated to an infinite periodic series*

 <sup>1</sup> <sup>−</sup> <sup>1</sup> 2*T* 

An interesting consequence of the previous result is that every time series extracted from

lower bound is reached for constant series, whereas the upper bound is reached for aperiodic

Let {*xi*} be a bi-infinite sequence of independent and identically distributed random variables extracted from a continous probability density *f*(*x*), and consider its associated HVg. In the following sections we outline some theorems regarding the topological properties of these

*<sup>k</sup>*−<sup>2</sup>

**2.4.1 Degree distribution of the visibility graph associated to a random time series**

**Theorem 2.2.** *The degree distribution of its associated horizontal visibility graph is*

*<sup>P</sup>*(*k*) = <sup>1</sup> 3 2 3

**2.3 Topological properties of the HVg associated to periodic series: mean degree**

¯ *k*(*T*) = 4

a dynamical system has an associated HVG with a mean degree 2 <sup>≤</sup> ¯

**2.4 Topological properties of the HVg associated to random time series**

*xi*, *xj* > *xn* for all *n* such that *i* < *n* < *j* (2)

(3)

*k* ≤ 4, where the

, *k* = 2, 3, 4, ... (4)

intuition (this transform is not a reversible one for instance).

geometrical criterion is fulfilled within the time series:

*of period T (with no repeated values within a period) is*

A proof can be found in Núñez et al. (2010).

(random or chaotic) series (Luque et al., 2009).

graphs.

**2.2 Horizontal visibility algorithm: definition**

(*i*) connected: each node sees at least its nearest neighbors (left-hand side and right-hand side).

(*ii*) undirected: the way the algorithm is built up, there is no direction defined in the links.

(*iii*) invariant under affine transformations of the series data: the visibility criterium is invariant under rescaling of both horizontal and vertical axis, as well as under horizontal and vertical translations.

(*iv*) "lossy": some information regarding the time series is inevitably lost in the mapping from the fact that the network structure is completely determined in the (binary) adjacency matrix. For instance, two periodic series with the same period as *T*1 = ..., 3, 1, 3, 1, ... and *T*2 = ..., 3, 2, 3, 2, ... would have the same visibility graph, albeit being quantitatively different.

Fig. 1. Illustrative example of the visibility algorithm. In the upper part we plot a periodic time series and in the bottom part we represent the graph generated through the visibility algorithm. Each datum in the series corresponds to a node in the graph, such that two nodes are connected if their corresponding data heights fulfill the visibility criterion of equation 1. Note that the degree distribution of the visibility graph is composed by a finite number of peaks, much in the vein of the Discrete Fourier Transform of a periodic signal. We can thus interpret the visibility algorithm as a geometric transform.

One straightforward question is: what does the visibility algorithm stand for? In order to deepen on the geometric interpretation of the visibility graph, let us focus on a periodic series. It is straightforward that its visibility graph is a concatenation of a motif: a repetition of a pattern (see figure 1). Now, which is the degree distribution *P*(*k*) of this visibility graph? Since the graph is just a motif's repetition, the degree distribution will be formed by a finite number of non-null values, this number being related to the period of the associated periodic series. This behavior reminds us the Discrete Fourier Transform (DFT), which for periodic series is formed by a finite number of peaks (vibration modes) related to the series period. Using this analogy, we can understand the visibility algorithm as a geometric (rather than integral) transform. Whereas a DFT decomposes a signal in a sum of (eventually infinite) modes, the visibility algorithm decomposes a signal in a concatenation of graph's motifs, and the degree distribution simply makes a histogram of such 'geometric modes'. While the time series is defined in the time domain and the DFT is defined on the frequency domain, the visibility graph is then defined on the 'visibility domain'. At this point we can mention that whereas a generic DFT fails to capture the presence of nonlinear correlations in time series (such as the 4 Will-be-set-by-IN-TECH

(*i*) connected: each node sees at least its nearest neighbors (left-hand side and right-hand side). (*ii*) undirected: the way the algorithm is built up, there is no direction defined in the links. (*iii*) invariant under affine transformations of the series data: the visibility criterium is invariant under rescaling of both horizontal and vertical axis, as well as under horizontal

(*iv*) "lossy": some information regarding the time series is inevitably lost in the mapping from the fact that the network structure is completely determined in the (binary) adjacency matrix. For instance, two periodic series with the same period as *T*1 = ..., 3, 1, 3, 1, ... and *T*2 = ..., 3, 2, 3, 2, ... would have the same visibility graph, albeit being quantitatively different.

Fig. 1. Illustrative example of the visibility algorithm. In the upper part we plot a periodic time series and in the bottom part we represent the graph generated through the visibility algorithm. Each datum in the series corresponds to a node in the graph, such that two nodes are connected if their corresponding data heights fulfill the visibility criterion of equation 1. Note that the degree distribution of the visibility graph is composed by a finite number of peaks, much in the vein of the Discrete Fourier Transform of a periodic signal. We can thus

One straightforward question is: what does the visibility algorithm stand for? In order to deepen on the geometric interpretation of the visibility graph, let us focus on a periodic series. It is straightforward that its visibility graph is a concatenation of a motif: a repetition of a pattern (see figure 1). Now, which is the degree distribution *P*(*k*) of this visibility graph? Since the graph is just a motif's repetition, the degree distribution will be formed by a finite number of non-null values, this number being related to the period of the associated periodic series. This behavior reminds us the Discrete Fourier Transform (DFT), which for periodic series is formed by a finite number of peaks (vibration modes) related to the series period. Using this analogy, we can understand the visibility algorithm as a geometric (rather than integral) transform. Whereas a DFT decomposes a signal in a sum of (eventually infinite) modes, the visibility algorithm decomposes a signal in a concatenation of graph's motifs, and the degree distribution simply makes a histogram of such 'geometric modes'. While the time series is defined in the time domain and the DFT is defined on the frequency domain, the visibility graph is then defined on the 'visibility domain'. At this point we can mention that whereas a generic DFT fails to capture the presence of nonlinear correlations in time series (such as the

interpret the visibility algorithm as a geometric transform.

and vertical translations.

presence of chaotic behavior), we will see that the visibility algorithm can distinguish between stochastic and chaotic series. Of course this analogy is, so far, a simple metaphor to help our intuition (this transform is not a reversible one for instance).

#### **2.2 Horizontal visibility algorithm: definition**

An alternative criterion for the construction of the visibility graph is defined as follows: let {*xi*}*i*=1..*<sup>N</sup>* be a time series of *N* data. The so called horizontal visibility algorithm (Luque et al., 2009) assigns each datum of the series to a node in the horizontal visibility graph (from now on HVg). Two nodes *i* and *j* in the graph are connected if one can draw a horizontal line in the time series joining *xi* and *xj* that does not intersect any intermediate data height (see figure 2 for a graphical illustration). Hence, *i* and *j* are two connected nodes if the following geometrical criterion is fulfilled within the time series:

$$\left| \mathbf{x}\_{i\prime} \mathbf{x}\_{j} \right> > \mathbf{x}\_{n} \text{ for all } n \text{ such that } i < n < j \tag{2}$$

This algorithm is a simplification of the NVa. In fact, the HVg is always a subgraph of its associated NVg for the same time series (see figure 2). Beside this, the HVg graph will also be (*i*) connected, (*ii*) undirected, (*iii*) invariant under affine transformations of the series and (*iv*) "lossy". Some concrete properties of these graphs can be found in Gutin et al. (2011); Lacasa et al. (2010); Luque et al. (2009; 2011). In the next sections we are going to focus on properties of this particular method as it is a quite more analytically tractable version.

#### **2.3 Topological properties of the HVg associated to periodic series: mean degree**

**Theorem 2.1.** *The mean degree of an horizontal visibility graph associated to an infinite periodic series of period T (with no repeated values within a period) is*

$$
\bar{k}(T) = 4\left(1 - \frac{1}{2T}\right) \tag{3}
$$

A proof can be found in Núñez et al. (2010).

An interesting consequence of the previous result is that every time series extracted from a dynamical system has an associated HVG with a mean degree 2 <sup>≤</sup> ¯ *k* ≤ 4, where the lower bound is reached for constant series, whereas the upper bound is reached for aperiodic (random or chaotic) series (Luque et al., 2009).

#### **2.4 Topological properties of the HVg associated to random time series**

Let {*xi*} be a bi-infinite sequence of independent and identically distributed random variables extracted from a continous probability density *f*(*x*), and consider its associated HVg. In the following sections we outline some theorems regarding the topological properties of these graphs.

#### **2.4.1 Degree distribution of the visibility graph associated to a random time series**

**Theorem 2.2.** *The degree distribution of its associated horizontal visibility graph is*

$$P(k) = \frac{1}{3} \left(\frac{2}{3}\right)^{k-2}, k = 2, 3, 4, \dots \tag{4}$$

that a given node has degree *k* provided that it has height *x*. *P*(*k*|*x*) is easily deduced in

Visibility Algorithms: A Short Review 125

The average value of the degree of a node associated to a datum of height *x*, *K*(*x*), in then

Since *F*(*x*) ∈ [0, 1] and ln(*x*) are monotonically increasing functions, *K*(*x*) will also be monotonically increasing. We can thus conclude that graph hubs (that is, the most connected

The local clustering coefficient *C* (Boccaletti et al., 2006; Newmann, 2003) of an horizontal visibility graph associated to a random series can be easy deduced by means of geometrical

what indicates a so called hierarchical structure (Ravasz et al., 2002). This relation between *k*

The probability *P*(*n*) that two data separated by *n* intermediate data be two connected nodes

*f*(*x*0)*Fn*(*x*0)*dx*<sup>0</sup> +

where *P*(*n*) is independent of the probability distribution f(x) of the random variable. Notice that the latter result can also be obtained, alternatively, with a purely combinatorial argument: take a random series with *n* + 1 data and choose its two largest values. This latter pair can be placed with equiprobability in *n*(*n* + 1) positions, while only two of them are such that

*<sup>k</sup>*−<sup>2</sup>

2/*C*−<sup>2</sup>

= *P*(2/*C*)

 1 0

*<sup>n</sup>*(*<sup>n</sup>* <sup>+</sup> <sup>1</sup>) (10)

*f*(*x*0)*Fn*−1(*x*0)*dx*<sup>0</sup>

*<sup>n</sup>*(*n*+1) on agreement with the

*<sup>C</sup>*(*k*) = *<sup>k</sup>* <sup>−</sup> <sup>1</sup> ( *k* <sup>2</sup>) <sup>=</sup> <sup>2</sup>

[<sup>1</sup> <sup>−</sup> *<sup>F</sup>*(*x*)]<sup>2</sup> · [ln(<sup>1</sup> <sup>−</sup> *<sup>F</sup>*(*x*))]*k*−<sup>2</sup> (6)

*<sup>k</sup>* (8)

(9)

*kP*(*k*|*x*) = 2 − 2 ln(1 − *F*(*x*)) (7)

Luque et al. (2009), resulting in

where *F*(*x*) = *<sup>x</sup>*

*P*(*k*|*x*) =

<sup>−</sup><sup>∞</sup> *<sup>f</sup>*(*x*�

arguments (Luque et al., 2009):

)*dx*� .

**2.4.3 Local clustering coefficient distribution**

*k*−2 ∑ *j*=0

*K*(*x*) =

(−1)*k*−<sup>2</sup> *j*!(*k* − 2 − *j*)!

> ∞ ∑ *k*−2

nodes) are the data with largest values, that is, the extreme events of the series.

and *C* allows us to deduce the local clustering coefficient distribution *P*(*C*):

*<sup>P</sup>*(*k*) = <sup>1</sup> 3 2 3

*<sup>P</sup>*(*C*) = <sup>1</sup>

**2.4.4 Long distance visibility, mean degree and mean path length**

 1 0

the largest values are placed at distance *n*, so we get *P*(*n*) = <sup>2</sup>

in the graph can be demostrated to be (see Luque et al. (2009))

*<sup>n</sup>* <sup>−</sup> <sup>1</sup>

<sup>=</sup> <sup>2</sup>

*<sup>P</sup>*(*n*) = <sup>1</sup>

previous development.

3 2 3

Fig. 2. Illustrative example of the natural and horizontal visibility algorithms. We plot the same time series and we represent the graphs generated through both visibility algorithms below. Each datum in the series corresponds to a node in the graph, such that two nodes are connected if their corresponding data heights fulfill respectively the visibility criteria of equations 1 and 2 respectively.

A lengthy constructive proof can be found in Luque et al. (2009) and alternative, shorter proofs can be found in Núñez et al. (2010).

Observe that the mean degree ¯ *k* of the horizontal visibility graph associated to an uncorrelated random process is then:

$$\bar{k} = \sum k P(k) = \sum\_{k=2}^{\infty} \frac{k}{3} \left(\frac{2}{3}\right)^{k-2} = 4 \tag{5}$$

in good agreement with the prediction of eq. 3 in the limit *T* → ∞, i.e. an aperiodic series.

#### **2.4.2 Degree versus height**

An interesting aspect worth exploring is the relation between data height and the node degree, that is, to study whether a functional relation between the height of a datum and the degree of its associated node holds. In this sense, let us define *P*(*k*|*x*) as the conditional probability 6 Will-be-set-by-IN-TECH

Fig. 2. Illustrative example of the natural and horizontal visibility algorithms. We plot the same time series and we represent the graphs generated through both visibility algorithms below. Each datum in the series corresponds to a node in the graph, such that two nodes are connected if their corresponding data heights fulfill respectively the visibility criteria of

A lengthy constructive proof can be found in Luque et al. (2009) and alternative, shorter proofs

∞ ∑ *k*=2

in good agreement with the prediction of eq. 3 in the limit *T* → ∞, i.e. an aperiodic series.

An interesting aspect worth exploring is the relation between data height and the node degree, that is, to study whether a functional relation between the height of a datum and the degree of its associated node holds. In this sense, let us define *P*(*k*|*x*) as the conditional probability

*k* of the horizontal visibility graph associated to an uncorrelated

= 4 (5)

*<sup>k</sup>*−<sup>2</sup>

equations 1 and 2 respectively.

random process is then:

**2.4.2 Degree versus height**

can be found in Núñez et al. (2010). Observe that the mean degree ¯

¯

*k* = ∑*kP*(*k*) =

that a given node has degree *k* provided that it has height *x*. *P*(*k*|*x*) is easily deduced in Luque et al. (2009), resulting in

$$P(k|\mathbf{x}) = \sum\_{j=0}^{k-2} \frac{(-1)^{k-2}}{j!(k-2-j)!} [1 - F(\mathbf{x})]^2 \cdot [\ln(1 - F(\mathbf{x}))]^{k-2} \tag{6}$$

The average value of the degree of a node associated to a datum of height *x*, *K*(*x*), in then

$$K(\mathbf{x}) = \sum\_{k=2}^{\infty} k P(k|\mathbf{x}) = 2 - 2\ln(1 - F(\mathbf{x})) \tag{7}$$

where *F*(*x*) = *<sup>x</sup>* <sup>−</sup><sup>∞</sup> *<sup>f</sup>*(*x*� )*dx*� .

Since *F*(*x*) ∈ [0, 1] and ln(*x*) are monotonically increasing functions, *K*(*x*) will also be monotonically increasing. We can thus conclude that graph hubs (that is, the most connected nodes) are the data with largest values, that is, the extreme events of the series.

#### **2.4.3 Local clustering coefficient distribution**

The local clustering coefficient *C* (Boccaletti et al., 2006; Newmann, 2003) of an horizontal visibility graph associated to a random series can be easy deduced by means of geometrical arguments (Luque et al., 2009):

$$\mathcal{C}(k) = \frac{k-1}{\binom{k}{2}} = \frac{2}{k} \tag{8}$$

what indicates a so called hierarchical structure (Ravasz et al., 2002). This relation between *k* and *C* allows us to deduce the local clustering coefficient distribution *P*(*C*):

$$P(k) = \frac{1}{3} \left(\frac{2}{3}\right)^{k-2} = P(2/\mathbb{C})$$

$$P(\mathbb{C}) = \frac{1}{3} \left(\frac{2}{3}\right)^{2/\mathbb{C}-2} \tag{9}$$

#### **2.4.4 Long distance visibility, mean degree and mean path length**

The probability *P*(*n*) that two data separated by *n* intermediate data be two connected nodes in the graph can be demostrated to be (see Luque et al. (2009))

$$\begin{split}P(n) &= \left(\frac{1}{n} - 1\right) \int\_0^1 f(\mathbf{x}\_0) F^n(\mathbf{x}\_0) d\mathbf{x}\_0 + \int\_0^1 f(\mathbf{x}\_0) F^{n-1}(\mathbf{x}\_0) d\mathbf{x}\_0\\ &= \frac{2}{n(n+1)}\end{split} \tag{10}$$

where *P*(*n*) is independent of the probability distribution f(x) of the random variable. Notice that the latter result can also be obtained, alternatively, with a purely combinatorial argument: take a random series with *n* + 1 data and choose its two largest values. This latter pair can be placed with equiprobability in *n*(*n* + 1) positions, while only two of them are such that the largest values are placed at distance *n*, so we get *P*(*n*) = <sup>2</sup> *<sup>n</sup>*(*n*+1) on agreement with the previous development.

We use the Markov property *<sup>f</sup>*(*x*−1, *<sup>x</sup>*0, *<sup>x</sup>*1) = *<sup>f</sup>*(*x*−1)*f*(*x*0|*x*−1)*f*(*x*1|*x*0), that holds for an Ornstein-Uhlenbeck process with correlation function *C*(*t*) ∼ exp(−*t*/*τ*) (Van Kampen,

Visibility Algorithms: A Short Review 127

Numerical integration allows us to calculate *P*(2) for every given value of the correlation time

A chaotic map of the form *xn*+<sup>1</sup> = *F*(*xn*) does also have the Markov property, and therefore a similar analysis can be applied (even if chaotic maps are deterministic). For chaotic dynamical systems whose trajectories belong to the attractor, there exists a probability measure that characterizes the long-run proportion of time spent by the system in the various regions of the attractor. In the case of the logistic map *F*(*xn*) = *μxn*(1 − *xn*) with parameter *μ* = 4, the attractor is the whole interval [0, 1] and the probability measure *f*(*x*) corresponds to the *beta*

*<sup>f</sup>*(*x*) = *<sup>x</sup>*−0.5(<sup>1</sup> <sup>−</sup> *<sup>x</sup>*)−0.5

where *δ*(*x*) is the Dirac delta distribution. Departing from equation 12, for the logistic map

*<sup>f</sup>*(*x*−1)*f*(*x*0|*x*−1)*dx*−<sup>1</sup>

Now, notice that, using the properties of the Dirac delta distribution, <sup>1</sup>

*<sup>f</sup>*(*x*−1)*δ*[*x*<sup>0</sup> <sup>−</sup> *<sup>F</sup>*(*x*−1)]*dx*−<sup>1</sup> <sup>=</sup> <sup>∑</sup> *<sup>x</sup>*<sup>∗</sup>

*<sup>f</sup>*(*x*−1)*δ*(*x*<sup>0</sup> − *<sup>F</sup>*(*x*−1))*dx*−<sup>1</sup>

is equal to one iff *F*(*x*0) ∈ [*x*0, 1], what will happen iff 0 < *x*<sup>0</sup> < 3/4, and zero otherwise. Therefore the only effect of this integral is to restrict the integration range of *x*<sup>0</sup> to be [0, 3/4].

that is, the sum over the roots of the equation *<sup>F</sup>*(*x*) = *<sup>x</sup>*0, iff *<sup>F</sup>*(*x*−1) > *<sup>x</sup>*0. But since *<sup>x</sup>*−<sup>1</sup> ∈ [*x*0, 1] in the latter integral, it is easy to see that again, this is verified iff 0 < *x*<sup>0</sup> < 3/4 (as a matter of fact, if 0 < *<sup>x</sup>*<sup>0</sup> < 3/4 there is always a *single* value of *<sup>x</sup>*−<sup>1</sup> ∈ [*x*0, 1] such that *<sup>F</sup>*(*x*−1) = *<sup>x</sup>*0, so the sum restricts to the adequate root). It is easy to see that the particular

*τ*. A procedure to compute *P*(3) can also be found in Lacasa et al. (2010).

*<sup>f</sup>*(*x*2|*x*1) = exp(−(*x*<sup>2</sup> <sup>−</sup> *Kx*1)2/2(<sup>1</sup> <sup>−</sup> *<sup>K</sup>*2))

<sup>2</sup>*π*(<sup>1</sup> <sup>−</sup> *<sup>K</sup>*2) , (14)

<sup>B</sup>(0.5, 0.5) (15)

*f*(*xn*+1|*xn*) = *δ*[*xn*+<sup>1</sup> − *F*(*xn*)], (16)

*f*(*x*1|*x*0)*dx*<sup>1</sup> =

*δ*(*x*<sup>1</sup> − *F*(*x*0))*dx*1. (17)

*<sup>x</sup>*<sup>0</sup> *δ*(*x*<sup>1</sup> − *F*(*x*0))*dx*<sup>1</sup>

 1 *x*0

> *f*(*x*∗ *<sup>k</sup>* )/|*F*�

(*x*∗ *<sup>k</sup>* )|,

 1 *x*0

*<sup>k</sup>* |*F*(*x*<sup>∗</sup> *<sup>k</sup>* )=*x*<sup>0</sup>

2007):

where *K* = exp(−1/*τ*).

*<sup>f</sup>*(*x*) = exp(−*x*2/2) <sup>√</sup>2*<sup>π</sup>*

**2.5.2 Logistic map: degree distribution**

distribution with parameters *a* = 0.5 and *b* = 0.5:

*F*(*xn*) = 4*xn*(1 − *xn*) and *xn* ∈ [0, 1], we have

0 *dx*<sup>0</sup> 1 *x*0

 1 0 *dx*<sup>0</sup> 1 *x*0

*<sup>P</sup>*(2) = <sup>1</sup>

 1 *x*0

On the other hand,

Now, for a deterministic system, the transition probability is

#### **2.4.5 Small World property**

If we looked the adjacency matrix (Newmann, 2003) of the horizontal visibility graph associated to a random series (Luque et al., 2009), we would see that every data *xi* has visibility of its first neighbors *xi*−1, *xi*+1, every node *<sup>i</sup>* will be connected by construction to nodes *i* − 1 and *i* + 1: the graph is thus connected. The graph evidences a typical homogeneous structure: the adjacency matrix is predominantly filled around the main diagonal. Furthermore, the matrix evidences a superposed sparse structure, reminiscent of the visibility probability *P*(*n*) = 2/(*n*(*n* + 1)) that introduces some shortcuts in the horizontal visibility graph, much in the vein of the Small-World model (Strogatz, 2001). Here the probability of having these shortcuts is given by *P*(*n*). Statistically speaking, we can interpret the graph's structure as quasi-homogeneous, where the size of the local neighborhood increases with the graph's size. Accordingly, we can approximate its mean path length *L*(*N*) as:

$$L(N) \approx \sum\_{n=1}^{N-1} nP(n) = \sum\_{n=1}^{N-1} \frac{2}{n+1} = 2\log(N) + 2(\gamma - 1) + O(1/N) \tag{11}$$

where we have made use of the asymptotic expansion of the harmonic numbers and *γ* is the Euler-Mascheroni constant. As can be seen, the scaling is logarithmic, denoting that the horizontal visibility graph associated to a generic random series is Small-World (Newmann, 2003).

#### **2.5 Topological properties of the HVg associated to other stochastic and chaotic processes**

It was proved that *P*(*k*)=(1/3)(2/3)*k*−<sup>2</sup> for uncorrelated random series. To find out a similar closed expression in the case of generic chaotic or stochastic correlated processes is a very difficult task, since variables can be long-range correlated and hence the probabilities cannot be separated (lack of independence). This leads to a very involved calculation which is typically impossible to solve in the general case. However, some analytical developments can be made in order to compare them with our numerical results. Concretely, for Markovian systems global dependence is reduced to a one-step dependence. We will make use of such property to derive exact expressions for *P*(2) and *P*(3) in some Markovian systems (both deterministic and stochastic).

#### **2.5.1 Ornstein-Uhlenbeck process: degree distribution**

Suppose a short-range correlated series (exponentially decaying correlations) of infinite size generated through an Ornstein-Uhlenbeck process (Van Kampen, 2007), and generate its associated HVg. Let us consider the probability that a node chosen at random has degree *k* = 2. This node is associated to a datum labelled *x*<sup>0</sup> without lack of generality. Now, this node will have degree *<sup>k</sup>* = 2 if the datum first neighbors, *<sup>x</sup>*<sup>1</sup> and *<sup>x</sup>*−<sup>1</sup> have values larger than *x*0:

$$P(k=2) = P(\mathbf{x}\_{-1} > \mathbf{x}\_0 \cap \mathbf{x}\_1 > \mathbf{x}\_0) \tag{12}$$

In this case the variables are correlated, so in general we should have

$$P(\mathbf{2}) = \int\_{-\infty}^{\infty} d\mathbf{x}\_0 \int\_{\mathbf{x}\_0}^{\infty} d\mathbf{x}\_{-1} \int\_{\mathbf{x}\_0}^{\infty} d\mathbf{x}\_1 f(\mathbf{x}\_{-1}, \mathbf{x}\_0, \mathbf{x}\_1) \tag{13}$$

We use the Markov property *<sup>f</sup>*(*x*−1, *<sup>x</sup>*0, *<sup>x</sup>*1) = *<sup>f</sup>*(*x*−1)*f*(*x*0|*x*−1)*f*(*x*1|*x*0), that holds for an Ornstein-Uhlenbeck process with correlation function *C*(*t*) ∼ exp(−*t*/*τ*) (Van Kampen, 2007):

$$f(\mathbf{x}) = \frac{\exp(-\mathbf{x}^2/2)}{\sqrt{2\pi}} \qquad \qquad f(\mathbf{x}\_2|\mathbf{x}\_1) = \frac{\exp(-(\mathbf{x}\_2 - \mathbf{K}\mathbf{x}\_1)^2/2(1 - K^2))}{\sqrt{2\pi(1 - K^2)}},\tag{14}$$

where *K* = exp(−1/*τ*).

8 Will-be-set-by-IN-TECH

If we looked the adjacency matrix (Newmann, 2003) of the horizontal visibility graph associated to a random series (Luque et al., 2009), we would see that every data *xi* has visibility of its first neighbors *xi*−1, *xi*+1, every node *<sup>i</sup>* will be connected by construction to nodes *i* − 1 and *i* + 1: the graph is thus connected. The graph evidences a typical homogeneous structure: the adjacency matrix is predominantly filled around the main diagonal. Furthermore, the matrix evidences a superposed sparse structure, reminiscent of the visibility probability *P*(*n*) = 2/(*n*(*n* + 1)) that introduces some shortcuts in the horizontal visibility graph, much in the vein of the Small-World model (Strogatz, 2001). Here the probability of having these shortcuts is given by *P*(*n*). Statistically speaking, we can interpret the graph's structure as quasi-homogeneous, where the size of the local neighborhood increases with the graph's size. Accordingly, we can approximate its mean

**2.4.5 Small World property**

path length *L*(*N*) as:

2003).

*x*0:

*L*(*N*) ≈

deterministic and stochastic).

*N*−1 ∑ *n*=1

*nP*(*n*) =

**2.5.1 Ornstein-Uhlenbeck process: degree distribution**

*P*(2) =

In this case the variables are correlated, so in general we should have

 ∞ *x*0

*dx*−<sup>1</sup>

 ∞ *x*0

 ∞ −∞ *dx*<sup>0</sup>

*N*−1 ∑ *n*=1

2

where we have made use of the asymptotic expansion of the harmonic numbers and *γ* is the Euler-Mascheroni constant. As can be seen, the scaling is logarithmic, denoting that the horizontal visibility graph associated to a generic random series is Small-World (Newmann,

**2.5 Topological properties of the HVg associated to other stochastic and chaotic processes** It was proved that *P*(*k*)=(1/3)(2/3)*k*−<sup>2</sup> for uncorrelated random series. To find out a similar closed expression in the case of generic chaotic or stochastic correlated processes is a very difficult task, since variables can be long-range correlated and hence the probabilities cannot be separated (lack of independence). This leads to a very involved calculation which is typically impossible to solve in the general case. However, some analytical developments can be made in order to compare them with our numerical results. Concretely, for Markovian systems global dependence is reduced to a one-step dependence. We will make use of such property to derive exact expressions for *P*(2) and *P*(3) in some Markovian systems (both

Suppose a short-range correlated series (exponentially decaying correlations) of infinite size generated through an Ornstein-Uhlenbeck process (Van Kampen, 2007), and generate its associated HVg. Let us consider the probability that a node chosen at random has degree *k* = 2. This node is associated to a datum labelled *x*<sup>0</sup> without lack of generality. Now, this node will have degree *<sup>k</sup>* = 2 if the datum first neighbors, *<sup>x</sup>*<sup>1</sup> and *<sup>x</sup>*−<sup>1</sup> have values larger than

*<sup>P</sup>*(*<sup>k</sup>* = <sup>2</sup>) = *<sup>P</sup>*(*x*−<sup>1</sup> > *<sup>x</sup>*<sup>0</sup> ∩ *<sup>x</sup>*<sup>1</sup> > *<sup>x</sup>*0) (12)

*dx*<sup>1</sup> *<sup>f</sup>*(*x*−1, *<sup>x</sup>*0, *<sup>x</sup>*1) (13)

*<sup>n</sup>* <sup>+</sup> <sup>1</sup> <sup>=</sup> 2 log(*N*) + <sup>2</sup>(*<sup>γ</sup>* <sup>−</sup> <sup>1</sup>) + *<sup>O</sup>*(1/*N*) (11)

Numerical integration allows us to calculate *P*(2) for every given value of the correlation time *τ*. A procedure to compute *P*(3) can also be found in Lacasa et al. (2010).

#### **2.5.2 Logistic map: degree distribution**

A chaotic map of the form *xn*+<sup>1</sup> = *F*(*xn*) does also have the Markov property, and therefore a similar analysis can be applied (even if chaotic maps are deterministic). For chaotic dynamical systems whose trajectories belong to the attractor, there exists a probability measure that characterizes the long-run proportion of time spent by the system in the various regions of the attractor. In the case of the logistic map *F*(*xn*) = *μxn*(1 − *xn*) with parameter *μ* = 4, the attractor is the whole interval [0, 1] and the probability measure *f*(*x*) corresponds to the *beta* distribution with parameters *a* = 0.5 and *b* = 0.5:

$$f(x) = \frac{x^{-0.5}(1-x)^{-0.5}}{\mathbb{B}(0.5, 0.5)}\tag{15}$$

Now, for a deterministic system, the transition probability is

$$f(\mathbf{x}\_{n+1}|\mathbf{x}\_n) = \delta[\mathbf{x}\_{n+1} - F(\mathbf{x}\_n)],\tag{16}$$

where *δ*(*x*) is the Dirac delta distribution. Departing from equation 12, for the logistic map *F*(*xn*) = 4*xn*(1 − *xn*) and *xn* ∈ [0, 1], we have

$$\begin{split} P(\mathbf{2}) &= \int\_{0}^{1} d\mathbf{x}\_{0} \int\_{\mathbf{x}\_{0}}^{1} f(\mathbf{x}\_{-1}) f(\mathbf{x}\_{0}|\mathbf{x}\_{-1}) d\mathbf{x}\_{-1} \int\_{\mathbf{x}\_{0}}^{1} f(\mathbf{x}\_{1}|\mathbf{x}\_{0}) d\mathbf{x}\_{1} = \\ &\int\_{0}^{1} d\mathbf{x}\_{0} \int\_{\mathbf{x}\_{0}}^{1} f(\mathbf{x}\_{-1}) \delta(\mathbf{x}\_{0} - F(\mathbf{x}\_{-1})) d\mathbf{x}\_{-1} \int\_{\mathbf{x}\_{0}}^{1} \delta(\mathbf{x}\_{1} - F(\mathbf{x}\_{0})) d\mathbf{x}\_{1} .\end{split} \tag{17}$$

Now, notice that, using the properties of the Dirac delta distribution, <sup>1</sup> *<sup>x</sup>*<sup>0</sup> *δ*(*x*<sup>1</sup> − *F*(*x*0))*dx*<sup>1</sup> is equal to one iff *F*(*x*0) ∈ [*x*0, 1], what will happen iff 0 < *x*<sup>0</sup> < 3/4, and zero otherwise. Therefore the only effect of this integral is to restrict the integration range of *x*<sup>0</sup> to be [0, 3/4].

On the other hand,

$$\int\_{\mathbf{x}\_0}^1 f(\mathbf{x}\_{-1}) \delta[\mathbf{x}\_0 - F(\mathbf{x}\_{-1})] d\mathbf{x}\_{-1} = \sum\_{\mathbf{x}\_k^\* \mid F(\mathbf{x}\_k^\*) = \mathbf{x}\_0} f(\mathbf{x}\_k^\*) / \langle F'(\mathbf{x}\_k^\*) \rangle\_{\mathbf{x}\_0}$$

that is, the sum over the roots of the equation *<sup>F</sup>*(*x*) = *<sup>x</sup>*0, iff *<sup>F</sup>*(*x*−1) > *<sup>x</sup>*0. But since *<sup>x</sup>*−<sup>1</sup> ∈ [*x*0, 1] in the latter integral, it is easy to see that again, this is verified iff 0 < *x*<sup>0</sup> < 3/4 (as a matter of fact, if 0 < *<sup>x</sup>*<sup>0</sup> < 3/4 there is always a *single* value of *<sup>x</sup>*−<sup>1</sup> ∈ [*x*0, 1] such that *<sup>F</sup>*(*x*−1) = *<sup>x</sup>*0, so the sum restricts to the adequate root). It is easy to see that the particular

probability distributions of *k*out and *k*in of the graph which we call *P*out(*k*) ≡ *P*(*k*out = *k*) and

Visibility Algorithms: A Short Review 129

**Theorem 2.3.** *Let* {*xt*}*t*=−∞,...,<sup>∞</sup> *be a bi-infinite sequence of independent and identically distributed random variables extracted from a continuous probability density f*(*x*)*. Then, both the* in *and* out

> 2 *k*

> > ∞ −∞

> > > 2

2

*Proof.* (out-distribution) Let *x* be an arbitrary datum of the aforementioned series. The probability that the horizontal visibility of *x* is interrupted by a datum *xr* on its right is

The probability *P*(*k*) of the datum *x* being capable of exactly seeing *k* data may be expressed

where *Q*(*k*) is the probability of *x* seeing at least *k* data. *Q*(*k*) may be recurrently calculated

*<sup>P</sup>*(*k*) = *<sup>Q</sup>*(*k*)Φ<sup>1</sup> <sup>=</sup> <sup>1</sup>

*<sup>Q</sup>*(*k*) = *<sup>Q</sup>*(*<sup>k</sup>* <sup>−</sup> <sup>1</sup>)(<sup>1</sup> <sup>−</sup> <sup>Φ</sup>1) = <sup>1</sup>

*<sup>Q</sup>*(*k*) = <sup>1</sup>

2

An analogous derivation holds for the *in* case. This result is independent of the underlying probability density *f*(*x*): it holds not only for Gaussian or uniformly distributed random series, but for any series of independent and identically distributed (i.i.d.) random variables

In the preceding section, specific properties of the visibility graphs (either NVg, HVg or the directed version of HVg) associated to different time series have been considered. Relying on the aforementioned dualities between time series structure and network topological features, we proceed here to make the first steps for a graph theoretical analysis of time series and dynamical systems, addressing several nontrivial problems of time series analysis through

*<sup>k</sup>*−<sup>1</sup>

, *k* = 1, 2, 3, ... (19)

2 ,

*Q*(*k*), (20)

*Q*(*k* − 1), (21)

, (22)

*<sup>f</sup>*(*x*)[<sup>1</sup> <sup>−</sup> *<sup>F</sup>*(*x*)]*dx* <sup>=</sup> <sup>1</sup>

*P*in(*k*) ≡ *P*(*k*in = *k*), respectively.

independent of *f*(*x*),

as

via

Φ<sup>1</sup> =

 ∞ −∞  ∞ *x*

from which, with *Q*(1) = 1, the following expression is obtained

which together with equation (20) concludes the proof.

extracted from a continuous distribution *f*(*x*).

**3. Towards a graph theory of time series?**

the visibility algorithm apparatus.

**2.6.1 Uncorrelated stochastic series: degree distribution**

*degree distributions of its associated directed horizontal visibility graph are*

*<sup>P</sup>*in(*k*) = *<sup>P</sup>*out(*k*) = <sup>1</sup>

*f*(*x*)*f*(*xr*)*dxrdx* =

value is *<sup>x</sup>*<sup>∗</sup> = (<sup>1</sup> <sup>+</sup> <sup>√</sup><sup>1</sup> <sup>−</sup> *<sup>x</sup>*0)/2. Making use of these piecewise solutions and equation 15, we finally have

$$P(2) = \int\_0^{3/4} \frac{f(\mathbf{x}^\*)}{4\sqrt{1 - \mathbf{x}\_0}} d\mathbf{x}\_0 = 1/3,\tag{18}$$

Note that a similar development can be fruitfully applied to other chaotic maps, provided that they have a well defined natural measure. Analytical and numerical developments for *P*(3) can be found in Lacasa et al. (2010).

#### **2.6 Directed horizontal visibility graph**

So far, undirected visibility graphs have been considered, as visibility did not have a predefined temporal arrow. However, such a directionality can be made explicit by making use of directed networks or digraphs (Newmann, 2003).

Let a *directed* horizontal visibility graph (DHVg, Lacasa et al. (2011)) be a horizontal visibility graph, where the degree *k*(*xi*) of the node *xi* is now splitted in an *ingoing* degree *k*in(*xi*), and an *outgoing* degree *k*out(*xi*), such that *k*(*xi*) = *k*in(*xi*) + *k*out(*xi*). The ingoing degree *k*in(*xi*) is defined as the number of links of node *xi* with other *past* nodes associated with data in the series (that is, nodes with *j* < *i*). Conversely, the outgoing degree *k*out(*xi*), is defined as the number of links with *future* nodes (*i* < *j*).

Fig. 3. Graphical illustration of the method. In the top we plot a sample time series {*x*(*t*)}. Each datum in the series is mapped to a node in the graph. Arrows, describing allowed directed visibility, link nodes. The associated directed horizontal visibility graph is plotted below. In this graph, each node has an ingoing degree *k*in, which accounts for the number of links with *past* nodes, and an outgoing degree *k*out, which in turn accounts for the number of links with *f uture* nodes. The asymmetry of the resulting graph can be captured in a first approximation through the invariance of the outgoing (or ingoing) degree series under time reversal.

For a graphical illustration of the method, see figure 3. The degree distribution of a graph describes the probability of an arbitrary node to have degree *k* (i.e. *k* links, Newmann (2003)). We define the *in* and *out* (or ingoing and outgoing) degree distributions of a DHVg as the 10 Will-be-set-by-IN-TECH

value is *<sup>x</sup>*<sup>∗</sup> = (<sup>1</sup> <sup>+</sup> <sup>√</sup><sup>1</sup> <sup>−</sup> *<sup>x</sup>*0)/2. Making use of these piecewise solutions and equation 15, we

Note that a similar development can be fruitfully applied to other chaotic maps, provided that they have a well defined natural measure. Analytical and numerical developments for *P*(3)

So far, undirected visibility graphs have been considered, as visibility did not have a predefined temporal arrow. However, such a directionality can be made explicit by making

Let a *directed* horizontal visibility graph (DHVg, Lacasa et al. (2011)) be a horizontal visibility graph, where the degree *k*(*xi*) of the node *xi* is now splitted in an *ingoing* degree *k*in(*xi*), and an *outgoing* degree *k*out(*xi*), such that *k*(*xi*) = *k*in(*xi*) + *k*out(*xi*). The ingoing degree *k*in(*xi*) is defined as the number of links of node *xi* with other *past* nodes associated with data in the series (that is, nodes with *j* < *i*). Conversely, the outgoing degree *k*out(*xi*), is defined as the

Fig. 3. Graphical illustration of the method. In the top we plot a sample time series {*x*(*t*)}. Each datum in the series is mapped to a node in the graph. Arrows, describing allowed directed visibility, link nodes. The associated directed horizontal visibility graph is plotted below. In this graph, each node has an ingoing degree *k*in, which accounts for the number of links with *past* nodes, and an outgoing degree *k*out, which in turn accounts for the number of links with *f uture* nodes. The asymmetry of the resulting graph can be captured in a first approximation through the invariance of the outgoing (or ingoing) degree series under time

For a graphical illustration of the method, see figure 3. The degree distribution of a graph describes the probability of an arbitrary node to have degree *k* (i.e. *k* links, Newmann (2003)). We define the *in* and *out* (or ingoing and outgoing) degree distributions of a DHVg as the

*f*(*x*∗)

*dx*<sup>0</sup> = 1/3, (18)

*P*(2) =

 3/4 0

4 <sup>√</sup><sup>1</sup> <sup>−</sup> *<sup>x</sup>*<sup>0</sup>

finally have

reversal.

can be found in Lacasa et al. (2010).

**2.6 Directed horizontal visibility graph**

number of links with *future* nodes (*i* < *j*).

use of directed networks or digraphs (Newmann, 2003).

probability distributions of *k*out and *k*in of the graph which we call *P*out(*k*) ≡ *P*(*k*out = *k*) and *P*in(*k*) ≡ *P*(*k*in = *k*), respectively.

#### **2.6.1 Uncorrelated stochastic series: degree distribution**

**Theorem 2.3.** *Let* {*xt*}*t*=−∞,...,<sup>∞</sup> *be a bi-infinite sequence of independent and identically distributed random variables extracted from a continuous probability density f*(*x*)*. Then, both the* in *and* out *degree distributions of its associated directed horizontal visibility graph are*

$$P\_{\rm in}(k) = P\_{\rm out}(k) = \left(\frac{1}{2}\right)^k, k = 1, 2, 3, \dots \tag{19}$$

*Proof.* (out-distribution) Let *x* be an arbitrary datum of the aforementioned series. The probability that the horizontal visibility of *x* is interrupted by a datum *xr* on its right is independent of *f*(*x*),

$$\Phi\_1 = \int\_{-\infty}^{\infty} \int\_{\infty}^{\infty} f(\mathbf{x}) f(\mathbf{x}\_r) d\mathbf{x}\_l d\mathbf{x} = \int\_{-\infty}^{\infty} f(\mathbf{x}) [1 - F(\mathbf{x})] d\mathbf{x} = \frac{1}{2}\lambda$$

The probability *P*(*k*) of the datum *x* being capable of exactly seeing *k* data may be expressed as

$$P(k) = Q(k)\Phi\_1 = \frac{1}{2}Q(k),\tag{20}$$

where *Q*(*k*) is the probability of *x* seeing at least *k* data. *Q*(*k*) may be recurrently calculated via

$$Q(k) = Q(k-1)(1 - \Phi\_1) = \frac{1}{2}Q(k-1),\tag{21}$$

from which, with *Q*(1) = 1, the following expression is obtained

$$Q(k) = \left(\frac{1}{2}\right)^{k-1},\tag{22}$$

which together with equation (20) concludes the proof.

An analogous derivation holds for the *in* case. This result is independent of the underlying probability density *f*(*x*): it holds not only for Gaussian or uniformly distributed random series, but for any series of independent and identically distributed (i.i.d.) random variables extracted from a continuous distribution *f*(*x*).

#### **3. Towards a graph theory of time series?**

In the preceding section, specific properties of the visibility graphs (either NVg, HVg or the directed version of HVg) associated to different time series have been considered. Relying on the aforementioned dualities between time series structure and network topological features, we proceed here to make the first steps for a graph theoretical analysis of time series and dynamical systems, addressing several nontrivial problems of time series analysis through the visibility algorithm apparatus.

2008; 2009), see figure 4. As a matter of fact, that fBm yields scale free visibility graphs is not that surprising; the most highly connected nodes (hubs) are the responsible for the heavy tailed degree distributions. Within fBm series, hubs are related to extreme values in the series, since a datum with a very large value has typically a large connectivity (a fact reminiscent of eq. 7). It can be proved (Lacasa et al., 2009) that the degree distribution of a NVg extracted

Visibility Algorithms: A Short Review 131

It is well known that fBm has a power spectra that behaves as 1/ *f <sup>β</sup>*, where the exponent *β* is

Now according to eqs. 23 and 24, the degree distribution of the visibility graph corresponding

The theoretical prediction eq. 25 was also corroborated numerically in Lacasa et al. (2009). Finally, eq. 24 holds for fBm processes, while for the increments of an fBm process, known as

The relation between *γ* and *H* for a fGn (where fGn is a series composed by the increments of

In order to illustrate this latter case, we address a realistic and striking dynamics where long range dependence has been recently described. Gait cycle (the stride interval in human walking rhythm) is a physiological signal that has been shown to display fractal dynamics and long range correlations in healthy young adults (Goldenberger et al., 2002; Hausdorff et al., 1996). In the upper part of fig. 5 we have plotted to series describing the fluctuations of walk rhythm of a young healthy person, for slow pace (bottom series of 3304 points) and fast pace (up series of 3595 points) respectively (data available in www.physionet.org/physiobank/database/umwdb/ (Goldberger et al., 2000)). In the bottom part we have represented the degree distribution of their visibility graphs. These ones are again power laws with exponents *γ* = 3.03 ± 0.05 for fast pace and *γ* = 3.19 ± 0.05 for slow pace (derived through MLE). According to eq. 25, the visibility algorithm predicts that gait dynamics evidence *f* <sup>−</sup>*<sup>β</sup>* behavior with *β* = 1 for fast pace, and *β* = 0.8 for slow pace, in perfect agreement with previous results based on a Detrended Fluctuation Analysis (Goldenberger et al., 2002; Hausdorff et al., 1996). These series record the fluctuations of walk rhythm (that is, the increments), so according to eq. 27, the Hurst exponent is *H* = 1 for fast pace and *H* = 0.9 for slow pace, that is to say, dynamics evidences long range dependence

*γ*(*H*) = 3 − 2*H*. (23)

*β*(*H*) = 1 + 2*H*. (24)

*γ*(*β*) = 4 − *β*. (25)

*β*(*H*) = −1 + 2*H*, (26)

*γ*(*H*) = 5 − 2*H*. (27)

from a fBm with Hurst exponent *<sup>H</sup>* shows a power law shape *<sup>P</sup>*(*k*) <sup>∼</sup> *<sup>k</sup>*−*γ*, such that

Numerical analysis corroborated this theoretical relation in Lacasa et al. (2009).

related to the Hurst exponent of an fBm process through the well known relation

to a time series with *<sup>f</sup>* <sup>−</sup>*<sup>β</sup>* noise should be again power law *<sup>P</sup>*(*k*) <sup>∼</sup> *<sup>k</sup>*−*<sup>γ</sup>* where

a fractional Gaussian noise (fGn), the relation between *β* and *H* turns to be

(persistence) (Goldenberger et al., 2002; Hausdorff et al., 1996).

a fBm) can be deduced to be

#### **3.1 Estimating the Hurst exponent with NVg**

Self-similar processes such as fractional Brownian motion (fBm, Mandelbrot & Van Ness (1968)) are currently used to model fractal phenomena of different nature, ranging from Physics or Biology to Economics or Engineering (see Lacasa et al. (2009) and references therein). A fBm *BH*(*t*) is a non-stationary random process with stationary self-similar increments (fractional Gaussian noise) that can be characterized by the so called Hurst exponent, 0 < *H* < 1. The one-step memory Brownian motion is obtained for *H* = <sup>1</sup> 2 , whereas time series with *H* > <sup>1</sup> <sup>2</sup> shows persistence and anti-persistence if *<sup>H</sup>* <sup>&</sup>lt; <sup>1</sup> <sup>2</sup> . While different fBm generators and estimators have been introduced in the last years, the community lacks consensus on which method is best suited for each case. This drawback comes from the fact that fBm formalism is exact in the infinite limit, i.e. when the whole infinite series of data is considered. However, in practice, real time series are finite. Accordingly, long range correlations are partially broken in finite series, and local dynamics corresponding to a particular temporal window are overestimated. The practical simulation and the estimation from real (finite) time series is consequently a major issue that is, hitherto, still open. An overview of different methodologies and comparisons can be found in Carbone (2007); Kantelhardt (2008); Karagiannis et al. (2004); Mielniczuk & Wojdyllo (2007); Pilgram & Kaplan (1998); Podobnik & Stanley (2008); Simonsen et al. (1998); Weron (2002) and references therein.

Fig. 4. Degree distribution of three visibility graphs, namely (i) triangles: extracted from a fBm series of 105 data with *H* = 0.3, (ii) squares: extracted from a fBm series of 105 data with *H* = 0.5, (iii) circles: extracted from a fBm series of 10<sup>5</sup> data with *H* = 0.8. Note that distributions are not normalized. The three visibility graphs are scale-free since their degree distributions follow a power law *<sup>P</sup>*(*k*) <sup>∼</sup> *<sup>k</sup>*−*<sup>γ</sup>* with decreasing exponents *<sup>γ</sup>*0.3 <sup>&</sup>gt; *<sup>γ</sup>*0.5 <sup>&</sup>gt; *<sup>γ</sup>*0.8.

Here we address the problem of estimating the Hurst exponent of a fBm series via the NVg. If we map a fBm time series by means of the NVa, what we get is a scale-free graph (Lacasa et al., 12 Will-be-set-by-IN-TECH

Self-similar processes such as fractional Brownian motion (fBm, Mandelbrot & Van Ness (1968)) are currently used to model fractal phenomena of different nature, ranging from Physics or Biology to Economics or Engineering (see Lacasa et al. (2009) and references therein). A fBm *BH*(*t*) is a non-stationary random process with stationary self-similar increments (fractional Gaussian noise) that can be characterized by the so called Hurst exponent, 0 < *H* < 1. The one-step memory Brownian motion is obtained for *H* = <sup>1</sup>

different fBm generators and estimators have been introduced in the last years, the community lacks consensus on which method is best suited for each case. This drawback comes from the fact that fBm formalism is exact in the infinite limit, i.e. when the whole infinite series of data is considered. However, in practice, real time series are finite. Accordingly, long range correlations are partially broken in finite series, and local dynamics corresponding to a particular temporal window are overestimated. The practical simulation and the estimation from real (finite) time series is consequently a major issue that is, hitherto, still open. An overview of different methodologies and comparisons can be found in Carbone (2007); Kantelhardt (2008); Karagiannis et al. (2004); Mielniczuk & Wojdyllo (2007); Pilgram & Kaplan (1998); Podobnik & Stanley (2008); Simonsen et al. (1998); Weron (2002) and

<sup>10</sup><sup>1</sup> <sup>10</sup><sup>2</sup> <sup>10</sup><sup>3</sup> <sup>10</sup><sup>0</sup>

*H* = 0.5, (iii) circles: extracted from a fBm series of 10<sup>5</sup> data with *H* = 0.8. Note that

**k**

Fig. 4. Degree distribution of three visibility graphs, namely (i) triangles: extracted from a fBm series of 105 data with *H* = 0.3, (ii) squares: extracted from a fBm series of 105 data with

distributions are not normalized. The three visibility graphs are scale-free since their degree distributions follow a power law *<sup>P</sup>*(*k*) <sup>∼</sup> *<sup>k</sup>*−*<sup>γ</sup>* with decreasing exponents *<sup>γ</sup>*0.3 <sup>&</sup>gt; *<sup>γ</sup>*0.5 <sup>&</sup>gt; *<sup>γ</sup>*0.8.

Here we address the problem of estimating the Hurst exponent of a fBm series via the NVg. If we map a fBm time series by means of the NVa, what we get is a scale-free graph (Lacasa et al.,

<sup>2</sup> shows persistence and anti-persistence if *<sup>H</sup>* <sup>&</sup>lt; <sup>1</sup>

H = 0.8

H = 0.3 H = 0.5 2 ,

<sup>2</sup> . While

**3.1 Estimating the Hurst exponent with NVg**

10<sup>1</sup>

10<sup>2</sup>

**P(k)**

10<sup>3</sup>

10<sup>4</sup>

whereas time series with *H* > <sup>1</sup>

references therein.

2008; 2009), see figure 4. As a matter of fact, that fBm yields scale free visibility graphs is not that surprising; the most highly connected nodes (hubs) are the responsible for the heavy tailed degree distributions. Within fBm series, hubs are related to extreme values in the series, since a datum with a very large value has typically a large connectivity (a fact reminiscent of eq. 7). It can be proved (Lacasa et al., 2009) that the degree distribution of a NVg extracted from a fBm with Hurst exponent *<sup>H</sup>* shows a power law shape *<sup>P</sup>*(*k*) <sup>∼</sup> *<sup>k</sup>*−*γ*, such that

$$
\gamma(H) = 3 - 2H.\tag{23}
$$

Numerical analysis corroborated this theoretical relation in Lacasa et al. (2009).

It is well known that fBm has a power spectra that behaves as 1/ *f <sup>β</sup>*, where the exponent *β* is related to the Hurst exponent of an fBm process through the well known relation

$$
\beta(H) = 1 + 2H.\tag{24}
$$

Now according to eqs. 23 and 24, the degree distribution of the visibility graph corresponding to a time series with *<sup>f</sup>* <sup>−</sup>*<sup>β</sup>* noise should be again power law *<sup>P</sup>*(*k*) <sup>∼</sup> *<sup>k</sup>*−*<sup>γ</sup>* where

$$
\gamma(\beta) = 4 - \beta. \tag{25}
$$

The theoretical prediction eq. 25 was also corroborated numerically in Lacasa et al. (2009). Finally, eq. 24 holds for fBm processes, while for the increments of an fBm process, known as a fractional Gaussian noise (fGn), the relation between *β* and *H* turns to be

$$
\beta(H) = -1 + 2H,\tag{26}
$$

The relation between *γ* and *H* for a fGn (where fGn is a series composed by the increments of a fBm) can be deduced to be

$$
\gamma(H) = 5 - 2H.\tag{27}
$$

In order to illustrate this latter case, we address a realistic and striking dynamics where long range dependence has been recently described. Gait cycle (the stride interval in human walking rhythm) is a physiological signal that has been shown to display fractal dynamics and long range correlations in healthy young adults (Goldenberger et al., 2002; Hausdorff et al., 1996). In the upper part of fig. 5 we have plotted to series describing the fluctuations of walk rhythm of a young healthy person, for slow pace (bottom series of 3304 points) and fast pace (up series of 3595 points) respectively (data available in www.physionet.org/physiobank/database/umwdb/ (Goldberger et al., 2000)). In the bottom part we have represented the degree distribution of their visibility graphs. These ones are again power laws with exponents *γ* = 3.03 ± 0.05 for fast pace and *γ* = 3.19 ± 0.05 for slow pace (derived through MLE). According to eq. 25, the visibility algorithm predicts that gait dynamics evidence *f* <sup>−</sup>*<sup>β</sup>* behavior with *β* = 1 for fast pace, and *β* = 0.8 for slow pace, in perfect agreement with previous results based on a Detrended Fluctuation Analysis (Goldenberger et al., 2002; Hausdorff et al., 1996). These series record the fluctuations of walk rhythm (that is, the increments), so according to eq. 27, the Hurst exponent is *H* = 1 for fast pace and *H* = 0.9 for slow pace, that is to say, dynamics evidences long range dependence (persistence) (Goldenberger et al., 2002; Hausdorff et al., 1996).

degree distribution of HVGs associated to stochastic and chaotic processes are exponential *P*(*k*) ∼ exp(−*λk*), where for stochastic dynamics *λ* > *λun* and for chaotic dynamics *λ* < *λun*

Visibility Algorithms: A Short Review 133

In order to analyze the effect of correlations between the data of the series, we focus on two generic and paradigmatic correlated stochastic processes, namely long-range (power-law decaying correlations) and Ornstein-Uhlenbeck (short-range exponentially decaying correlations) processes. We have computed the degree distribution of the HVg associated to different long-range and short-range correlated stochastic series (the method for generating the associated series is explained in Lacasa et al. (2010)) with correlation function *<sup>C</sup>*(*t*) = *<sup>t</sup>*−*<sup>γ</sup>* for different values of the correlation strength *<sup>γ</sup>* <sup>∈</sup> [10−<sup>2</sup> <sup>−</sup> 101] and with an exponentially decaying correlation function *C*(*t*) = exp(−*t*/*τ*). In both cases the degree distribution of the associated HVG can be fitted for large *k* by an exponential function exp(−*λk*). The parameter *λ* depends on *γ* or *τ* and is, in each case, a monotonic function that reaches the asymptotic value *λ* = *λun* = ln(3/2) in the uncorrelated limit *γ* → ∞ or *τ* → 0, respectively. Detailed results of this phenomenology can be found in (Lacasa et al., 2010). In all cases, the limit is reached from above, i.e. *λ* > *λun* (see figure 6). Interestingly enough, for the power-law correlations the convergence is slow, and there is still a noticeable deviation from the uncorrelated case even for weak correlations (*γ* > 4.0), whereas the convergence

Poincaré recurrence theorem suggests that the degree distribution of HVgs associated to chaotic series should be asymptotically exponential (Luque et al., 2009). Several deterministic

*b* = 0.1), where it shows chaotic behavior with an attractor dimension that increases linearly with the delay *d* (Sprott, 2006). This model has also been used for chaos control purposes (Buchner & Zebrowski, 2000), although here we set the parameters *a* and *b* to values for which

(4) the Lozi map, a piecewise-linear variant of the Hénon map given by *xt*+<sup>1</sup> = 1 + *yn* −

We find that the tails of the degree distribution can be well approximated by an exponential function *P*(*k*) ∼ exp(−*λk*). Remarkably, we find that *λ* < *λun* in every case, where *λ* seems

(5) the Kaplan-Yorke map *xt*+<sup>1</sup> = 2*xt* mod (1), *yt*+<sup>1</sup> = *λyt* + cos(4*πxt*) mod (1); and (6) the Arnold cat map *xt*+<sup>1</sup> = *xt* + *yt* mod (1), *yt*+<sup>1</sup> = *xt* + 2*yt* mod (1), a conservative system with integer Kaplan-Yorke dimension. References for these maps can be found in

*<sup>α</sup>*, that reduces to the logistic and tent maps in their fully

*<sup>t</sup>* , *yt*+<sup>1</sup> = *bxt*) in the fully chaotic region (*a* = 1.4,

*<sup>t</sup>* in the region (*a* = 1.6,

(Lacasa et al., 2010), *λun* being the uncorrelated case, (theorem 2.2).

with *τ* is faster in the case of exponential correlations.

time series generated by chaotic maps have been analyzed:

*a*|*xt*|, *yt*+<sup>1</sup> = *bxt* in the chaotic regime *a* = 1.7 and *b* = 0.5;

chaotic region for *α* = 2 and *α* = 1 respectively, for different values of *α*,

(3) a time-delayed variant of the Hénon map: *xt*+<sup>1</sup> <sup>=</sup> *bxt*−*<sup>d</sup>* <sup>+</sup> <sup>1</sup> <sup>−</sup> *ax*<sup>2</sup>

we find high-dimensional chaos for almost every initial condition (Sprott, 2006);

**3.2.1 Correlated stochastic series**

**3.2.2 Chaotic maps**

*b* = 0.3);

(1) the *α*-map *f*(*x*) = 1 − |2*x* − 1|

Sprott & Rowlands (2001).

(2) the 2D Hénon map (*xt*+<sup>1</sup> <sup>=</sup> *yt* <sup>+</sup> <sup>1</sup> <sup>−</sup> *ax*<sup>2</sup>

Fig. 5. Black signal: time series of 3595 points from the stride interval of a healthy person in fast pace. Red signal: time series of 3304 points from the stride interval of a healthy person in slow pace. Bottom: Degree distribution of the associated visibility graphs (the plot is in log-log). These are power laws where *γ* = 3.03 ± 0.05 for the fast movement (black dots) and *γ* = 3.19 ± 0.05 for the slow movement (red dots), what provides *β* = 1 and *β* = 0.8 for fast and slow pace respectively according to eq.25, in agreement with previous results (Goldenberger et al., 2002; Hausdorff et al., 1996).

#### **3.2 Discriminating stochastic vs. chaotic series via HVg**

Both stochastic and chaotic processes share many features, and the discrimination between them is indeed very subtle. The relevance of this problem is to determine whether the source of unpredictability (production of entropy) has its origin in a chaotic deterministic or stochastic dynamical system, a fundamental issue for modeling and forecasting purposes. Essentially, the majority of methods (Cecini et al., 2010; Kants H. & Schreiber, 2003) that have been introduced so far rely on two major differences between chaotic and stochastic dynamics. The first difference is that chaotic systems have a finite dimensional attractor, whereas stochastic processes arise from an infinite-dimensional one. Being able to reconstruct the attractor is thus a clear evidence showing that the time series has been generated by a deterministic system. The development of sophisticated embedding techniques (Kants H. & Schreiber, 2003) for attractor reconstruction is the most representative step forward in this direction. The second difference is that deterministic systems evidence, as opposed to random ones, short-time prediction: the time evolution of two nearby states will diverge exponentially fast for chaotic ones (finite and positive Lyapunov exponents) while in the case of a stochastic process such separation is randomly distributed. Whereas some algorithms relying on the preceding concepts are nowadays available, the great majority of them are purely phenomenological and often complicated to perform, computationally speaking. These drawbacks provide the motivation for a search for new methods that can directly distinguish, in a reliable way, stochastic from chaotic time series. We show here that the horizontal visibility algorithm offers a different, conceptually simple and computationally efficient method to distinguish between deterministic and stochastic dynamics, since the

14 Will-be-set-by-IN-TECH

<sup>500</sup> <sup>1000</sup> <sup>1500</sup> <sup>2000</sup> <sup>2500</sup> <sup>3000</sup> 0.95

500 1000 1500 2000 2500 3000

10-3

Fig. 5. Black signal: time series of 3595 points from the stride interval of a healthy person in fast pace. Red signal: time series of 3304 points from the stride interval of a healthy person in slow pace. Bottom: Degree distribution of the associated visibility graphs (the plot is in log-log). These are power laws where *γ* = 3.03 ± 0.05 for the fast movement (black dots) and *γ* = 3.19 ± 0.05 for the slow movement (red dots), what provides *β* = 1 and *β* = 0.8 for fast

Both stochastic and chaotic processes share many features, and the discrimination between them is indeed very subtle. The relevance of this problem is to determine whether the source of unpredictability (production of entropy) has its origin in a chaotic deterministic or stochastic dynamical system, a fundamental issue for modeling and forecasting purposes. Essentially, the majority of methods (Cecini et al., 2010; Kants H. & Schreiber, 2003) that have been introduced so far rely on two major differences between chaotic and stochastic dynamics. The first difference is that chaotic systems have a finite dimensional attractor, whereas stochastic processes arise from an infinite-dimensional one. Being able to reconstruct the attractor is thus a clear evidence showing that the time series has been generated by a deterministic system. The development of sophisticated embedding techniques (Kants H. & Schreiber, 2003) for attractor reconstruction is the most representative step forward in this direction. The second difference is that deterministic systems evidence, as opposed to random ones, short-time prediction: the time evolution of two nearby states will diverge exponentially fast for chaotic ones (finite and positive Lyapunov exponents) while in the case of a stochastic process such separation is randomly distributed. Whereas some algorithms relying on the preceding concepts are nowadays available, the great majority of them are purely phenomenological and often complicated to perform, computationally speaking. These drawbacks provide the motivation for a search for new methods that can directly distinguish, in a reliable way, stochastic from chaotic time series. We show here that the horizontal visibility algorithm offers a different, conceptually simple and computationally efficient method to distinguish between deterministic and stochastic dynamics, since the

10-2

**P(k)**

10-1

10<sup>0</sup> 10<sup>1</sup> 10<sup>2</sup>

γ = 3.2

**k**

10<sup>0</sup> 10<sup>1</sup> 10<sup>2</sup>

**k**

and slow pace respectively according to eq.25, in agreement with previous results

γ = 3.0

**t**

**t**

10-3

(Goldenberger et al., 2002; Hausdorff et al., 1996).

**3.2 Discriminating stochastic vs. chaotic series via HVg**

10-2

**P(k)**

10-1

**Interval**

1.1 1.15 1.2 1.25 **Stride**

1 1.05 degree distribution of HVGs associated to stochastic and chaotic processes are exponential *P*(*k*) ∼ exp(−*λk*), where for stochastic dynamics *λ* > *λun* and for chaotic dynamics *λ* < *λun* (Lacasa et al., 2010), *λun* being the uncorrelated case, (theorem 2.2).

### **3.2.1 Correlated stochastic series**

In order to analyze the effect of correlations between the data of the series, we focus on two generic and paradigmatic correlated stochastic processes, namely long-range (power-law decaying correlations) and Ornstein-Uhlenbeck (short-range exponentially decaying correlations) processes. We have computed the degree distribution of the HVg associated to different long-range and short-range correlated stochastic series (the method for generating the associated series is explained in Lacasa et al. (2010)) with correlation function *<sup>C</sup>*(*t*) = *<sup>t</sup>*−*<sup>γ</sup>* for different values of the correlation strength *<sup>γ</sup>* <sup>∈</sup> [10−<sup>2</sup> <sup>−</sup> 101] and with an exponentially decaying correlation function *C*(*t*) = exp(−*t*/*τ*). In both cases the degree distribution of the associated HVG can be fitted for large *k* by an exponential function exp(−*λk*). The parameter *λ* depends on *γ* or *τ* and is, in each case, a monotonic function that reaches the asymptotic value *λ* = *λun* = ln(3/2) in the uncorrelated limit *γ* → ∞ or *τ* → 0, respectively. Detailed results of this phenomenology can be found in (Lacasa et al., 2010). In all cases, the limit is reached from above, i.e. *λ* > *λun* (see figure 6). Interestingly enough, for the power-law correlations the convergence is slow, and there is still a noticeable deviation from the uncorrelated case even for weak correlations (*γ* > 4.0), whereas the convergence with *τ* is faster in the case of exponential correlations.

#### **3.2.2 Chaotic maps**

Poincaré recurrence theorem suggests that the degree distribution of HVgs associated to chaotic series should be asymptotically exponential (Luque et al., 2009). Several deterministic time series generated by chaotic maps have been analyzed:

(1) the *α*-map *f*(*x*) = 1 − |2*x* − 1| *<sup>α</sup>*, that reduces to the logistic and tent maps in their fully chaotic region for *α* = 2 and *α* = 1 respectively, for different values of *α*,

(2) the 2D Hénon map (*xt*+<sup>1</sup> <sup>=</sup> *yt* <sup>+</sup> <sup>1</sup> <sup>−</sup> *ax*<sup>2</sup> *<sup>t</sup>* , *yt*+<sup>1</sup> = *bxt*) in the fully chaotic region (*a* = 1.4, *b* = 0.3);

(3) a time-delayed variant of the Hénon map: *xt*+<sup>1</sup> <sup>=</sup> *bxt*−*<sup>d</sup>* <sup>+</sup> <sup>1</sup> <sup>−</sup> *ax*<sup>2</sup> *<sup>t</sup>* in the region (*a* = 1.6, *b* = 0.1), where it shows chaotic behavior with an attractor dimension that increases linearly with the delay *d* (Sprott, 2006). This model has also been used for chaos control purposes (Buchner & Zebrowski, 2000), although here we set the parameters *a* and *b* to values for which we find high-dimensional chaos for almost every initial condition (Sprott, 2006);

(4) the Lozi map, a piecewise-linear variant of the Hénon map given by *xt*+<sup>1</sup> = 1 + *yn* − *a*|*xt*|, *yt*+<sup>1</sup> = *bxt* in the chaotic regime *a* = 1.7 and *b* = 0.5;

(5) the Kaplan-Yorke map *xt*+<sup>1</sup> = 2*xt* mod (1), *yt*+<sup>1</sup> = *λyt* + cos(4*πxt*) mod (1); and

(6) the Arnold cat map *xt*+<sup>1</sup> = *xt* + *yt* mod (1), *yt*+<sup>1</sup> = *xt* + 2*yt* mod (1), a conservative system with integer Kaplan-Yorke dimension. References for these maps can be found in Sprott & Rowlands (2001).

We find that the tails of the degree distribution can be well approximated by an exponential function *P*(*k*) ∼ exp(−*λk*). Remarkably, we find that *λ* < *λun* in every case, where *λ* seems

Indeed, in the limit of infinitely large correlations (*γ* → 0 or *τ* → ∞), the variability reduces to zero and the series become constant. The degree distribution in this limit case is, trivially,

Visibility Algorithms: A Short Review 135

*λ*→∞

that is to say, infinitely large correlations would be associated to a diverging value of *λ*. This tendency is on agreement with the numerical simulations (figure 6) where we show that *λ* monotonically increases with decreasing values of *γ* or increasing values of *τ* respectively. Having in mind that in the limit of small correlations the theorem previously stated implies that *λ* → *λun* = ln(3/2), we can therefore conclude that for a correlated stochastic process

Concerning chaotic series, remember that they are generated through a deterministic process whose orbit is continuous along the attractor. This continuity introduces a smoothing effect in the series that, statistically speaking, increases the probability of a given node to have a larger degree (uncorrelated series are rougher and hence it is more likely to have more nodes with smaller degree). Now, since in every case we have exponential degree distributions (this fact being related with the Poincaré recurrence theorem for chaotic series and with the return distribution in Poisson processes for stochastic series (Luque et al., 2009)), we conclude that the deviations must be encoded in the slope *λ* of the exponentials, such that *λchaos* < *λun* <

In this section we address the task of filtering a noisy signal with a hidden periodic component within the horizontal visibility formalism, that is, we explore the possibility of using the method for noise filtering purposes (see (Núñez et al., 2010) for details). Periodicity detection algorithms (see for instance (Parthasarathy et al., 2006)) can be classified in essentially two categories, namely the time domain (autocorrelation based) and frequency domain (spectral) methods. Here we make use of the horizontal visibility algorithm to propose a third category:

If we superpose a small amount of noise to a periodic series (a so-called *extrinsic* noise), while the degree of the nodes with associated small values will remain rather similar, the nodes associated to higher values will eventually increase their visibility and hence reach larger degrees. Accordingly, the delta-like structure of the degree distribution (associated with the periodic component of the series) will be perturbed, and an exponential tail will arise due to the presence of such noise (Lacasa et al., 2010; Luque et al., 2009). Can the algorithm characterize such kind of series? The answer is positive, since the degree distribution can be

> *P*(2) = 1/2, *P*(3) = 0,

*<sup>P</sup>*(*<sup>k</sup>* <sup>+</sup> <sup>2</sup>) = <sup>1</sup>

or *<sup>P</sup>*(*k*) = <sup>1</sup>

3 2 3

4 2 3 *<sup>k</sup>*−<sup>2</sup>

*<sup>k</sup>*−<sup>3</sup>

, *k* ≥ 2,

, *k* ≥ 4, (28)

*λ*

<sup>2</sup> exp(−*λ*|*<sup>k</sup>* <sup>−</sup> <sup>2</sup>|),

*P*(*k*) = *δ*(*k* − 2) = lim

*λstoch*, in good agreement with our numerical results.

**3.3 Noise filtering using HVg: periodic series polluted with noise**

*λstoch* > *λun*.

graph theoretical methods.

analytically calculated resulting in:

to increase monotonically as a function of the chaos dimensionality 2, with an asymptotic value *λ* → ln(3/2) for large values of the attractor dimension (see fig. 6 where we plot the specific values of *λ* as a function of the correlation dimension of the map (Sprott & Rowlands, 2001)). Again, we deduce that the degree distribution for uncorrelated series is a limiting case of the degree distribution for chaotic series but, as opposed to what we found for stochastic processes, the convergence flow towards *λun* is from below, and therefore *λ* = ln(3/2) plays the role of an effective frontier between correlated stochastic and chaotic processes.

Fig. 6. Plot of the values of *λ* for several processes, namely: (i) for power-law correlated stochastic series with correlation function *C*(*t*) = *t*−*γ*, as a function of the correlation *γ*, (ii) for Ornstein-Uhlenbeck series with correlation function *C*(*t*) = exp(−*t*/*τ*), as a function of the correlation time *τ*, and (iii) for different chaotic maps, as a function of their correlation dimension *D*. Errors in the estimation of *λ* are incorporated in the size of the dots. Notice that stochastic processes cluster in the region *λ* > *λun* whereas chaotic series belong to the opposite region *λ* < *λun*, evidencing a convergence towards the uncorrelated value *λun* = ln(3/2) (Luque et al., 2009) for decreasing correlations or increasing chaos dimensionality respectively.

In the following section we provide some heuristic arguments supporting our findings, for additional details, numerics and analytical developments we refer the reader to Lacasa et al. (2010).

#### **3.2.3 Heuristics**

We argue first that correlated series show lower data variability than uncorrelated ones, so decreasing the possibility of a node to reach far visibility and hence decreasing (statistically speaking) the probability of appearance of a large degree. Hence, the correlation tends to decrease the number of nodes with large degree as compared to the uncorrelated counterpart.

<sup>2</sup> This functional relation must nonetheless be taken in a cautious way, indeed, other chaos indicators (such as the Lyapunov spectra) may also play a relevant role in the final shape of *P*(*k*) and such issues should be investigated in detail

16 Will-be-set-by-IN-TECH

to increase monotonically as a function of the chaos dimensionality 2, with an asymptotic value *λ* → ln(3/2) for large values of the attractor dimension (see fig. 6 where we plot the specific values of *λ* as a function of the correlation dimension of the map (Sprott & Rowlands, 2001)). Again, we deduce that the degree distribution for uncorrelated series is a limiting case of the degree distribution for chaotic series but, as opposed to what we found for stochastic processes, the convergence flow towards *λun* is from below, and therefore *λ* = ln(3/2) plays

0.5 1 1.5 2 2.5 3 3.5 4

Chaotic maps

λ = ln(3/2)

γ, τ, D

the role of an effective frontier between correlated stochastic and chaotic processes.

PL correlated processes (correlation γ) OU processes (correlation time τ)

Fig. 6. Plot of the values of *λ* for several processes, namely: (i) for power-law correlated stochastic series with correlation function *C*(*t*) = *t*−*γ*, as a function of the correlation *γ*, (ii) for Ornstein-Uhlenbeck series with correlation function *C*(*t*) = exp(−*t*/*τ*), as a function of the correlation time *τ*, and (iii) for different chaotic maps, as a function of their correlation dimension *D*. Errors in the estimation of *λ* are incorporated in the size of the dots. Notice that stochastic processes cluster in the region *λ* > *λun* whereas chaotic series belong to the opposite region *λ* < *λun*, evidencing a convergence towards the uncorrelated value *λun* = ln(3/2) (Luque et al., 2009) for decreasing correlations or increasing chaos

In the following section we provide some heuristic arguments supporting our findings, for additional details, numerics and analytical developments we refer the reader to Lacasa et al.

We argue first that correlated series show lower data variability than uncorrelated ones, so decreasing the possibility of a node to reach far visibility and hence decreasing (statistically speaking) the probability of appearance of a large degree. Hence, the correlation tends to decrease the number of nodes with large degree as compared to the uncorrelated counterpart.

<sup>2</sup> This functional relation must nonetheless be taken in a cautious way, indeed, other chaos indicators (such as the Lyapunov spectra) may also play a relevant role in the final shape of *P*(*k*) and such issues

0.2

0.3

0.4

0.5

λ

dimensionality respectively.

should be investigated in detail

(2010).

**3.2.3 Heuristics**

0.6

0.7

Indeed, in the limit of infinitely large correlations (*γ* → 0 or *τ* → ∞), the variability reduces to zero and the series become constant. The degree distribution in this limit case is, trivially,

$$P(k) = \delta(k-2) = \lim\_{\lambda \to \infty} \frac{\lambda}{2} \exp(-\lambda|k-2|).$$

that is to say, infinitely large correlations would be associated to a diverging value of *λ*. This tendency is on agreement with the numerical simulations (figure 6) where we show that *λ* monotonically increases with decreasing values of *γ* or increasing values of *τ* respectively. Having in mind that in the limit of small correlations the theorem previously stated implies that *λ* → *λun* = ln(3/2), we can therefore conclude that for a correlated stochastic process *λstoch* > *λun*.

Concerning chaotic series, remember that they are generated through a deterministic process whose orbit is continuous along the attractor. This continuity introduces a smoothing effect in the series that, statistically speaking, increases the probability of a given node to have a larger degree (uncorrelated series are rougher and hence it is more likely to have more nodes with smaller degree). Now, since in every case we have exponential degree distributions (this fact being related with the Poincaré recurrence theorem for chaotic series and with the return distribution in Poisson processes for stochastic series (Luque et al., 2009)), we conclude that the deviations must be encoded in the slope *λ* of the exponentials, such that *λchaos* < *λun* < *λstoch*, in good agreement with our numerical results.

#### **3.3 Noise filtering using HVg: periodic series polluted with noise**

In this section we address the task of filtering a noisy signal with a hidden periodic component within the horizontal visibility formalism, that is, we explore the possibility of using the method for noise filtering purposes (see (Núñez et al., 2010) for details). Periodicity detection algorithms (see for instance (Parthasarathy et al., 2006)) can be classified in essentially two categories, namely the time domain (autocorrelation based) and frequency domain (spectral) methods. Here we make use of the horizontal visibility algorithm to propose a third category: graph theoretical methods.

If we superpose a small amount of noise to a periodic series (a so-called *extrinsic* noise), while the degree of the nodes with associated small values will remain rather similar, the nodes associated to higher values will eventually increase their visibility and hence reach larger degrees. Accordingly, the delta-like structure of the degree distribution (associated with the periodic component of the series) will be perturbed, and an exponential tail will arise due to the presence of such noise (Lacasa et al., 2010; Luque et al., 2009). Can the algorithm characterize such kind of series? The answer is positive, since the degree distribution can be analytically calculated resulting in:

$$\begin{aligned} P(2) &= 1/2, \\ P(3) &= 0, \\ P(k+2) &= \frac{1}{3} \left(\frac{2}{3}\right)^{k-2}, k \ge 2, \\ \text{or } P(k) &= \frac{1}{4} \left(\frac{2}{3}\right)^{k-3}, k \ge 4, \end{aligned} \tag{28}$$

periodic signal) and an asymptotic value of 2 (lower bound of the mean degree). The plateau

Visibility Algorithms: A Short Review 137

Let us now consider a simple case of chaotic map with disconnected attractors.The Logistic

*xt*+<sup>1</sup> = *μxt*(1 − *xt*), with *x* ∈ [0, 1] and *μ* ∈ [3.6, 3.67] has an attractor that is partitioned in two disconnected chaotic bands, and the chaotic orbit makes an alternating journey between both bands (see

In low-dimensional dissipative systems chaotic motion develops out of regular motion in a small number of ways or routes, and amongst which the period-doubling bifurcation cascade or Feigenbaum scenario is perhaps the better known and most famous mechanism (Peitgen et al., 1992; Schuster, 1988). This route to chaos appears an infinite number of times amongst the family of attractors spawned by unimodal maps within the so-called periodic windows that interrupt stretches of chaotic attractors. In the opposite direction, a route out of chaos accompanies each period-doubling cascade by a chaotic band-splitting cascade, and their shared bifurcation accumulation points form transitions between order and chaos that are known to possess universal properties (Peitgen et al., 1992; Schuster, 1988; Strogatz, 1994). Low-dimensional maps have been extensively studied from a purely theoretical perspective, but systems with many degrees of freedom used to study diverse problems in physics, biology, chemistry, engineering, and social science, are known to display low-dimensional dynamics

In this section, we offer a distinct view of the Feigenbaum scenario through the specific HVg formalism, and provide a complete set of graphs, which we call Feigenbaum graphs, that encode the dynamics of all stationary trajectories of unimodal maps. We first characterize their

figintro). The map is ergodic, but the attractor is not the whole interval, as there is a gap between both chaotic bands. In this situation, the chaotic series is by definition not periodic, however, an autocorrelation function analysis indeed suggests the presence of periodicity, what is reminiscent of the disconnected two-band structure of the attractor. Interestingly enough, applying the aforementioned noise filter technique, at odds with the autocorrelation function, the results suggests that the method does not find any periodic structure, as it should (see Núñez et al. (2010) for details). Furthermore, information of both the phase space structure and the chaotic nature of the map becomes accessible from an analysis of the HVg's degree distribution. First, we find *P*(2) = 1/2, that indicates that half of the data are located in the bottom chaotic band, in agreement with the alternating nature of the chaotic orbit. This is reminiscent of the misleading result obtained from the autocorrelation function. Second, the tail of the degree distribution is exponential, with an asymptotic slope smaller than the one obtained rigorously (Luque et al., 2009) for a purely uncorrelated process. This is, according

<sup>−</sup><sup>1</sup>

= 2,

*k* = 3, which according to equation 3 yields a period

*T* = 2 − ¯ *k* 2

to Lacasa et al. (2010), characteristic of an underlying chaotic process.

**3.4 The period-doubling route to chaos via HVg: Feigenbaum graphs**

is clearly found at ¯

**3.3.2 Noisy periodic versus chaotic**

as expected.

map

fig. ˚

(Marvel et al., 2009).

that is to say, introducing a small amount of extrinsic uncorrelated noise in a periodic signal introduces an exponential tail in the HVG's degree distribution with the same slope as the one associated to a purely uncorrelated process. The mean degree ¯ *k* reads

$$\bar{k} = \sum\_{k=2}^{\infty} kP(k) = 4\nu$$

which, according to equation 3, suggests aperiodicity, as expected.

#### **3.3.1 A graph-theoretical noise filter**

Let *S* = {*xi*}*i*=1,...,*<sup>n</sup>* be a periodic series of period *T* (where *n* >> *T*) polluted by a certain amount of extrinsic noise (without loss of generality, suppose a white noise extracted from a uniform distribution *U*[−0.5, 0.5]), and define the filter *f* as a real valued scalar such that *f* ∈ [min *xi*, max *xi*]. The so called filtered Horizontal Visibility Graph (f-HVg) associated to *S* is constructed as it follows:

(i) each datum *xi* in the time series is mapped to a node *i* in the f-HVg, (ii) two nodes *i* and *j* are connected in the f-HVg if the associated data fulfill

$$\left| \mathbf{x}\_{\mathrm{i}}, \mathbf{x}\_{\mathrm{j}} > \mathbf{x}\_{\mathrm{n}} + f, \forall \, \mathbf{n} \mid \mathbf{i} < \mathbf{n} < \mathbf{j} \right. \tag{29}$$

The procedure of filtering the noise from a noisy periodic signal goes as follows: one generates the f-HVg associated to *S* for increasing values of *f* , and in each case proceeds to calculate the mean degree ¯ *k*. For the proper interval *fmin* < *f* < *fmax*, the f-HVg of the noisy periodic series *S* will be equivalent to the noise free HVg of the pure (periodic) signal, which has a well defined mean degree as a function of the series period. In this interval, the mean degree will therefore remain constant, and from equation 3 the period can be inferred. As an example, we

Fig. 7. *Left*: Periodic series of period *T* = 2 polluted with extrinsic noise extracted from a uniform distribution *<sup>U</sup>*[−0.5, 0.5] of amplitude 0.1. *Middle*: Values of the HVg's mean degree ¯ *k* as a function of the amplitude of the graph theoretical filter. The first plateau is found for ¯ *<sup>k</sup>* <sup>=</sup> 3, which renders a hidden period *<sup>T</sup>* = (<sup>2</sup> <sup>−</sup> ¯ *k*/2)−<sup>1</sup> = 2. The second plateau corresponding to ¯ *k* = 2 is found when the filter is large enough to screen each datum with its first neighbors, such that the mean degree reaches its lowest bound. *Right*: Autocorrelation function of the noisy periodic series, which is itself an almost periodic series with period *T* = 2, as it should.

have artificially generated a noisy periodic series of hidden period *T* = 2 (see figure 7). The results of the graph filtering technique yielded a net decreases of the mean degree, which has an initial value of 4 (as expected for the HVg (*f* = 0) of an aperiodic series such as a noisy periodic signal) and an asymptotic value of 2 (lower bound of the mean degree). The plateau is clearly found at ¯ *k* = 3, which according to equation 3 yields a period

$$T = \left(2 - \frac{k}{2}\right)^{-1} = 2\sqrt{2}$$

as expected.

18 Will-be-set-by-IN-TECH

that is to say, introducing a small amount of extrinsic uncorrelated noise in a periodic signal introduces an exponential tail in the HVG's degree distribution with the same slope as the one

Let *S* = {*xi*}*i*=1,...,*<sup>n</sup>* be a periodic series of period *T* (where *n* >> *T*) polluted by a certain amount of extrinsic noise (without loss of generality, suppose a white noise extracted from a uniform distribution *U*[−0.5, 0.5]), and define the filter *f* as a real valued scalar such that *f* ∈ [min *xi*, max *xi*]. The so called filtered Horizontal Visibility Graph (f-HVg) associated to *S*

(i) each datum *xi* in the time series is mapped to a node *i* in the f-HVg, (ii) two nodes *i* and *j*

The procedure of filtering the noise from a noisy periodic signal goes as follows: one generates the f-HVg associated to *S* for increasing values of *f* , and in each case proceeds to calculate the

series *S* will be equivalent to the noise free HVg of the pure (periodic) signal, which has a well defined mean degree as a function of the series period. In this interval, the mean degree will therefore remain constant, and from equation 3 the period can be inferred. As an example, we

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

f

Fig. 7. *Left*: Periodic series of period *T* = 2 polluted with extrinsic noise extracted from a uniform distribution *<sup>U</sup>*[−0.5, 0.5] of amplitude 0.1. *Middle*: Values of the HVg's mean degree ¯ *k* as a function of the amplitude of the graph theoretical filter. The first plateau is found for

first neighbors, such that the mean degree reaches its lowest bound. *Right*: Autocorrelation function of the noisy periodic series, which is itself an almost periodic series with period

have artificially generated a noisy periodic series of hidden period *T* = 2 (see figure 7). The results of the graph filtering technique yielded a net decreases of the mean degree, which has an initial value of 4 (as expected for the HVg (*f* = 0) of an aperiodic series such as a noisy

2

2.5

3

<k>

3.5

4

*k*. For the proper interval *fmin* < *f* < *fmax*, the f-HVg of the noisy periodic

mean degree

*kP*(*k*) = 4,

*k* reads

*xi*, *xj* > *xn* + *f* , ∀ *n* | *i* < *n* < *j* . (29)

 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48

ACF(τ)

*k*/2)−<sup>1</sup> = 2. The second plateau

*k* = 2 is found when the filter is large enough to screen each datum with its

0 10 20 30 40 50

Autocorrelation

τ

associated to a purely uncorrelated process. The mean degree ¯

which, according to equation 3, suggests aperiodicity, as expected.

are connected in the f-HVg if the associated data fulfill

**3.3.1 A graph-theoretical noise filter**

is constructed as it follows:

noisy series with hidden period T=2

mean degree ¯

 0.4 0.5 0.6 0.7 0.8 0.9

corresponding to ¯

*T* = 2, as it should.

x(t)

¯

10 20 30 40 50 60 70 80 90 100

*<sup>k</sup>* <sup>=</sup> 3, which renders a hidden period *<sup>T</sup>* = (<sup>2</sup> <sup>−</sup> ¯

t

¯ *k* = ∞ ∑ *k*=2

#### **3.3.2 Noisy periodic versus chaotic**

Let us now consider a simple case of chaotic map with disconnected attractors.The Logistic map

$$\mathbf{x}\_{t+1} = \mu \mathbf{x}\_t (1 - \mathbf{x}\_t)\_\prime$$

with *x* ∈ [0, 1] and *μ* ∈ [3.6, 3.67] has an attractor that is partitioned in two disconnected chaotic bands, and the chaotic orbit makes an alternating journey between both bands (see fig. ˚ figintro). The map is ergodic, but the attractor is not the whole interval, as there is a gap between both chaotic bands. In this situation, the chaotic series is by definition not periodic, however, an autocorrelation function analysis indeed suggests the presence of periodicity, what is reminiscent of the disconnected two-band structure of the attractor. Interestingly enough, applying the aforementioned noise filter technique, at odds with the autocorrelation function, the results suggests that the method does not find any periodic structure, as it should (see Núñez et al. (2010) for details). Furthermore, information of both the phase space structure and the chaotic nature of the map becomes accessible from an analysis of the HVg's degree distribution. First, we find *P*(2) = 1/2, that indicates that half of the data are located in the bottom chaotic band, in agreement with the alternating nature of the chaotic orbit. This is reminiscent of the misleading result obtained from the autocorrelation function. Second, the tail of the degree distribution is exponential, with an asymptotic slope smaller than the one obtained rigorously (Luque et al., 2009) for a purely uncorrelated process. This is, according to Lacasa et al. (2010), characteristic of an underlying chaotic process.

#### **3.4 The period-doubling route to chaos via HVg: Feigenbaum graphs**

In low-dimensional dissipative systems chaotic motion develops out of regular motion in a small number of ways or routes, and amongst which the period-doubling bifurcation cascade or Feigenbaum scenario is perhaps the better known and most famous mechanism (Peitgen et al., 1992; Schuster, 1988). This route to chaos appears an infinite number of times amongst the family of attractors spawned by unimodal maps within the so-called periodic windows that interrupt stretches of chaotic attractors. In the opposite direction, a route out of chaos accompanies each period-doubling cascade by a chaotic band-splitting cascade, and their shared bifurcation accumulation points form transitions between order and chaos that are known to possess universal properties (Peitgen et al., 1992; Schuster, 1988; Strogatz, 1994). Low-dimensional maps have been extensively studied from a purely theoretical perspective, but systems with many degrees of freedom used to study diverse problems in physics, biology, chemistry, engineering, and social science, are known to display low-dimensional dynamics (Marvel et al., 2009).

In this section, we offer a distinct view of the Feigenbaum scenario through the specific HVg formalism, and provide a complete set of graphs, which we call Feigenbaum graphs, that encode the dynamics of all stationary trajectories of unimodal maps. We first characterize their

Fig. 8. Feigenbaum graphs from the Logistic map *xt*+<sup>1</sup> = *f*(*xt*) = *μxt*(1 − *xt*). The main figure portrays the family of attractors of the Logistic map and indicates a transition from periodic to chaotic behavior at *μ*<sup>∞</sup> = 3.569946... through period-doubling bifurcations. For *μ* ≥ *μ*<sup>∞</sup> the figure shows merging of chaotic-band attractors where aperiodic behavior appears interrupted by windows that, when entered from their left-hand side, display periodic motion of period *<sup>T</sup>* <sup>=</sup> *<sup>m</sup>* · 20 with *<sup>m</sup>* <sup>&</sup>gt; 1 (for *<sup>μ</sup>* <sup>&</sup>lt; *<sup>μ</sup>*∞, *<sup>m</sup>* <sup>=</sup> 1) that subsequently develops into *m* period-doubling cascades with new accumulation points *μ*∞(*m*). Each accumulation point *μ*∞(*m*) is in turn the limit of a chaotic-band reverse bifurcation cascade with *m* initial chaotic bands, reminiscent of the self-affine structure of the entire diagram. All unimodal maps exhibit a period-doubling route to chaos with universal asymptotic scaling ratios between successive bifurcations that depend only on the order of the nonlinearity of the map, the Logistic map belongs to the quadratic case. Adjoining the main figure, we show time series and their associated Feigenbaum graphs according to the HV mapping criterion for several values of *μ* where the map evidences both regular and chaotic behavior (see the text). Inset: numerical values of the mean normalized distance ¯*<sup>d</sup>* as a function of mean degree ¯ *k* of the Feigenbaum graphs for 3 < *μ* < 4 (associated to time series of 1500 data after a transient and a step *δμ* = 0.05), in good agreement with the theoretical linear relation (see the

Visibility Algorithms: A Short Review 139

We turn next to the period-doubling bifurcation cascade of chaotic bands that takes place as *μ* decreases from *μ* = 4 towards *μ*∞. For the largest value of the control parameter, at *μ* = 4, the attractor is fully chaotic and occupies the entire interval [0, 1] (see figure 8). This is the first chaotic band *n* = 0 at its maximum amplitude. As *μ* decreases in value within *μ*<sup>∞</sup> < *μ* < 4 band-narrowing and successive band-splittings (Peitgen et al., 1992; Schroeder, 1991; Schuster, 1988; Strogatz, 1994) occur. In general, after *n* reverse bifurcations the phase space is partitioned in 2*<sup>n</sup>* disconnected chaotic bands, which are self-affine copies of the first

**3.4.3 Period-doubling bifurcation cascade of chaotic bands**

text).

topology via the order-of-visit and self-affinity properties of the maps. We will additionally define a renormalization group (RG) procedure that leads, via its flows, to or from network fixed-points to a comprehensive view of the entire family of attractors. Furthermore, the optimization of the entropy obtained from the degree distribution coincides with the RG fixed points and reproduces the essential features of the map's Lyapunov exponent independently of its sign. A general observation is that the HV algorithm extracts only universal elements of the dynamics, free of the peculiarities of the individual unimodal map, but also of universality classes characterized by the degree of nonlinearity. Therefore all the results presented in this section, while referring to the specific Logistic map for illustrative reasons apply to any unimodal map.

#### **3.4.1 Feigenbaum graphs**

According to the HV algorithm, a time series generated by the Logistic map for a specific value of *μ* (after an initial transient of approach to the attractor) is converted into a Feigenbaum graph (Luque et al., 2011). Notice that this is a well-defined subclass of HV graphs where consecutive nodes of degree *k* = 2, that is, consecutive data with the same value, do not appear, what is actually the case for series extracted from maps (besides the trivial case of a constant series). While for a period *T* there are in principle several possible periodic orbits, and therefore the set of associated Feigenbaum graphs is degenerate, it can be proved that the mean degree ¯ *k*(*T*) and normalized mean distance ¯ *<sup>d</sup>*(*T*) of all these Feigenbaum graphs fulfill ¯ *<sup>k</sup>*(*T*) = <sup>4</sup>(<sup>1</sup> <sup>−</sup> <sup>1</sup> <sup>2</sup>*<sup>T</sup>* ) and ¯*d*(*T*) = <sup>1</sup> <sup>3</sup>*<sup>T</sup>* respectively, yielding a linear relation ¯*d*(¯ *<sup>k</sup>*)=(<sup>4</sup> <sup>−</sup> ¯ *k*)/6 that is corroborated in the inset of figure 8. Aperiodic series (*T* → ∞) reach the upper bound mean degree ¯ *k* = 4.

#### **3.4.2 Period-doubling cascade**

A deep-seated feature of the period-doubling cascade is that the order in which the positions of a periodic attractor are visited is universal (Schroeder, 1991), the same for all unimodal maps. This ordering turns out to be a decisive property in the derivation of the structure of the Feigenbaum graphs. A plot the graphs for a family of attractors of increasing period *T* = 2*n*, that is, for increasing values of *μ* < *μ*<sup>∞</sup> can be found in (Luque et al., 2011). This basic pattern also leads to the expression for their associated degree distributions,

$$P(n,k) = \left(\frac{1}{2}\right)^{k/2}, \quad k = 2, 4, 6, \dots, 2n,\tag{30}$$

$$P(n,k) = \left(\frac{1}{2}\right)^n, \quad k = 2(n+1),$$

and zero for *k* odd or *k* > 2(*n* + 1). At the accumulation point *μ*<sup>∞</sup> the period diverges (*n* → ∞) and the distribution is exponential for all even values of the degree,

$$P(\infty, k) = \left(\frac{1}{2}\right)^{k/2}, \quad k = 2, 4, 6, \dots \tag{31}$$

and zero for *k* odd. Observe that these relations are independent of the order of the map's nonlinearity: the HV algorithm sifts out every detail of the dynamics except for the basic storyline.

20 Will-be-set-by-IN-TECH

topology via the order-of-visit and self-affinity properties of the maps. We will additionally define a renormalization group (RG) procedure that leads, via its flows, to or from network fixed-points to a comprehensive view of the entire family of attractors. Furthermore, the optimization of the entropy obtained from the degree distribution coincides with the RG fixed points and reproduces the essential features of the map's Lyapunov exponent independently of its sign. A general observation is that the HV algorithm extracts only universal elements of the dynamics, free of the peculiarities of the individual unimodal map, but also of universality classes characterized by the degree of nonlinearity. Therefore all the results presented in this section, while referring to the specific Logistic map for illustrative reasons apply to any

According to the HV algorithm, a time series generated by the Logistic map for a specific value of *μ* (after an initial transient of approach to the attractor) is converted into a Feigenbaum graph (Luque et al., 2011). Notice that this is a well-defined subclass of HV graphs where consecutive nodes of degree *k* = 2, that is, consecutive data with the same value, do not appear, what is actually the case for series extracted from maps (besides the trivial case of a constant series). While for a period *T* there are in principle several possible periodic orbits, and therefore the set of associated Feigenbaum graphs is degenerate, it can be proved that the

*<sup>d</sup>*(*T*) of all these Feigenbaum graphs fulfill ¯

is corroborated in the inset of figure 8. Aperiodic series (*T* → ∞) reach the upper bound mean

A deep-seated feature of the period-doubling cascade is that the order in which the positions of a periodic attractor are visited is universal (Schroeder, 1991), the same for all unimodal maps. This ordering turns out to be a decisive property in the derivation of the structure of the Feigenbaum graphs. A plot the graphs for a family of attractors of increasing period *T* = 2*n*, that is, for increasing values of *μ* < *μ*<sup>∞</sup> can be found in (Luque et al., 2011). This basic

pattern also leads to the expression for their associated degree distributions,

<sup>1</sup> 2 *<sup>k</sup>*/2

> <sup>1</sup> 2 *n*

1 2

and zero for *k* odd or *k* > 2(*n* + 1). At the accumulation point *μ*<sup>∞</sup> the period diverges (*n* → ∞)

*<sup>k</sup>*/2

and zero for *k* odd. Observe that these relations are independent of the order of the map's nonlinearity: the HV algorithm sifts out every detail of the dynamics except for the basic

*P*(*n*, *k*) =

*P*(*n*, *k*) =

and the distribution is exponential for all even values of the degree,

*P*(∞, *k*) =

<sup>3</sup>*<sup>T</sup>* respectively, yielding a linear relation ¯*d*(¯

, *k* = 2(*n* + 1),

*<sup>k</sup>*)=(<sup>4</sup> <sup>−</sup> ¯

, *k* = 2, 4, 6, ..., 2*n*, (30)

, *k* = 2, 4, 6, ..., (31)

*k*)/6 that

*k*(*T*) and normalized mean distance ¯

<sup>2</sup>*<sup>T</sup>* ) and ¯*d*(*T*) = <sup>1</sup>

unimodal map.

mean degree ¯

*<sup>k</sup>*(*T*) = <sup>4</sup>(<sup>1</sup> <sup>−</sup> <sup>1</sup>

*k* = 4.

**3.4.2 Period-doubling cascade**

degree ¯

storyline.

**3.4.1 Feigenbaum graphs**

Fig. 8. Feigenbaum graphs from the Logistic map *xt*+<sup>1</sup> = *f*(*xt*) = *μxt*(1 − *xt*). The main figure portrays the family of attractors of the Logistic map and indicates a transition from periodic to chaotic behavior at *μ*<sup>∞</sup> = 3.569946... through period-doubling bifurcations. For *μ* ≥ *μ*<sup>∞</sup> the figure shows merging of chaotic-band attractors where aperiodic behavior appears interrupted by windows that, when entered from their left-hand side, display periodic motion of period *<sup>T</sup>* <sup>=</sup> *<sup>m</sup>* · 20 with *<sup>m</sup>* <sup>&</sup>gt; 1 (for *<sup>μ</sup>* <sup>&</sup>lt; *<sup>μ</sup>*∞, *<sup>m</sup>* <sup>=</sup> 1) that subsequently develops into *m* period-doubling cascades with new accumulation points *μ*∞(*m*). Each accumulation point *μ*∞(*m*) is in turn the limit of a chaotic-band reverse bifurcation cascade with *m* initial chaotic bands, reminiscent of the self-affine structure of the entire diagram. All unimodal maps exhibit a period-doubling route to chaos with universal asymptotic scaling ratios between successive bifurcations that depend only on the order of the nonlinearity of the map, the Logistic map belongs to the quadratic case. Adjoining the main figure, we show time series and their associated Feigenbaum graphs according to the HV mapping criterion for several values of *μ* where the map evidences both regular and chaotic behavior (see the text). Inset: numerical values of the mean normalized distance ¯*<sup>d</sup>* as a function of mean degree ¯ *k* of the Feigenbaum graphs for 3 < *μ* < 4 (associated to time series of 1500 data after a transient and a step *δμ* = 0.05), in good agreement with the theoretical linear relation (see the text).

#### **3.4.3 Period-doubling bifurcation cascade of chaotic bands**

We turn next to the period-doubling bifurcation cascade of chaotic bands that takes place as *μ* decreases from *μ* = 4 towards *μ*∞. For the largest value of the control parameter, at *μ* = 4, the attractor is fully chaotic and occupies the entire interval [0, 1] (see figure 8). This is the first chaotic band *n* = 0 at its maximum amplitude. As *μ* decreases in value within *μ*<sup>∞</sup> < *μ* < 4 band-narrowing and successive band-splittings (Peitgen et al., 1992; Schroeder, 1991; Schuster, 1988; Strogatz, 1994) occur. In general, after *n* reverse bifurcations the phase space is partitioned in 2*<sup>n</sup>* disconnected chaotic bands, which are self-affine copies of the first

flow that converges to the (1st) trivial fixed point <sup>R</sup>(*n*)

fixed point of the flow is indeed *G*∞.

graph associated to the 1st chaotic band, <sup>R</sup>(*n*)

(see (Lacasa et al., 2010; Luque et al., 2009)).

This is the stable fixed point of the RG flow ∀*μ* < *μ*∞. We note that there is only one relevant variable in our RG scheme, represented by the reduced control parameter Δ*μ* = *μ*<sup>∞</sup> − *μ*, hence, to identify a nontrivial fixed point we set Δ*μ* = 0 or equivalently *n* → ∞, where the structure of the Feigenbaum graph turns to be completely self-similar under R. Therefore we conclude that *G*(1, ∞) ≡ *G*<sup>∞</sup> is the nontrivial fixed point of the RG flow, R{*G*∞} = *G*∞. In connection with this, let *Pt*(*k*) be the degree distribution of a generic Feigenbaum graph *Gt* in the period-doubling cascade after *t* iterations of R, and point out that the RG operation, R{*Gt*} = *Gt*+1, implies a recurrence relation (1− *Pt*(2))*Pt*+1(*k*) = *Pt*(*k* + 2), whose fixed point coincides with the degree distribution found in equation 31. This confirms that the nontrivial

Visibility Algorithms: A Short Review 141

Next, under the same RG transformation, the self-affine structure of the family of attractors yields R{*Gμ*(1, *n*)} = *Gμ*(1, *n* − 1), generating a RG flow that converges to the Feigenbaum

of R breaks temporal correlations in the series, and the RG flow leads to a 2nd trivial fixed point <sup>R</sup>(∞){*Gμ*(1, 0)} <sup>=</sup> *<sup>G</sup>*rand <sup>=</sup> R{*G*rand}, where *<sup>G</sup>*rand is the HV graph generated by a purely uncorrelated random process. This graph has a universal degree distribution *P*(*k*)=(1/3)(2/3)*k*−2, independent of the random process underlying probability density

Fig. 9. Illustrative cartoon incorporating the RG flow of Feigenbaum graphs in the whole Feigenbaum diagram: aperiodic (chaotic or random) series generate graphs whose RG flow converge to the trivial fixed point *G*rand, whereas periodic series (both in the region *μ* < *μ*<sup>∞</sup> and inside windows of stability) generate graphs whose RG flow converges to the trivial fixed point *G*(0, 1). The nontrivial fixed point of the RG flow *G*(∞, 1) is only reached through

Finally, let us consider the RG flow inside a given periodic window of initial period *m*. As the renormalization process addresses nodes with degree *k* = 2, the initial applications of R only change the core structure of the graph associated with the specific value *m*. The RG flow will therefore converge to the 1st trivial fixed point via the initial path <sup>R</sup>(*p*){*G*(*m*, *<sup>n</sup>*)} <sup>=</sup> *G*(1, *n*), with *p* ≤ *m*, whereas it converges to the 2nd trivial fixed point for *Gμ*(*m*, *n*) via <sup>R</sup>(*p*){*Gμ*(*m*, *<sup>n</sup>*)} <sup>=</sup> *<sup>G</sup>μ*(1, *<sup>n</sup>*). In the limit of *<sup>n</sup>* <sup>→</sup> <sup>∞</sup> the RG flow proceeds towards

the critical manifold of graphs at the accumulation points *μ*∞(*m*).

{*G*(1, *n*)} = *G*(1, 0) ≡ *G*<sup>0</sup> = R{*G*0}.

{*Gμ*(1, *n*)} = *Gμ*(1, 0). Repeated application

chaotic band (Crutchfield et al., 1982). The values of *μ* at which the bands split are called Misiurewicz points (Schroeder, 1991), and their location converges to the accumulation point *μ*<sup>∞</sup> for *n* → ∞. Significantly, while in the chaotic zone orbits are aperiodic, for reasons of continuity they visit each of the 2*<sup>n</sup>* chaotic bands in the same order as positions are visited in the attractors of period *T* = 2*<sup>n</sup>* (Schroeder, 1991). A plot of the Feigenbaum graphs generated through chaotic time series at different values of *μ* that correspond to an increasing number of reverse bifurcations can be found in(Luque et al., 2011). Since chaotic bands do not overlap, one can derive the following degree distribution for a Feigenbaum graph after *n* chaotic-band reverse bifurcations by using only the universal order of visits

$$P\_{\mu}(n,k) = \left(\frac{1}{2}\right)^{k/2}, \quad k = 2, 4, 6, \dots, 2n,$$

$$P\_{\mu}(n,k \ge 2(n+1)) = \left(\frac{1}{2}\right)^{n}. \tag{32}$$

and zero for *k* = 3, 5, 7, ..., 2*n* + 1. We note that this time the degree distribution retains some dependence on the specific value of *μ*, concretely, for those nodes with degree *k* ≥ 2(*n* + 1), all of which belong to the top chaotic band. The HV algorithm filters out chaotic motion within all bands except for that taking place in the top band whose contribution decreases as *n* → ∞ and appears coarse-grained in the cumulative distribution *Pμ*(*n*, *k* ≥ 2(*n* + 1)). As would be expected, at the accumulation point *μ*∞ we recover the exponential degree distribution (equation 31), *i.e.* lim*n*→<sup>∞</sup> *Pμ*(*n*, *k*) = *P*(∞, *k*).

#### **3.4.4 Renormalization group**

Before proceeding to interpret these findings via the consideration of renormalization group (RG) arguments, we recall that the Feigenbaum tree shows a rich self-affine structure: for *μ* > *μ*<sup>∞</sup> periodic windows of initial period *m* undergo successive period-doubling bifurcations with new accumulation points *μ*∞(*m*) that appear interwoven with chaotic attractors. These cascades are self-affine copies of the fundamental one. The process of reverse bifurcations also evidences this self-affine structure, such that each accumulation point is the limit of a chaotic-band reverse bifurcation cascade. Accordingly, we label *G*(*m*, *n*) the Feigenbaum graph associated with a periodic series of period *<sup>T</sup>* <sup>=</sup> *<sup>m</sup>* · <sup>2</sup>*n*, that is, a graph obtained from an attractor within window of initial period *m* after *n* period-doubling bifurcations. In the same fashion, *<sup>G</sup>μ*(*n*, *<sup>m</sup>*) is associated with a chaotic attractor composed by *<sup>m</sup>* · <sup>2</sup>*<sup>n</sup>* bands (that is, after *n* chaotic band reverse bifurcations of *m* initial chaotic bands). Graphs corresponding to *G*(1, *n*) and *Gμ*(1, *n*) respectively can be found in (Luque et al., 2011). For the first accumulation point *G*(1, ∞) = *Gμ*(1, ∞) ≡ *G*∞. Similarly, in each accumulation point *μ*∞(*m*), the identity *G*(*m*, ∞) = *Gμ*(*m*, ∞) is fulfilled.

In order to recast previous findings in the context of the renormalization group, let us define an RG operation R on a graph as the coarse-graining of every couple of adjacent nodes where one of them has degree *k* = 2 into a block node that inherits the links of the previous two nodes. This is a real-space RG transformation on the Feigenbaum graph (Newmann & Watts, 1999), dissimilar from recently suggested box-covering complex network renormalization schemes (Radicchi et al., 2008; Song et al., 2005; 2006). This scheme turns out to be equivalent for *μ* < *μ*<sup>∞</sup> to the construction of an HV graph from the composed map *f* (2) instead of the original *f* , in correspondence to the original Feigenbaum renormalization procedure (Strogatz, 1994). We first note that R{*G*(1, *n*)} = *G*(1, *n* − 1), thus, an iteration of this process yields an RG 22 Will-be-set-by-IN-TECH

chaotic band (Crutchfield et al., 1982). The values of *μ* at which the bands split are called Misiurewicz points (Schroeder, 1991), and their location converges to the accumulation point *μ*<sup>∞</sup> for *n* → ∞. Significantly, while in the chaotic zone orbits are aperiodic, for reasons of continuity they visit each of the 2*<sup>n</sup>* chaotic bands in the same order as positions are visited in the attractors of period *T* = 2*<sup>n</sup>* (Schroeder, 1991). A plot of the Feigenbaum graphs generated through chaotic time series at different values of *μ* that correspond to an increasing number of reverse bifurcations can be found in(Luque et al., 2011). Since chaotic bands do not overlap, one can derive the following degree distribution for a Feigenbaum graph after *n* chaotic-band

, *k* = 2, 4, 6, ..., 2*n*,

1 2 *n*

, (32)

reverse bifurcations by using only the universal order of visits

(equation 31), *i.e.* lim*n*→<sup>∞</sup> *Pμ*(*n*, *k*) = *P*(∞, *k*).

*μ*∞(*m*), the identity *G*(*m*, ∞) = *Gμ*(*m*, ∞) is fulfilled.

**3.4.4 Renormalization group**

*Pμ*(*n*, *k*) =

<sup>1</sup> 2 *<sup>k</sup>*/2

*Pμ*(*n*, *k* ≥ 2(*n* + 1)) =

and zero for *k* = 3, 5, 7, ..., 2*n* + 1. We note that this time the degree distribution retains some dependence on the specific value of *μ*, concretely, for those nodes with degree *k* ≥ 2(*n* + 1), all of which belong to the top chaotic band. The HV algorithm filters out chaotic motion within all bands except for that taking place in the top band whose contribution decreases as *n* → ∞ and appears coarse-grained in the cumulative distribution *Pμ*(*n*, *k* ≥ 2(*n* + 1)). As would be expected, at the accumulation point *μ*∞ we recover the exponential degree distribution

Before proceeding to interpret these findings via the consideration of renormalization group (RG) arguments, we recall that the Feigenbaum tree shows a rich self-affine structure: for *μ* > *μ*<sup>∞</sup> periodic windows of initial period *m* undergo successive period-doubling bifurcations with new accumulation points *μ*∞(*m*) that appear interwoven with chaotic attractors. These cascades are self-affine copies of the fundamental one. The process of reverse bifurcations also evidences this self-affine structure, such that each accumulation point is the limit of a chaotic-band reverse bifurcation cascade. Accordingly, we label *G*(*m*, *n*) the Feigenbaum graph associated with a periodic series of period *<sup>T</sup>* <sup>=</sup> *<sup>m</sup>* · <sup>2</sup>*n*, that is, a graph obtained from an attractor within window of initial period *m* after *n* period-doubling bifurcations. In the same fashion, *<sup>G</sup>μ*(*n*, *<sup>m</sup>*) is associated with a chaotic attractor composed by *<sup>m</sup>* · <sup>2</sup>*<sup>n</sup>* bands (that is, after *n* chaotic band reverse bifurcations of *m* initial chaotic bands). Graphs corresponding to *G*(1, *n*) and *Gμ*(1, *n*) respectively can be found in (Luque et al., 2011). For the first accumulation point *G*(1, ∞) = *Gμ*(1, ∞) ≡ *G*∞. Similarly, in each accumulation point

In order to recast previous findings in the context of the renormalization group, let us define an RG operation R on a graph as the coarse-graining of every couple of adjacent nodes where one of them has degree *k* = 2 into a block node that inherits the links of the previous two nodes. This is a real-space RG transformation on the Feigenbaum graph (Newmann & Watts, 1999), dissimilar from recently suggested box-covering complex network renormalization schemes (Radicchi et al., 2008; Song et al., 2005; 2006). This scheme turns out to be equivalent for *μ* < *μ*<sup>∞</sup> to the construction of an HV graph from the composed map *f* (2) instead of the original *f* , in correspondence to the original Feigenbaum renormalization procedure (Strogatz, 1994). We first note that R{*G*(1, *n*)} = *G*(1, *n* − 1), thus, an iteration of this process yields an RG

flow that converges to the (1st) trivial fixed point <sup>R</sup>(*n*) {*G*(1, *n*)} = *G*(1, 0) ≡ *G*<sup>0</sup> = R{*G*0}. This is the stable fixed point of the RG flow ∀*μ* < *μ*∞. We note that there is only one relevant variable in our RG scheme, represented by the reduced control parameter Δ*μ* = *μ*<sup>∞</sup> − *μ*, hence, to identify a nontrivial fixed point we set Δ*μ* = 0 or equivalently *n* → ∞, where the structure of the Feigenbaum graph turns to be completely self-similar under R. Therefore we conclude that *G*(1, ∞) ≡ *G*<sup>∞</sup> is the nontrivial fixed point of the RG flow, R{*G*∞} = *G*∞. In connection with this, let *Pt*(*k*) be the degree distribution of a generic Feigenbaum graph *Gt* in the period-doubling cascade after *t* iterations of R, and point out that the RG operation, R{*Gt*} = *Gt*+1, implies a recurrence relation (1− *Pt*(2))*Pt*+1(*k*) = *Pt*(*k* + 2), whose fixed point coincides with the degree distribution found in equation 31. This confirms that the nontrivial fixed point of the flow is indeed *G*∞.

Next, under the same RG transformation, the self-affine structure of the family of attractors yields R{*Gμ*(1, *n*)} = *Gμ*(1, *n* − 1), generating a RG flow that converges to the Feigenbaum graph associated to the 1st chaotic band, <sup>R</sup>(*n*) {*Gμ*(1, *n*)} = *Gμ*(1, 0). Repeated application of R breaks temporal correlations in the series, and the RG flow leads to a 2nd trivial fixed point <sup>R</sup>(∞){*Gμ*(1, 0)} <sup>=</sup> *<sup>G</sup>*rand <sup>=</sup> R{*G*rand}, where *<sup>G</sup>*rand is the HV graph generated by a purely uncorrelated random process. This graph has a universal degree distribution *P*(*k*)=(1/3)(2/3)*k*−2, independent of the random process underlying probability density (see (Lacasa et al., 2010; Luque et al., 2009)).

Fig. 9. Illustrative cartoon incorporating the RG flow of Feigenbaum graphs in the whole Feigenbaum diagram: aperiodic (chaotic or random) series generate graphs whose RG flow converge to the trivial fixed point *G*rand, whereas periodic series (both in the region *μ* < *μ*<sup>∞</sup> and inside windows of stability) generate graphs whose RG flow converges to the trivial fixed point *G*(0, 1). The nontrivial fixed point of the RG flow *G*(∞, 1) is only reached through the critical manifold of graphs at the accumulation points *μ*∞(*m*).

Finally, let us consider the RG flow inside a given periodic window of initial period *m*. As the renormalization process addresses nodes with degree *k* = 2, the initial applications of R only change the core structure of the graph associated with the specific value *m*. The RG flow will therefore converge to the 1st trivial fixed point via the initial path <sup>R</sup>(*p*){*G*(*m*, *<sup>n</sup>*)} <sup>=</sup> *G*(1, *n*), with *p* ≤ *m*, whereas it converges to the 2nd trivial fixed point for *Gμ*(*m*, *n*) via <sup>R</sup>(*p*) {*Gμ*(*m*, *n*)} = *Gμ*(1, *n*). In the limit of *n* → ∞ the RG flow proceeds towards

μ 3.6 3.7 3.8 3.9 <sup>4</sup>

Visibility Algorithms: A Short Review 143

Fig. 10. Horizontal visibility network entropy *h* and Lyapunov exponent *λ* for the Logistic map. We plot the numerical values of *h* and *λ* for 3.5 < *μ* < 4 (the numerical step is *δμ* <sup>=</sup> <sup>5</sup> · <sup>10</sup>−<sup>4</sup> and in each case the processed time series have a size of 2<sup>12</sup> data). The inset reproduces the same data but with a rescaled entropy *h* − log(4). The surprisingly good match between both quantities is reminiscent of the Pesin identity (see text). Unexpectedly, the Lyapunov exponent within the periodic windows (*λ* < 0 inside the chaotic region) is also

maps reads *hKS* = *λ*, ∀*λ* > 0, since *h* can be understood as a proxy for *hKS*. Unexpectedly, this qualitative agreement seems also valid in the periodic windows (*λ* < 0), since the graph entropy is positive and varies with the value of the associated (negative) Lyapunov exponent even though *hKS* = 0, hinting at a Pesin-like relation valid also out of chaos which deserves further investigation. The agreement between both quantities lead us to conclude that the Feigenbaum graphs capture not only the period-doubling route to chaos in a universal way,

A stationary process *xt* is said to be statistically time reversible (hereafter time reversible) if for every *n*, the series {*x*1, ··· , *xn*} and {*xn*, ··· , *x*1} have the same joint probability distributions (Weiss, 1975). Roughly, this means that a reversible time series and its time reversed are, statistically speaking, equally probable. Reversible processes include the family of Gaussian linear processes (as well as Fourier-transform surrogates and nonlinear static transformations of them), and are associated with processes at thermal equilibrium in statistical physics. Conversely, time series irreversibility is indicative of the presence of nonlinearities in the underlying dynamics, including non-Gaussian stochastic processes and dissipative chaos, and are associated with systems driven out-of-equilibrium in the realm of thermodynamics (Kawai et al., 2007; Parrondo et al., 2009). Time series irreversibility is an important topic in basic and applied science. From a physical perspective, and based on the relation between

but also inherits the main feature of chaos, *i.e.* sensitivity to initial conditions.

**h**

λ

well captured by *h*.

**3.5 Measuring irreversibility via HVg**



0

1

log 4

2

the nontrivial fixed point via the path <sup>R</sup>(*p*) {*G*(*m*, ∞)} = *G*(1, ∞). Incidentally, extending the definition of the reduced control parameter to Δ*μ*(*m*) = *μ*∞(*m*) − *μ*, the family of accumulation points is found at Δ*μ*(*m*) = 0. A complete schematic representation of the RG flows can be seen in figure 9.

Interestingly, and at odds with standard RG applications to (asymptotically) scale-invariant systems, we find that invariance at Δ*μ* = 0 is associated in this instance to an exponential (rather than power-law) function of the observables, concretely, that for the degree distribution. The reason is straightforward: R is not a conformal transformation (*i.e.* a scale operation) as in the typical RG, but rather, a translation procedure. The associated invariant functions are therefore non homogeneous (with the property g(*ax*) = *b*g(*x*)), but exponential (with the property g(*x* + *a*) = *c*g(*x*)).

#### **3.4.5 Network entropy**

Finally, we derive, via optimization of an entropic functional for the Feigenbaum graphs, all the RG flow directions and fixed points directly from the information contained in the degree distribution. Amongst the graph theoretical entropies that have been proposed we employ here the Shannon entropy of the degree distribution *<sup>P</sup>*(*k*), that is *<sup>h</sup>* <sup>=</sup> <sup>−</sup> <sup>∑</sup><sup>∞</sup> *<sup>k</sup>*=<sup>2</sup> *P*(*k*)log *P*(*k*). By making use of the Maximum Entropy formalism, it is easy to prove that the degree distribution *P*(*k*) that maximizes *h* is exactly *P*(*k*)=(1/3)(2/3)*k*−2, which corresponds to the distribution for the 2nd trivial fixed point of the RG flow *G*rand. Alternatively, with the incorporation of the additional constraint that allows only even values for the degree (the topological restriction for Feigenbaum graphs *G*(1, *n*)), entropy maximization yields a degree distribution that coincides with equation 31, which corresponds to the nontrivial fixed point of the RG flow *G*∞. Lastly, the degree distribution that minimizes *h* trivially corresponds to *G*0, *i.e.* the 1st trivial fixed point of the RG flow. Remarkably, these results indicate that the fixed-point structure of the RG flow are obtained via optimization of the entropy for the entire family of networks, supporting a suggested connection between RG theory and the principle of Maximum Entropy (Robledo, 1999).

The network entropy *h* can be calculated exactly for *G*(1, *n*) (*μ* < *μ*<sup>∞</sup> or *T* = 2*n*), yielding *<sup>h</sup>*(*n*) = log 4 · (<sup>1</sup> <sup>−</sup> <sup>2</sup>−*n*). Because increments of entropy are only due to the occurrence of bifurcations *h* increases with *μ* in a step-wise way, and reaches asymptotically the value *h*(∞) = log 4 at the accumulation point *μ*∞. For Feigenbaum graphs *Gμ*(1, *n*) (in the chaotic region), in general *h* cannot be derived exactly since the precise shape of *P*(*k*) is unknown (albeit the asymptotic shape is also exponential (Luque et al., 2011)). Yet, the main feature of *h* can be determined along the chaotic-band splitting process, as each reverse bifurcation generates two self-affine copies of each chaotic band. Accordingly, the decrease of entropy associated with this reverse bifurcation process can be described as *hμ*(*n*) = log 4 + *hμ*(0)/2*n*, where the entropy *hμ*(*n*) after *n* reverse bifurcations can be described in terms of the entropy associated with the first chaotic band *hμ*(0). The chaotic-band reverse bifurcation process takes place in the chaotic region in the direction of decreasing *μ*'s, and therefore leads in this case to a decrease of entropy with an asymptotic value of log 4 for *n* → ∞ at the accumulation point. These results suggest that the graph entropy behaves qualitatively as the map's Lyapunov exponent *λ*, with the peculiarity of having a shift of log 4, as confirmed in figure 10. This unexpected qualitative agreement is reasonable in the chaotic region in view of the Pesin theorem (Peitgen et al., 1992), that relates the positive Lyapunov exponents of a map with its Kolmogorov-Sinai entropy (akin to a topological entropy) that for unimodal 24 Will-be-set-by-IN-TECH

the definition of the reduced control parameter to Δ*μ*(*m*) = *μ*∞(*m*) − *μ*, the family of accumulation points is found at Δ*μ*(*m*) = 0. A complete schematic representation of the

Interestingly, and at odds with standard RG applications to (asymptotically) scale-invariant systems, we find that invariance at Δ*μ* = 0 is associated in this instance to an exponential (rather than power-law) function of the observables, concretely, that for the degree distribution. The reason is straightforward: R is not a conformal transformation (*i.e.* a scale operation) as in the typical RG, but rather, a translation procedure. The associated invariant functions are therefore non homogeneous (with the property g(*ax*) = *b*g(*x*)), but exponential

Finally, we derive, via optimization of an entropic functional for the Feigenbaum graphs, all the RG flow directions and fixed points directly from the information contained in the degree distribution. Amongst the graph theoretical entropies that have been proposed we employ

making use of the Maximum Entropy formalism, it is easy to prove that the degree distribution *P*(*k*) that maximizes *h* is exactly *P*(*k*)=(1/3)(2/3)*k*−2, which corresponds to the distribution for the 2nd trivial fixed point of the RG flow *G*rand. Alternatively, with the incorporation of the additional constraint that allows only even values for the degree (the topological restriction for Feigenbaum graphs *G*(1, *n*)), entropy maximization yields a degree distribution that coincides with equation 31, which corresponds to the nontrivial fixed point of the RG flow *G*∞. Lastly, the degree distribution that minimizes *h* trivially corresponds to *G*0, *i.e.* the 1st trivial fixed point of the RG flow. Remarkably, these results indicate that the fixed-point structure of the RG flow are obtained via optimization of the entropy for the entire family of networks, supporting a suggested connection between RG theory and the principle of Maximum Entropy (Robledo,

The network entropy *h* can be calculated exactly for *G*(1, *n*) (*μ* < *μ*<sup>∞</sup> or *T* = 2*n*), yielding *<sup>h</sup>*(*n*) = log 4 · (<sup>1</sup> <sup>−</sup> <sup>2</sup>−*n*). Because increments of entropy are only due to the occurrence of bifurcations *h* increases with *μ* in a step-wise way, and reaches asymptotically the value *h*(∞) = log 4 at the accumulation point *μ*∞. For Feigenbaum graphs *Gμ*(1, *n*) (in the chaotic region), in general *h* cannot be derived exactly since the precise shape of *P*(*k*) is unknown (albeit the asymptotic shape is also exponential (Luque et al., 2011)). Yet, the main feature of *h* can be determined along the chaotic-band splitting process, as each reverse bifurcation generates two self-affine copies of each chaotic band. Accordingly, the decrease of entropy associated with this reverse bifurcation process can be described as *hμ*(*n*) = log 4 + *hμ*(0)/2*n*, where the entropy *hμ*(*n*) after *n* reverse bifurcations can be described in terms of the entropy associated with the first chaotic band *hμ*(0). The chaotic-band reverse bifurcation process takes place in the chaotic region in the direction of decreasing *μ*'s, and therefore leads in this case to a decrease of entropy with an asymptotic value of log 4 for *n* → ∞ at the accumulation point. These results suggest that the graph entropy behaves qualitatively as the map's Lyapunov exponent *λ*, with the peculiarity of having a shift of log 4, as confirmed in figure 10. This unexpected qualitative agreement is reasonable in the chaotic region in view of the Pesin theorem (Peitgen et al., 1992), that relates the positive Lyapunov exponents of a map with its Kolmogorov-Sinai entropy (akin to a topological entropy) that for unimodal

here the Shannon entropy of the degree distribution *<sup>P</sup>*(*k*), that is *<sup>h</sup>* <sup>=</sup> <sup>−</sup> <sup>∑</sup><sup>∞</sup>

{*G*(*m*, ∞)} = *G*(1, ∞). Incidentally, extending

*<sup>k</sup>*=<sup>2</sup> *P*(*k*)log *P*(*k*). By

the nontrivial fixed point via the path <sup>R</sup>(*p*)

RG flows can be seen in figure 9.

(with the property g(*x* + *a*) = *c*g(*x*)).

**3.4.5 Network entropy**

1999).

Fig. 10. Horizontal visibility network entropy *h* and Lyapunov exponent *λ* for the Logistic map. We plot the numerical values of *h* and *λ* for 3.5 < *μ* < 4 (the numerical step is *δμ* <sup>=</sup> <sup>5</sup> · <sup>10</sup>−<sup>4</sup> and in each case the processed time series have a size of 2<sup>12</sup> data). The inset reproduces the same data but with a rescaled entropy *h* − log(4). The surprisingly good match between both quantities is reminiscent of the Pesin identity (see text). Unexpectedly, the Lyapunov exponent within the periodic windows (*λ* < 0 inside the chaotic region) is also well captured by *h*.

maps reads *hKS* = *λ*, ∀*λ* > 0, since *h* can be understood as a proxy for *hKS*. Unexpectedly, this qualitative agreement seems also valid in the periodic windows (*λ* < 0), since the graph entropy is positive and varies with the value of the associated (negative) Lyapunov exponent even though *hKS* = 0, hinting at a Pesin-like relation valid also out of chaos which deserves further investigation. The agreement between both quantities lead us to conclude that the Feigenbaum graphs capture not only the period-doubling route to chaos in a universal way, but also inherits the main feature of chaos, *i.e.* sensitivity to initial conditions.

#### **3.5 Measuring irreversibility via HVg**

A stationary process *xt* is said to be statistically time reversible (hereafter time reversible) if for every *n*, the series {*x*1, ··· , *xn*} and {*xn*, ··· , *x*1} have the same joint probability distributions (Weiss, 1975). Roughly, this means that a reversible time series and its time reversed are, statistically speaking, equally probable. Reversible processes include the family of Gaussian linear processes (as well as Fourier-transform surrogates and nonlinear static transformations of them), and are associated with processes at thermal equilibrium in statistical physics. Conversely, time series irreversibility is indicative of the presence of nonlinearities in the underlying dynamics, including non-Gaussian stochastic processes and dissipative chaos, and are associated with systems driven out-of-equilibrium in the realm of thermodynamics (Kawai et al., 2007; Parrondo et al., 2009). Time series irreversibility is an important topic in basic and applied science. From a physical perspective, and based on the relation between

which vanishes if and only if both probability distributions are equal *p* = *q* and it is bigger

Visibility Algorithms: A Short Review 145

We compare the outgoing degree distribution in the actual (forward) series *Pk*out(*k*|{*x*(*t*)}*t*=1,...,*N*) = *P*out(*k*) with the corresponding probability in the time-reversed (or backward) time series, which is equal to the probability distribution of the ingoing degree in the actual process *Pk*out(*k*|{*x*(*t*)}*t*=*N*,...,1) = *P*in(*k*). The KLD between these two distributions

*k*

This measure vanishes if and only if the outgoing and ingoing degree probability distributions of a time series are identical, *P*out(*k*) = *P*in(*k*), and it is positive otherwise. We will apply it to

Notice that previous methods to estimate time series irreversibility generally proceed by first making a (somewhat *ad hoc*) local symbolization of the series, coarse-graining each of the series data into a symbol (typically, an integer) from an ordered set. Then, they subsequently perform a statistical analysis of word occurrences (where a word of length *n* is simply a concatenation of *n* symbols) from the forward and backwards symbolized series (Andrieux et al., 2007; Wang et al., 2005). Time series irreversibility is therefore linked to the difference between the word statistics of the forward and backwards symbolized series. The method presented here can also be considered as a symbolization if we restrict ourselves to the information stored in the series {*k*out(*t*)}*t*=1,...,*<sup>N</sup>* and {*k*in(*t*)}*t*=1,...,*N*. However, at odds with other methods, here the symbolization process (i) lacks *ad hoc* parameters (such as number of symbols in the set or partition definition), and (ii) it takes into account *global* information: each coarse-graining *xt* → (*k*in(*t*), *k*out(*t*)) is performed using information from the whole series, according to the mapping criterion of fig. 3. Hence, this symbolization naturally takes into account multiple scales, which is desirable if we want to tackle complex signals (Costa et al.,

The first example of a reversible series with *D*[*P*out(*k*)||*P*in(*k*)] = 0 are uncorrelated stochastic series which were considered in 2.6.1. As a further validation, linearly correlated stochastic processes have also been considered as additional examples of reversible dynamics (Weiss, 1975). An explanation of the method employed to generate the series can be consulted in

A discrete flashing ratchet is an example of thermodynamic system which can be smoothly driven out of equilibrium by modifying the value of a physical parameter (the peak value *V* of an asymmetric potencial). We make use of a time series generated by a discrete flashing ratchet model introduced in (Roldan & Parrondo, 2010). For *V* = 0 detailed balance condition is satisfied, the system is in equilibrium and trajectories are statistically reversible. In this

degree-degree distributions vanish. On the other hand, if *V* is increased, the system is driven out of equilibrium, what introduces a net statistical irreversibility which increases with *V* (Roldan & Parrondo, 2010). The amount of irreversibility estimated with KLD increases with

)||*P*in(*k*, *k*�

*<sup>P</sup>*out(*k*)log *<sup>P</sup>*out(*k*)

*<sup>P</sup>*in(*k*) . (34)

)] using degree distributions and

*<sup>D</sup>*[*P*out(*k*)||*P*in(*k*)] = ∑

several examples as a measure of irreversibility.

**3.5.2 Results for correlated stochastic series**

**3.5.3 Results for a discrete flashing ratchet**

case both *D*[*P*out(*k*)||*P*in(*k*)] and *D*[*P*out(*k*, *k*�

(Lacasa et al., 2010), and results are summarized in table 1.

than zero otherwise.

is

2005; 2008).

statistical reversibility and physical dissipation (Kawai et al., 2007; Parrondo et al., 2009), the concept of time series irreversibility has been used to derive information about the entropy production of the physical mechanism generating the series, even if one ignores any detail of such mechanism (Roldan & Parrondo, 2011). In a more applied context, it has been suggested that irreversibility in complex physiological series decreases with aging or pathology, being maximal in young and healthy subjects (Costa et al., 2005; 2008; Yang et al., 2003), rendering this feature important for noninvasive diagnosis. As complex signals pervade natural and social sciences, the topic of time series reversibility is indeed relevant for scientists aiming to understand and model the dynamics behind complex signals.

The definition of time series reversibility is formal and therefore there is not an *a priori* optimal algorithm to quantify it in practice. Several methods to measure time irreversibility have been proposed (Andrieux et al., 2007; Cammarota & Rogora, 2007; Costa et al., 2005; Daw et al., 2000; Diks et al., 1995; Gaspard, 2004; Kennel, 2004; Wang et al., 2005; Yang et al., 2003). The majority of them perform a time series symbolization, typically making an empirical partition of the data range (Daw et al., 2000) (note that such a transformation does not alter the reversible character of the output series (Kennel, 2004)) and subsequently analyze the symbolized series, through statistical comparison of symbol strings occurrence in the forward and backwards series or using compression algorithms (Cover & Thomas, 2006; Kennel, 2004; Roldan & Parrondo, 2011). The first step requires an extra amount of *ad hoc* information (such as range partitioning or size of the symbol alphabet) and therefore the output of these methods eventually depend on these extra parameters. A second issue is that since typical symbolization is local, the presence of multiple scales (a signature of complex signals) could be swept away by this coarse-graining: in this sense multi-scale algorithms have been proposed recently (Costa et al., 2005; 2008). The *time directed* version of the horizontal visibility algorithm is proposed in this section as a simple and well defined tool for measuring time series irreversibility (see Lacasa et al. (2011) for details).

#### **3.5.1 Quantifying irreversibility: DHVg and Kullback-Leibler divergence**

The main conjecture of this application is that the information stored in the *in* and *out* distributions take into account the amount of time irreversibility of the associated series. More precisely, we claim that this can be measured, in a first approximation, as the distance (in a distributional sense) between the *in* and *out* degree distributions (*P*in(*k*) and *P*out(*k*)). If needed, higher order measures can be used, such as the corresponding distance between the *in* and *out* degree-degree distributions (*P*in(*k*, *k*� ) and *P*out(*k*, *k*� )). These are defined as the *in* and *out* joint degree distributions of a node and its first neighbors (Newmann, 2003), describing the probability of an arbitrary node whose neighbor has degree *k*� to have degree *k*.

The Kullback-Leibler divergence (Cover & Thomas, 2006) is used as the distance between the *in* and *out* degree distributions. Relative entropy or Kullback-Leibler divergence (KLD) is introduced in information theory as a measure of distinguishability between two probability distributions. Given a random variable *x* and two probability distributions *p*(*x*) and *q*(*x*), KLD between *p* and *q* is defined as follows:

$$D(p||q) \equiv \sum\_{\mathbf{x} \in \mathcal{X}} p(\mathbf{x}) \log \frac{p(\mathbf{x})}{q(\mathbf{x})} \,\mathrm{}\tag{33}$$

26 Will-be-set-by-IN-TECH

statistical reversibility and physical dissipation (Kawai et al., 2007; Parrondo et al., 2009), the concept of time series irreversibility has been used to derive information about the entropy production of the physical mechanism generating the series, even if one ignores any detail of such mechanism (Roldan & Parrondo, 2011). In a more applied context, it has been suggested that irreversibility in complex physiological series decreases with aging or pathology, being maximal in young and healthy subjects (Costa et al., 2005; 2008; Yang et al., 2003), rendering this feature important for noninvasive diagnosis. As complex signals pervade natural and social sciences, the topic of time series reversibility is indeed relevant for scientists aiming to

The definition of time series reversibility is formal and therefore there is not an *a priori* optimal algorithm to quantify it in practice. Several methods to measure time irreversibility have been proposed (Andrieux et al., 2007; Cammarota & Rogora, 2007; Costa et al., 2005; Daw et al., 2000; Diks et al., 1995; Gaspard, 2004; Kennel, 2004; Wang et al., 2005; Yang et al., 2003). The majority of them perform a time series symbolization, typically making an empirical partition of the data range (Daw et al., 2000) (note that such a transformation does not alter the reversible character of the output series (Kennel, 2004)) and subsequently analyze the symbolized series, through statistical comparison of symbol strings occurrence in the forward and backwards series or using compression algorithms (Cover & Thomas, 2006; Kennel, 2004; Roldan & Parrondo, 2011). The first step requires an extra amount of *ad hoc* information (such as range partitioning or size of the symbol alphabet) and therefore the output of these methods eventually depend on these extra parameters. A second issue is that since typical symbolization is local, the presence of multiple scales (a signature of complex signals) could be swept away by this coarse-graining: in this sense multi-scale algorithms have been proposed recently (Costa et al., 2005; 2008). The *time directed* version of the horizontal visibility algorithm is proposed in this section as a simple and well defined tool for measuring

The main conjecture of this application is that the information stored in the *in* and *out* distributions take into account the amount of time irreversibility of the associated series. More precisely, we claim that this can be measured, in a first approximation, as the distance (in a distributional sense) between the *in* and *out* degree distributions (*P*in(*k*) and *P*out(*k*)). If needed, higher order measures can be used, such as the corresponding distance between the *in*

*out* joint degree distributions of a node and its first neighbors (Newmann, 2003), describing

The Kullback-Leibler divergence (Cover & Thomas, 2006) is used as the distance between the *in* and *out* degree distributions. Relative entropy or Kullback-Leibler divergence (KLD) is introduced in information theory as a measure of distinguishability between two probability distributions. Given a random variable *x* and two probability distributions *p*(*x*) and *q*(*x*),

the probability of an arbitrary node whose neighbor has degree *k*� to have degree *k*.

*<sup>D</sup>*(*p*||*q*) ≡ ∑

*x*∈X

) and *P*out(*k*, *k*�

*<sup>p</sup>*(*x*)log *<sup>p</sup>*(*x*)

*q*(*x*)

)). These are defined as the *in* and

, (33)

understand and model the dynamics behind complex signals.

time series irreversibility (see Lacasa et al. (2011) for details).

and *out* degree-degree distributions (*P*in(*k*, *k*�

KLD between *p* and *q* is defined as follows:

**3.5.1 Quantifying irreversibility: DHVg and Kullback-Leibler divergence**

which vanishes if and only if both probability distributions are equal *p* = *q* and it is bigger than zero otherwise.

We compare the outgoing degree distribution in the actual (forward) series *Pk*out(*k*|{*x*(*t*)}*t*=1,...,*N*) = *P*out(*k*) with the corresponding probability in the time-reversed (or backward) time series, which is equal to the probability distribution of the ingoing degree in the actual process *Pk*out(*k*|{*x*(*t*)}*t*=*N*,...,1) = *P*in(*k*). The KLD between these two distributions is

$$D[P\_{\rm out}(k)||P\_{\rm in}(k)] = \sum\_{k} P\_{\rm out}(k) \log \frac{P\_{\rm out}(k)}{P\_{\rm in}(k)}.\tag{34}$$

This measure vanishes if and only if the outgoing and ingoing degree probability distributions of a time series are identical, *P*out(*k*) = *P*in(*k*), and it is positive otherwise. We will apply it to several examples as a measure of irreversibility.

Notice that previous methods to estimate time series irreversibility generally proceed by first making a (somewhat *ad hoc*) local symbolization of the series, coarse-graining each of the series data into a symbol (typically, an integer) from an ordered set. Then, they subsequently perform a statistical analysis of word occurrences (where a word of length *n* is simply a concatenation of *n* symbols) from the forward and backwards symbolized series (Andrieux et al., 2007; Wang et al., 2005). Time series irreversibility is therefore linked to the difference between the word statistics of the forward and backwards symbolized series. The method presented here can also be considered as a symbolization if we restrict ourselves to the information stored in the series {*k*out(*t*)}*t*=1,...,*<sup>N</sup>* and {*k*in(*t*)}*t*=1,...,*N*. However, at odds with other methods, here the symbolization process (i) lacks *ad hoc* parameters (such as number of symbols in the set or partition definition), and (ii) it takes into account *global* information: each coarse-graining *xt* → (*k*in(*t*), *k*out(*t*)) is performed using information from the whole series, according to the mapping criterion of fig. 3. Hence, this symbolization naturally takes into account multiple scales, which is desirable if we want to tackle complex signals (Costa et al., 2005; 2008).

#### **3.5.2 Results for correlated stochastic series**

The first example of a reversible series with *D*[*P*out(*k*)||*P*in(*k*)] = 0 are uncorrelated stochastic series which were considered in 2.6.1. As a further validation, linearly correlated stochastic processes have also been considered as additional examples of reversible dynamics (Weiss, 1975). An explanation of the method employed to generate the series can be consulted in (Lacasa et al., 2010), and results are summarized in table 1.

#### **3.5.3 Results for a discrete flashing ratchet**

A discrete flashing ratchet is an example of thermodynamic system which can be smoothly driven out of equilibrium by modifying the value of a physical parameter (the peak value *V* of an asymmetric potencial). We make use of a time series generated by a discrete flashing ratchet model introduced in (Roldan & Parrondo, 2010). For *V* = 0 detailed balance condition is satisfied, the system is in equilibrium and trajectories are statistically reversible. In this case both *D*[*P*out(*k*)||*P*in(*k*)] and *D*[*P*out(*k*, *k*� )||*P*in(*k*, *k*� )] using degree distributions and degree-degree distributions vanish. On the other hand, if *V* is increased, the system is driven out of equilibrium, what introduces a net statistical irreversibility which increases with *V* (Roldan & Parrondo, 2010). The amount of irreversibility estimated with KLD increases with

**Series description** *D*[*P*out(*k*)||*P*in(*k*)] *D*[*P*out(*k*, *k*�

stationary process (*<sup>γ</sup>* <sup>=</sup> 2.0) 1.28 · <sup>10</sup>−<sup>5</sup> 2.0 · <sup>10</sup>−<sup>4</sup>

Logistic map (*μ* = 4) 0.377 2.978 *α* map (*α* = 3) 0.455 3.005 *α* map (*α* = 4) 0.522 3.518 Henon map (*a* = 1.4, *b* = 0.3) 0.178 1.707

Lozi map 0.114 1.265 Kaplan Yorke map 0.164 0.390

Arnold Cat map 1.77 · <sup>10</sup>−<sup>5</sup> 4.05 · <sup>10</sup>−<sup>4</sup>

distinguishes between reversible and irreversible processes, as KLD vanishes for the former

This method was applied to several chaotic series and found that it is able to distinguish between dissipative and conservative chaotic systems. Dissipative chaotic systems are those that do not preserve the volume of the phase space, and they produce irreversible time series. This is the case of chaotic maps in which entropy production via instabilities in the forward time direction is quantitatively different to the amount of past information lost. In other words, those whose positive Lyapunov exponents, which characterize chaos in the forward process, differ in magnitude with negative ones, which characterize chaos in the backward process (Kennel, 2004). Several chaotic maps have been analyzed and the degree of reversibility of their associated time series has been estimated using using KLD, showing that for dissipative chaotic series it is positive while it vanishes for an example of conservative chaos. A summary of results cann be checked in table 1. In every case, we find an asymptotic positive value, in agreement with the conjecture that dissipative chaos is indeed

Finally, we also consider the *Arnold cat map*: *xt*+<sup>1</sup> = *xt* + *yt* mod(1), *yt*+<sup>1</sup> = *xt* + 2*yt* mod(1). At odds with previous dissipative maps, this is an example of a *conservative* (measure-preserving) chaotic system with integer Kaplan-Yorke dimension (Sprott & Rowlands, 2001). The map has two Lyapunov exponents which coincide in magnitude *<sup>λ</sup>*<sup>1</sup> <sup>=</sup> ln(<sup>3</sup> <sup>+</sup> <sup>√</sup>5)/2 <sup>=</sup> 0.9624 and *<sup>λ</sup>*<sup>2</sup> <sup>=</sup> ln(<sup>3</sup> <sup>−</sup> <sup>√</sup>5)/2 <sup>=</sup> <sup>−</sup>0.9624. This implies that the amount of information created in the forward process (*λ*1) is equal to the amount of

)] ≥ *D*[*P*out(*k*)||*P*in(*k*)]. Note that that the method correctly

Table 1. Values of the irreversibility measure associated to the degree distribution

the visibility graphs associated to series of 106 data generated from reversible and

*D*[*P*out(*k*)||*P*in(*k*)] and the degree-degree distribution *D*[*P*out(*k*, *k*�

irreversible processes. In every case chain rule is satisfied, since

*<sup>U</sup>*[0, 1] uncorrelated 3.88 · <sup>10</sup>−<sup>6</sup> 2.85 · <sup>10</sup>−<sup>4</sup> Ornstein-Uhlenbeck (*<sup>τ</sup>* <sup>=</sup> 1.0) 7.82 · <sup>10</sup>−<sup>6</sup> 1.52 · <sup>10</sup>−<sup>4</sup>

Visibility Algorithms: A Short Review 147

*Reversible Stochastic Processes*

Long-range correlated

*Dissipative Chaos*

*Conservative Chaos*

*D*[*P*out(*k*, *k*�

time irreversible.

)||*P*in(*k*, *k*�

and it is positive for the latter.

**3.5.4 Results for chaotic series**

)||*P*in(*k*, *k*�

)||*P*in(*k*, *k*�

)]

)] respectively, for

*V* for both measures, therefore the results produced by the method are qualitatively correct (see (Lacasa et al., 2011) for details). Interestingly enough, the tendency holds even for high values of the potential, where the statistics are poor and the KLD of sequences of symbols usually fail when estimating irreversibility (Roldan & Parrondo, 2010). However the values of the KLD obtained are far below the KLD per step between the forward and backward trajectories, which is equal to the dissipation as reported in (Roldan & Parrondo, 2010).

The degree distributions capture the irreversibility of the original series but it is difficult to establish a quantitative relationship between eq. (34) and the KLD between trajectories. The

Fig. 11. Irreversibility measures *D*[*P*out(*k*)||*P*in(*k*)] and *D*[*P*out(*k*, *k*� )||*P*in(*k*, *k*� )] in the flashing ratchet (*r* = 2, *V* = 2*kT*) as a function of *FL*/*kT*. Here, *F* is the applied force and *L* is the spatial period of the ratchet, which in this case is equal to 1. For each value of the force, we make use of a single stationary series of size *N* = 106 containing partial information (the state information is removed).

measure based on the degree-degree distribution *D*[*P*out(*k*, *k*� )||*P*in(*k*, *k*� )] takes into account more information of the visibility graph structure than the KLD using degree distributions, providing a closer bound to the physical dissipation as it is expected by the chain rule (Cover & Thomas, 2006), *D*[*P*out(*k*, *k*� )||*P*in(*k*, *k*� )] ≥ *D*[*P*out(*k*)||*P*in(*k*)]. The improvement is even qualitatively significant in some situations. For instance, when a force opposite to the net current on the system is present (Roldan & Parrondo, 2010), the current vanishes for a given value of the force usually termed as *stalling force*. When the force reaches this value, the system is still out of equilibrium (*V* > 0) and it is therefore time irreversible, but no current of particles is observed if we describe the dynamics of the ratchet with partial information given by the position *x*. *D*[*P*out(*k*)||*P*in(*k*)] tends to zero when the force approaches to the stalling value (see figure 11). Therefore, our measure of irreversibility (34) fails in this case, as do other KLD estimators based on local flows or currents (Roldan & Parrondo, 2010). However, *D*[*P*out(*k*, *k*� )||*P*in(*k*, *k*� )] captures the irreversibility of the time series, and yields a positive value at the stalling force(Roldan & Parrondo, 2011).

28 Will-be-set-by-IN-TECH

*V* for both measures, therefore the results produced by the method are qualitatively correct (see (Lacasa et al., 2011) for details). Interestingly enough, the tendency holds even for high values of the potential, where the statistics are poor and the KLD of sequences of symbols usually fail when estimating irreversibility (Roldan & Parrondo, 2010). However the values of the KLD obtained are far below the KLD per step between the forward and backward trajectories, which is equal to the dissipation as reported in (Roldan & Parrondo, 2010).

The degree distributions capture the irreversibility of the original series but it is difficult to establish a quantitative relationship between eq. (34) and the KLD between trajectories. The

> **Degree distribution Degree-degree distribution**

**F/kT** 0.01 0.02 0.03 0.04

more information of the visibility graph structure than the KLD using degree distributions, providing a closer bound to the physical dissipation as it is expected by the chain rule

even qualitatively significant in some situations. For instance, when a force opposite to the net current on the system is present (Roldan & Parrondo, 2010), the current vanishes for a given value of the force usually termed as *stalling force*. When the force reaches this value, the system is still out of equilibrium (*V* > 0) and it is therefore time irreversible, but no current of particles is observed if we describe the dynamics of the ratchet with partial information given by the position *x*. *D*[*P*out(*k*)||*P*in(*k*)] tends to zero when the force approaches to the stalling value (see figure 11). Therefore, our measure of irreversibility (34) fails in this case, as do other KLD estimators based on local flows or currents (Roldan & Parrondo, 2010). However,

)||*P*in(*k*, *k*�

ratchet (*r* = 2, *V* = 2*kT*) as a function of *FL*/*kT*. Here, *F* is the applied force and *L* is the spatial period of the ratchet, which in this case is equal to 1. For each value of the force, we make use of a single stationary series of size *N* = 106 containing partial information (the

**Stalling force**

)] captures the irreversibility of the time series, and yields a positive

)||*P*in(*k*, *k*�

)||*P*in(*k*, *k*�

)] ≥ *D*[*P*out(*k*)||*P*in(*k*)]. The improvement is

)] in the flashing

)] takes into account

10-7

state information is removed).

*D*[*P*out(*k*, *k*�

(Cover & Thomas, 2006), *D*[*P*out(*k*, *k*�

)||*P*in(*k*, *k*�

value at the stalling force(Roldan & Parrondo, 2011).

Fig. 11. Irreversibility measures *D*[*P*out(*k*)||*P*in(*k*)] and *D*[*P*out(*k*, *k*�

measure based on the degree-degree distribution *D*[*P*out(*k*, *k*�

10-6

10-5

10-4

**Dkl**

10-3

10-2


Table 1. Values of the irreversibility measure associated to the degree distribution *D*[*P*out(*k*)||*P*in(*k*)] and the degree-degree distribution *D*[*P*out(*k*, *k*� )||*P*in(*k*, *k*� )] respectively, for the visibility graphs associated to series of 106 data generated from reversible and irreversible processes. In every case chain rule is satisfied, since *D*[*P*out(*k*, *k*� )||*P*in(*k*, *k*� )] ≥ *D*[*P*out(*k*)||*P*in(*k*)]. Note that that the method correctly distinguishes between reversible and irreversible processes, as KLD vanishes for the former and it is positive for the latter.

#### **3.5.4 Results for chaotic series**

This method was applied to several chaotic series and found that it is able to distinguish between dissipative and conservative chaotic systems. Dissipative chaotic systems are those that do not preserve the volume of the phase space, and they produce irreversible time series. This is the case of chaotic maps in which entropy production via instabilities in the forward time direction is quantitatively different to the amount of past information lost. In other words, those whose positive Lyapunov exponents, which characterize chaos in the forward process, differ in magnitude with negative ones, which characterize chaos in the backward process (Kennel, 2004). Several chaotic maps have been analyzed and the degree of reversibility of their associated time series has been estimated using using KLD, showing that for dissipative chaotic series it is positive while it vanishes for an example of conservative chaos. A summary of results cann be checked in table 1. In every case, we find an asymptotic positive value, in agreement with the conjecture that dissipative chaos is indeed time irreversible.

Finally, we also consider the *Arnold cat map*: *xt*+<sup>1</sup> = *xt* + *yt* mod(1), *yt*+<sup>1</sup> = *xt* + 2*yt* mod(1). At odds with previous dissipative maps, this is an example of a *conservative* (measure-preserving) chaotic system with integer Kaplan-Yorke dimension (Sprott & Rowlands, 2001). The map has two Lyapunov exponents which coincide in magnitude *<sup>λ</sup>*<sup>1</sup> <sup>=</sup> ln(<sup>3</sup> <sup>+</sup> <sup>√</sup>5)/2 <sup>=</sup> 0.9624 and *<sup>λ</sup>*<sup>2</sup> <sup>=</sup> ln(<sup>3</sup> <sup>−</sup> <sup>√</sup>5)/2 <sup>=</sup> <sup>−</sup>0.9624. This implies that the amount of information created in the forward process (*λ*1) is equal to the amount of

method to extract information from complex signals. Moreover, the possibility of defining mesoscale measures, which are typically network-based (for instance, modularity, community structure, etc), could be of interest to analyze non-local / multiscale dynamics. The potentials of the method could then apply to study long standing problems in Physics and Society, such as turbulence, stock market dynamics, or physiological signals such as electro-encephalogram, electro-cardiograms, and so on. On this respect, the initial naive approaches in those directions (turbulence (Liu et al., 2009), financial series (Liu et al., 2009; Yang et al., 2009), cardiac series (Shao, 2010)) are nowadays inconclusive because the theory behind the method is not fully

Visibility Algorithms: A Short Review 149

D. Andrieux, P. Gaspard, S. Ciliberto, N. Garnier, S. Joubaud, and A. Petrosyan, Entropy

Boccaletti S, Latora V, Moreno Y, Chavez M, & Hwang DU (2006) Complex networks:

Buchner T. and Zebrowski J.J., Logistic map with a delayed feedback: Stability of a discrete

C. Cammarota and E. Rogora, Time reversal, symbolic series and irreversibility of human

Campanharo, Andriana S. L. O., Sirer, M. Irmak, Malmgren, R. Dean, Ramos, Fernando M.

Cencini M., Cecconi F., and Vulpiani A., *Chaos: From Simple Models to Complex Systems*, World

M. Costa, A.L. Goldberger, and C.-K. Peng, Broken Asymmetry of the Human Heartbeat: Loss of Time Irreversibility in Aging and Disease, *Phys. Rev. Lett.* 95, 198102 (2005). M.D. Costa, C.K. Peng and A.L. Goldberger, Multiscale Analysis of Heart Rate Dynamics:

Crutchfield JP, Farmer JD & Huberman BA (1982) Fluctuations and simple chaotic dynamics.

C.S. Daw, C.E.A. Finney, and M.B. Kennel, Symbolic approach for measuring temporal

C. Diks, J.C. van Houwelingen, F. Takens, and J. DeGoede, Reversibility as a criterion for

Donner, R. V., Zou, Y., Donges, J. F., Marwan, N. & Juergen Kurths (2010). Recurrence networks

Donner, R. V., Small, M., Donges, J. F., Marwan, N., Zou, Y., Xiang, R. & Juergen Kurths

*International Journal of Bifurcation and Chaos*, Vol. 21, No. 4, 1019–1046. P. Gaspard, Time-reversed dynamical entropy and irreversibility in markovian random


(2010). Recurrence-based time series analysis by means of complex network methods.

Entropy and Time Irreversibility Measures, *Cardiovasc Eng* 8, (2008) T.M. Cover and J.A. Thomas, *Elements of Information Theory* (Wiley, New Jersey, 2006).

discriminating time series, *Phys. Lett. A* 201 (1995), 221-228.

A.R. Goldenberger *et al.*, *Proc. Natl. Acad. Sci. USA* 99, 1 (2002), 2466-2472.

& Amaral, Luís A. Nunes (2011). Duality between Time Series and Networks. *PLoS*

Structure and dynamics. Phys. Rep. 424, 175.

time-delay control of chaos. *Phys. Rev. E* 63, 016210 (2000).

heartbeat *Chaos, Solitons and Fractals* 32 (2007) 1649-1654.

production and time asymmetry in nonequilibrium fluctuations, *Phys. Rev. Lett.* 98,

developed. Eventually.

150601 (2007).

*ONE*, Vol. 6, No. 8, e23378. A. Carbone, *Phys. Rev. E* 76, 056703 (2007).

Scientific (2010).

Phys. Rep. 92, 2.

033025.

'irreversibility', *Phys. Rev. E* 62, 2 (2000).

processes, *J. Stat. Phys.* 117 (2004). A.L. Goldberger *et al.*, *Circulation* 101, 23 (2000) 215-220.

**5. References**

information created in the backwards process (−*λ*2), therefore the process is time reversible. *D*[*P*out(*k*)||*P*in(*k*)] for a time series of this map asymptotically tends to zero with series size, and the same happens with the degree-degree distributions (see table 1). This correctly suggests that albeit chaotic, the map is statistically time reversible.

### **3.5.5 Robustness: Irreversible chaotic series polluted with noise**

Standard time series analysis methods evidence problems when noise is present in chaotic series. Even a small amount of noise can destroy the fractal structure of a chaotic attractor and mislead the calculation of chaos indicators such as the correlation dimension or the Lyapunov exponents (Kostelich & Schreiber, 1993). In order to check if our method is robust, we add an amount of white noise (measurement noise) to a signal extracted from a fully chaotic Logistic map (*μ* = 4.0). The results for the KLD of the signal polluted with noise is significantly greater than zero, as it exceeds the one associated to the noise in four orders of magnitude, even when the noise reaches the 100% of the signal amplitude (Lacasa et al., 2011). Therefore our method correctly predicts that the signal is irreversible even when adding a large amount of noise.

#### **4. Summary, perspectives and open problems**

In this chapter a review on the state of the art of visibility algorithms as a method to make time series analysis through network theory has been presented. We have reported the properties of natural and horizontal visibility algorithms, and have explored their ability in several problems such as the estimation of Hurst exponent in self-similar (fractal series), the discrimination between uncorrelated, correlated stochastic and chaotic processes, the problem of noise filtering, the problem of determining the amount of irreversibility (i.e. entropy production) of a system, or the generic study of nonlinear systems as they undergo a period-doubling route to chaos.

Before commenting on the plethora of applications and challenging open problems to be faced, a few words on how to be cautious and make good science should be stated. The simplicity and straightforwardness of a method can be tricky, since they could convey the wrong impression to directly produce results when applied to concrete problems. From a physical point of view, the practical interest of this method lies in its ability to reveal properties of the system under study, i.e. to reveal hidden structures in a given series. But this capacity is intimately linked to the strength and extent of the theory behind the method. That is why, before venturing to study complex systems in nature, a method should provide a sufficient theoretical support. In the case under study, it should be clearly stated what information and which properties we are mapping into what and how, before attempting to measure all kind of features in a visibility graph.

According to this, the first general open problem lies just there: to generate a mathematically sound, rigorous theory that explains and shows how time series/dynamical systems properties are mapped into the associated visibility graph. In this review we have outlined the first steps in this direction, but a broad and general theory is still to be completely developed. This theory should deal with questions such as (i) what concrete information are the algorithms mapping? and (ii) how they do so? Once we know this, we can understand what network features are behind multifractality, spatio-temporal chaos, intermittency, quasi-periodicity, and many other complex dynamical processes.

Only when these questions have been rigorously responded, this tool could be ready to be unambigously used by practitioners, since visibility algorithms will be a new and universal method to extract information from complex signals. Moreover, the possibility of defining mesoscale measures, which are typically network-based (for instance, modularity, community structure, etc), could be of interest to analyze non-local / multiscale dynamics. The potentials of the method could then apply to study long standing problems in Physics and Society, such as turbulence, stock market dynamics, or physiological signals such as electro-encephalogram, electro-cardiograms, and so on. On this respect, the initial naive approaches in those directions (turbulence (Liu et al., 2009), financial series (Liu et al., 2009; Yang et al., 2009), cardiac series (Shao, 2010)) are nowadays inconclusive because the theory behind the method is not fully developed. Eventually.

#### **5. References**

30 Will-be-set-by-IN-TECH

information created in the backwards process (−*λ*2), therefore the process is time reversible. *D*[*P*out(*k*)||*P*in(*k*)] for a time series of this map asymptotically tends to zero with series size, and the same happens with the degree-degree distributions (see table 1). This correctly

Standard time series analysis methods evidence problems when noise is present in chaotic series. Even a small amount of noise can destroy the fractal structure of a chaotic attractor and mislead the calculation of chaos indicators such as the correlation dimension or the Lyapunov exponents (Kostelich & Schreiber, 1993). In order to check if our method is robust, we add an amount of white noise (measurement noise) to a signal extracted from a fully chaotic Logistic map (*μ* = 4.0). The results for the KLD of the signal polluted with noise is significantly greater than zero, as it exceeds the one associated to the noise in four orders of magnitude, even when the noise reaches the 100% of the signal amplitude (Lacasa et al., 2011). Therefore our method correctly predicts that the signal is irreversible even when adding a large amount of noise.

In this chapter a review on the state of the art of visibility algorithms as a method to make time series analysis through network theory has been presented. We have reported the properties of natural and horizontal visibility algorithms, and have explored their ability in several problems such as the estimation of Hurst exponent in self-similar (fractal series), the discrimination between uncorrelated, correlated stochastic and chaotic processes, the problem of noise filtering, the problem of determining the amount of irreversibility (i.e. entropy production) of a system, or the generic study of nonlinear systems as they undergo a

Before commenting on the plethora of applications and challenging open problems to be faced, a few words on how to be cautious and make good science should be stated. The simplicity and straightforwardness of a method can be tricky, since they could convey the wrong impression to directly produce results when applied to concrete problems. From a physical point of view, the practical interest of this method lies in its ability to reveal properties of the system under study, i.e. to reveal hidden structures in a given series. But this capacity is intimately linked to the strength and extent of the theory behind the method. That is why, before venturing to study complex systems in nature, a method should provide a sufficient theoretical support. In the case under study, it should be clearly stated what information and which properties we are mapping into what and how, before attempting to measure all kind

According to this, the first general open problem lies just there: to generate a mathematically sound, rigorous theory that explains and shows how time series/dynamical systems properties are mapped into the associated visibility graph. In this review we have outlined the first steps in this direction, but a broad and general theory is still to be completely developed. This theory should deal with questions such as (i) what concrete information are the algorithms mapping? and (ii) how they do so? Once we know this, we can understand what network features are behind multifractality, spatio-temporal chaos, intermittency,

Only when these questions have been rigorously responded, this tool could be ready to be unambigously used by practitioners, since visibility algorithms will be a new and universal

quasi-periodicity, and many other complex dynamical processes.

suggests that albeit chaotic, the map is statistically time reversible.

**3.5.5 Robustness: Irreversible chaotic series polluted with noise**

**4. Summary, perspectives and open problems**

period-doubling route to chaos.

of features in a visibility graph.


Parthasarathy S, Mehta S., and Srinivasan S. (2006). Robust Periodicity Detection Algorithms,

Visibility Algorithms: A Short Review 151

Peitgen H.O., Jurgens H., and Saupe D. *Chaos and Fractals: New Frontiers of Science*,

Radicchi F, Ramasco JJ, Barrat A, & Fortunato S (2008) Complex Networks Renormalization:

E. Roldan and JMR Parrondo, Estimating dissipation from single stationary trajectories, *Phys.*

E. Roldan and JMR Parrondo, Dissipation and relative entropy in discrete random stationary

Schroeder M (1991) Fractals, chaos, power laws: minutes from an infinite paradise. Freeman

Schuster, H.G. (1988) Deterministic Chaos. An Introduction. 2nd revised ed, Weinheim: VCH. Shao, Z-G. (2010). Network analysis of human heartbeat dynamics. *Applied Physics Letters*, Vol.

A. H. Shirazi, G. Reza Jafari, J. Davoudi, J. Peinke, M. Reza Rahimi Tabar & Muhammad

*Statistical Mechanics: Theory and Experiment*, Vol. 2009, No. 07, P07046.

Song C, Havlin S, & Makse HA (2005) Self-similarity of complex networks. Nature 433, 392. Song C, Havlin S, & Makse HA (2006) Origins of fractality in the growth of complex networks.

Sprott J.C., and Rowlands G., Improved correlation dimension calculation, *International*

Strozzi, F., Zaldívar, J. M., Poljansek, K., Bono, F. & Gutiérrez, E. (2009). From complex

Van Kampen N.G., *Stochastic processes in Physics and Chemistry*, Elsevier, The Netherlands

Q. Wang, S. R. Kulkarni and S. Verdú, Divergence estimation of continuous distributions based on data-dependent partitions, *IEEE Transactions on Information Theory*, 51, 9 (2005).

Xu, X., Zhang, J. & Small, M. (2008). Superfamily phenomena and motifs of networks induced

A.C. Yang, S.S. Hseu, H.W. Yien, A.L. Goldberger, and C.-K. Peng, Linguistic analysis of the

humean heartbeat using frequency and rank order statistics, *Phys. Rev. Lett.* 90, 10

G. Weiss, Time-reversibility of linear stochastic processes, *J. Appl. Prob.* 12, 831-836 (1975).

networks to time series analysis and viceversa: Application to metabolic networks.

Sprott J.C., High-dimensional dynamics in the delayed Hénon map. *EJTP* 12 (2006) 19-35. Strogatz, S.H. (1994) Nonlinear dynamics and chaos. Perseus Books Publishing, LLC.

Sahimi (2011).Mapping stochastic processes onto complex networks. *Journal of*

E. Ravasz, A.L. Somera, D.A. Mongru, Z.N. Oltvai, A.-L. Barabasi, *Science* 297, 1551 (2002). Robledo, A. (1999) Renormalization group, entropy optimization, and nonextensivity at

knowledge management.

Springer-Verlag, New York.(1992). B. Pilgram and D.T. Kaplan, *Physica D* 114 (1998) 108-112. B. Podobnik, H.E. Stanley, *Phys. Rev.Lett.* 100, 084102 (2008).

criticality. Phys. Rev. Lett. 83, 12.

*Rev. Lett.* 105, 15 (2010).

states, *in preparation*.

and Co., New York.

96 073703 (2010).

Nat. Phys. 2.

(2007).

(2003).

R. Weron, *Physica A* 312 (2002) 285-299.

Flows and Fixed Points. Phys. Rev. Lett. 101, 148701.

I. Simonsen, A. Hansen and O.M. Nes, *Phys. Rev.E* 58, 3 (1998).

*Journal of Bifurcation and Chaos* 11, 7 (2001) 1865-1880.

Strogatz, S.H. (2001) Exploring complex networks. Nature 410:268-276.

*JRC Scientific and Technical Reports*, EUR 23947, JRC52892.

from time series. *PNAS*, Vol. 105, No. 50, 19601–19605.

Proceedings of the 15th ACM international conference on Information and


32 Will-be-set-by-IN-TECH

Gutin, G., Mansour, T. & Severini, S. (2011). A characterization of horizontal visibility graphs

Haraguchi, Y., Shimada, Y., Ikeguchi, T. & Aihara, K. (2009). Transformation from complex

J. W. Kantelhardt, Fractal and multifractal time series, in: *Springer encyclopaedia of complexity*

Kants H. and Schreiber T. *Nonlinear Time Series Analysis*, (Camdrige University Press, 2003). T. Karagiannis, M. Molle and M. Faloutsos, *IEEE internet computing* 8, 5 (2004) 57-64.

R. Kawai, JMR Parrondo and C Van den Broeck, Dissipation: the phase-space perspective,

MB Kennel, Testing time symmetry in time series using data compression techniques, *Phys.*

Lacasa L., Luque B., Ballesteros F., Luque J. & Nuño J.C. (2008). From time series to complex networks: the visibility graph. *Proc. Natl. Acad. Sci. USA* 105, 13, 4972-4975. Lacasa L., Luque B., Nuño J.C. & Luque J. (2009). The Visibility Graph: a new method for

Lacasa, L. & Toral, R. (2010). Description of stochastic and chaotic series using visibility

Lacasa, L., Núñez, A. M., Roldan, E., Parrondo, J.M.R., & Luque, B. (2011).Time series

Liu, C., Zhou, W-T. & Yuan, W-K. (2009). Statistical properties of visibility graph of energy

Luque B., Lacasa L., Balleteros F., & Luque J. (2009). Horizontal visibility graphs: exact results

B. Luque, L. Lacasa, F.J. Ballesteros & A. Robledo (2011). Feigenbaum graphs: a complex

B.B Mandelbrot & J.W Van Ness (1968). Fractional Brownian Motions, Fractional Noises and

Marvel, S.A., Mirollo, R.E. & Strogatz, S. H. (2009) Identical phase oscillators with global sinusoidal coupling evolve by Möbius group action. Chaos 19, 043104.

Núñez, A. M., Lacasa, L., Valero, E., Gómez, J.P. & Luque, B. (2010). Detecting series

Newmann MEJ & Watts DJ (1999) Renormalization group analysis of the small-world network

M.E.J. Newmann, The structure and function of complex networks, *SIAM Review* 45, 167-256

JMR Parrondo, C Van den Broeck and R Kawai, Entropy production and the arrow of time,

periodicity with horizontal visibility graphs. *International Journal of Bifurcation and*

irreversibility: a visibility graph approach. *arXiv:1108.1691* 2011.

for random time series. *Phys Rev E* 80, 046103 (2009).

network perspective of chaos *PLoS ONE* 6, 9 (2011).

J. Mielniczuk and P. Wojdyllo, *Comput. Statist. Data Anal.* 51 (2007) 4510-4525.

Applications. *SIAM Review* 10, 4 (1968) 422-437.

estimating the Hurst exponent of fractional Brownian motion. *EPL* 86, 30001 (2009).

dissipation rates in three-dimensional fully developed turbulence. *Physics Letters A*,

networks to time series using classical multidimensional scaling, *Proceedings of the 19th International Conference on Artificial Neural Networks*, Heidelberg, Berlin, ICANN

and combinatorics on words. *PHYSICA A*, Vol. 390 (12), 2421–2428.

*and system science* (in press, 2008) preprint arXiv:0804.0747.

2009, Springer-Verlag.

J.M. Hausdorff *et al.*, *J. App. Physiol.* 80 (1996) 1448-1457.

*Phys. Rev. Lett.* 98, 080602 (2007).

E.J. Kostelich and T. Schreiber, *Phys. Rev. E* 48, 1752 (1993).

graphs. *Phys. Rev. E* 82, 036120 (2010).

*Rev. E* 69, 056208 (2004).

Vol. 389 (13), 7.

*Chaos*, in press, 2010.

(2003).

model. Phys. Lett. A 263:341-346.

*New. J. Phys.* 11 (2009) 073008.


**1. Introduction**

The relationships between individuals in various systems are always described by networks. Recently, the quick development of computer science makes it possible to study the structures of those super-complex networks in many areas including sociology (Xuan et al., 2009; Xuan, Du & Wu, 2010a), biology (Barabási & Oltvai, 2004; Eguíluz et al., 2005), physics (Dorogovtsev et al., 2008; Rozenfeld et al., 2010), etc., by the tools in graph theory. Interestingly, it was revealed that many of these complex networks in various areas present several similar topological properties, such as small-world (Watts & Strogatz, 1998), scale-free (Barabási & Albert, 1999), self-similarity (Motter et al., 2003), symmetry (Xiao et al., 2008), etc. In order to explain these properties, a large number of models have been proposed (Barabási & Albert, 1999; Li & Chen, 2003; Mossa et al., 2002; Watts & Strogatz, 1998; Xiao et al., 2008; Xuan, Du, Wu & Chen, 2010; Xuan et al., 2006; 2007; 2008). However, most of current researches still focus on understanding the relationships between individuals in a

**A Review on Node-Matching Between Networks** 

Qi Xuan1, Li Yu1, Fang Du2 and Tie-Jun Wu3

*1Zhejiang University of Technology* 

*2Johns Hopkins University 3Zhejiang University* 

> *1,3China 2USA*

**7**

One of such inter-system relationships may be caused by the fact that an individual may be active in different systems with different identities (Xuan & Wu, 2009), and this type inter-system relationships may further lead to the similar structures of different complex networks. For instance, an ancient protein may evolve into various homologous proteins in different species, a concept may be expressed by different words in different languages, and a person may be active in different communication networks with different identities represented by telephone numbers (Onnela et al., 2007) and email addresses (Newman et al., 2002), etc. Therefore, revealing the different identities of an individual in several different systems has practical significance in many areas (Xuan, Du & Wu, 2010b), e.g., revealing homogeneous proteins, auto-translating languages, inter-network filtrating information, and so on. Through describing complex systems by networks, these different tasks can be transferred to a common node-matching problem between different complex networks, and

However, since many real-world complex networks are always highly symmetric (Xiao et al., 2008), i.e., there are always large numbers of nodes sharing the same neighbors in a network, it seems quite difficult to distinguish them in one network only by comparing their topological properties (Costa et al., 2007), such as degrees, clustering coefficient and

single system, while the inter-system relationships are always ignored.

thus can be solved in the same framework.


## **A Review on Node-Matching Between Networks**

Qi Xuan1, Li Yu1, Fang Du2 and Tie-Jun Wu3

*1Zhejiang University of Technology 2Johns Hopkins University 3Zhejiang University 1,3China 2USA* 

### **1. Introduction**

34 Will-be-set-by-IN-TECH

152 New Frontiers in Graph Theory

Yang, Y., Jianbo, W., Yang, H. & Mang, J. (2009). Visibility graph approach to exchange rate

Zhang, J. & Small, M. (2006).Complex Network from Pseudoperiodic Time Series: Topology

series. *PHYSICA A*, Vol. 388 (20), 4431–4437.

versus Dynamics. *PRL*, Vol. 96, 238701.

The relationships between individuals in various systems are always described by networks. Recently, the quick development of computer science makes it possible to study the structures of those super-complex networks in many areas including sociology (Xuan et al., 2009; Xuan, Du & Wu, 2010a), biology (Barabási & Oltvai, 2004; Eguíluz et al., 2005), physics (Dorogovtsev et al., 2008; Rozenfeld et al., 2010), etc., by the tools in graph theory. Interestingly, it was revealed that many of these complex networks in various areas present several similar topological properties, such as small-world (Watts & Strogatz, 1998), scale-free (Barabási & Albert, 1999), self-similarity (Motter et al., 2003), symmetry (Xiao et al., 2008), etc. In order to explain these properties, a large number of models have been proposed (Barabási & Albert, 1999; Li & Chen, 2003; Mossa et al., 2002; Watts & Strogatz, 1998; Xiao et al., 2008; Xuan, Du, Wu & Chen, 2010; Xuan et al., 2006; 2007; 2008). However, most of current researches still focus on understanding the relationships between individuals in a single system, while the inter-system relationships are always ignored.

One of such inter-system relationships may be caused by the fact that an individual may be active in different systems with different identities (Xuan & Wu, 2009), and this type inter-system relationships may further lead to the similar structures of different complex networks. For instance, an ancient protein may evolve into various homologous proteins in different species, a concept may be expressed by different words in different languages, and a person may be active in different communication networks with different identities represented by telephone numbers (Onnela et al., 2007) and email addresses (Newman et al., 2002), etc. Therefore, revealing the different identities of an individual in several different systems has practical significance in many areas (Xuan, Du & Wu, 2010b), e.g., revealing homogeneous proteins, auto-translating languages, inter-network filtrating information, and so on. Through describing complex systems by networks, these different tasks can be transferred to a common node-matching problem between different complex networks, and thus can be solved in the same framework.

However, since many real-world complex networks are always highly symmetric (Xiao et al., 2008), i.e., there are always large numbers of nodes sharing the same neighbors in a network, it seems quite difficult to distinguish them in one network only by comparing their topological properties (Costa et al., 2007), such as degrees, clustering coefficient and

**2.2 Co-evolution network models**

matched nodes *v*<sup>1</sup>

• **Interaction:** if *v*<sup>1</sup>

*v*1

G

degree.

(or *η*2).

In order to better understand the interactions between different systems and test the subsequent node matching algorithms, two co-evolution network models need to be first introduced, where the parameters are set to be *N*<sup>1</sup> = *N*<sup>2</sup> = *M* = *N* for convenience. Generally, there are two ways to create a pair of interactional networks, as is shown in Fig. 1 (a) and (b), respectively, both of which may work in reality. Inspired by the evolution of organisms, the first way is that the pair of interactional networks *G*<sup>1</sup> and *G*<sup>2</sup> are evolved from a common original network; in other words, they are derived from the same network (obtained by some model) through random rewiring processes. And the other way is that the pair of interactional networks are derived from two independent networks by a random interacting

A Review on Node-Matching Between Networks 155

• **Networks initialization:** Two networks *G*<sup>1</sup> and *G*<sup>2</sup> with *N* nodes respectively are created by the same rule, where all the nodes are randomly matched, i.e., *N* pairs of randomly

Here, the second way will be adopted to create pairs of tested artificial interactional networks.

G1

G2

lines. (b) The pair of interactional networks *G*<sup>1</sup> and *G*<sup>2</sup> are derived from a pair of

Fig. 1. Two ways to create a pair of interactional networks (Xuan & Wu, 2009). (a) The pair of interactional networks *G*<sup>1</sup> and *G*<sup>2</sup> are derived from the same original network through random rewiring. The corresponding nodes are matched and connected by brown dashed

independent networks by random interacting, i.e., two non-linked nodes in the network *G*<sup>1</sup> are connected by a green line with probability *η*<sup>2</sup> if their corresponding matched nodes in *G*<sup>2</sup> were linked while two non-linked nodes in *G*<sup>2</sup> are connected by a red line with probability *η*<sup>1</sup> if their corresponding matched nodes in *G*<sup>1</sup> were linked. *η*<sup>1</sup> and *η*<sup>2</sup> are named as interactional

In reality, when two strangers chat with each other for some reason, e.g., demand of business, common interests, curiosity, warmheart, etc., they may be friends one day in the future if they enjoy with each other, in other words, the chat network may influence the evolution of the friendship network. On the other hand, there is also a natural trend that one prefers to chat with his friends or acquaintances rather than strangers, i.e., the friendship network determines

*<sup>j</sup>* ) is connected in *<sup>G</sup>*<sup>1</sup> (or *<sup>G</sup>*2) while *<sup>v</sup>*<sup>2</sup>

*<sup>i</sup>* ) and *<sup>v</sup>*<sup>2</sup>

*<sup>j</sup>* (or *<sup>v</sup>*<sup>1</sup>

Interact

G2 G2

(b) Interacting model

G1 G1

*<sup>i</sup>* (or *<sup>v</sup>*<sup>1</sup>

*<sup>i</sup>* (or *<sup>v</sup>*<sup>1</sup>

*<sup>i</sup>* ) and *<sup>v</sup>*<sup>2</sup>

*<sup>j</sup>* ) with probability *η*<sup>1</sup>

*<sup>j</sup>* (or

process composed of the following two steps (Xuan & Wu, 2009):

*<sup>i</sup>* are provided.

*<sup>j</sup>* (or *<sup>v</sup>*<sup>2</sup>

*<sup>i</sup>* ) and *<sup>v</sup>*<sup>1</sup>

*<sup>j</sup>* ) is not connected in *<sup>G</sup>*<sup>2</sup> (or *<sup>G</sup>*1), then connect *<sup>v</sup>*<sup>2</sup>

*<sup>i</sup>* <sup>↔</sup> *<sup>v</sup>*<sup>2</sup>

Rewire

(a) Rewiring model

**2.3 Real-world interactional networks**

*<sup>i</sup>* (or *<sup>v</sup>*<sup>2</sup>

so on, not to mention matching them between different complex networks. Fortunately, the researchers of different areas can use their own dedicated methods, such as chemical (Cootes et al., 2007; Kelley et al., 2003), semantic (Giunchiglia & Shvaiko, 2004) and others, to reveal a part of matched nodes, although their high economical or computational cost makes it almost impossible to examine and compare each pair of nodes between different large-scale networks. Such extra information are certainly very useful in solving the node-matching problem between complex networks. Based on these findings, we first introduced two kinds of co-evolving models (Xuan, Du & Wu, 2010b; Xuan & Wu, 2009) to create interacting networks, which can help better understand the co-evolution of different systems. Such co-evolution results in some structural similarity between complex networks, which made it possible to design node-matching algorithms by adopting the structural information. With the reason that the selection of the pairwise matched nodes revealed a priori by the dedicated methods is somewhat controllable, we then proposed several revealed matched nodes selecting strategies to improve the performances of node-matching algorithms. Finally, based on the similarities between nodes of different networks calculated by their connections to several pairs of preliminarily revealed matched nodes, we provided three different node-matching algorithms, including the classical optimal matching algorithm (Kuhn, 2005; Munkres, 1957; Xuan & Wu, 2009) in graph theory, one-to-one and one-to-many iterative node-matching algorithms (Du et al., 2010; Xuan, Du & Wu, 2010b) to solve artificial and real-world node-matching problems.

This chapter will review the overall process that we defined and solved the node-matching problems between different networks. In the next section, the node-matching problem is defined, and two co-evolving network models as well as a real-world node-matching data set are introduced. In Section 3, several revealed matched nodes selecting strategies are provided in order to improve the performances of the subsequent node-matching algorithms. Then in Section 4, the similarities between nodes of different networks are defined and several node-matching algorithms are introduced and the experiments are implemented. Finally, the chapter is concluded in Section 5.

#### **2. Definitions and data sets**

#### **2.1 Definitions**

The node matching problem between two different networks are described as follows (Xuan, Du & Wu, 2010b; Xuan & Wu, 2009): the two networks under study are denoted by *G*<sup>1</sup> = (*V*1, *E*1) and *G*<sup>2</sup> = (*V*2, *E*2), where *Vi* = *v<sup>i</sup>* <sup>1</sup>,..., *<sup>v</sup><sup>i</sup> <sup>M</sup>* and *Ei* represent the node set and the link set of network *i*(*i* = 1, 2), respectively. Assume that there are *M*(*M* min{*N*1, *N*2}) pairs of matched nodes *v*<sup>1</sup> *<sup>j</sup>* <sup>↔</sup> *<sup>v</sup>*<sup>2</sup> *<sup>j</sup>* defined by {*v<sup>i</sup>* <sup>1</sup>,..., *<sup>v</sup><sup>i</sup> <sup>M</sup>*} ⊆ *Vi*(*i* = 1, 2), while *Pr*(*Pr* < *M*) pairs of them have been already revealed, named as revealed matched nodes and denoted by {*v<sup>i</sup>* <sup>1</sup>,..., *<sup>v</sup><sup>i</sup> Pr* } ⊂ *Vi*(*i* = 1, 2). Then the problem is: can we design a method to find the other *M* − *Pr* pairs of matched nodes in these two distinct networks by using the structural information of *G*<sup>1</sup> and *G*<sup>2</sup> and the revealed matched nodes? If we can design such a method and finally *Pc*(*Pc M* − *Pr*) pairs of them are revealed correctly, the matching precision *φ* then can be calculated by

$$
\phi = \frac{P\_c}{M - P\_r}.\tag{1}
$$

### **2.2 Co-evolution network models**

2 Will-be-set-by-IN-TECH

so on, not to mention matching them between different complex networks. Fortunately, the researchers of different areas can use their own dedicated methods, such as chemical (Cootes et al., 2007; Kelley et al., 2003), semantic (Giunchiglia & Shvaiko, 2004) and others, to reveal a part of matched nodes, although their high economical or computational cost makes it almost impossible to examine and compare each pair of nodes between different large-scale networks. Such extra information are certainly very useful in solving the node-matching problem between complex networks. Based on these findings, we first introduced two kinds of co-evolving models (Xuan, Du & Wu, 2010b; Xuan & Wu, 2009) to create interacting networks, which can help better understand the co-evolution of different systems. Such co-evolution results in some structural similarity between complex networks, which made it possible to design node-matching algorithms by adopting the structural information. With the reason that the selection of the pairwise matched nodes revealed a priori by the dedicated methods is somewhat controllable, we then proposed several revealed matched nodes selecting strategies to improve the performances of node-matching algorithms. Finally, based on the similarities between nodes of different networks calculated by their connections to several pairs of preliminarily revealed matched nodes, we provided three different node-matching algorithms, including the classical optimal matching algorithm (Kuhn, 2005; Munkres, 1957; Xuan & Wu, 2009) in graph theory, one-to-one and one-to-many iterative node-matching algorithms (Du et al., 2010; Xuan, Du & Wu, 2010b) to solve artificial and

This chapter will review the overall process that we defined and solved the node-matching problems between different networks. In the next section, the node-matching problem is defined, and two co-evolving network models as well as a real-world node-matching data set are introduced. In Section 3, several revealed matched nodes selecting strategies are provided in order to improve the performances of the subsequent node-matching algorithms. Then in Section 4, the similarities between nodes of different networks are defined and several node-matching algorithms are introduced and the experiments are implemented. Finally, the

The node matching problem between two different networks are described as follows (Xuan, Du & Wu, 2010b; Xuan & Wu, 2009): the two networks under study are denoted by

the link set of network *i*(*i* = 1, 2), respectively. Assume that there are *M*(*M* min{*N*1, *N*2})

pairs of them have been already revealed, named as revealed matched nodes and denoted

other *M* − *Pr* pairs of matched nodes in these two distinct networks by using the structural information of *G*<sup>1</sup> and *G*<sup>2</sup> and the revealed matched nodes? If we can design such a method and finally *Pc*(*Pc M* − *Pr*) pairs of them are revealed correctly, the matching precision *φ*

> *<sup>φ</sup>* <sup>=</sup> *Pc M* − *Pr*

*<sup>j</sup>* defined by {*v<sup>i</sup>*

<sup>1</sup>,..., *<sup>v</sup><sup>i</sup>*

} ⊂ *Vi*(*i* = 1, 2). Then the problem is: can we design a method to find the

<sup>1</sup>,..., *<sup>v</sup><sup>i</sup>*

*<sup>M</sup>* and *Ei* represent the node set and

*<sup>M</sup>*} ⊆ *Vi*(*i* = 1, 2), while *Pr*(*Pr* < *M*)

. (1)

real-world node-matching problems.

chapter is concluded in Section 5.

*G*<sup>1</sup> = (*V*1, *E*1) and *G*<sup>2</sup> = (*V*2, *E*2), where *Vi* = *v<sup>i</sup>*

*<sup>j</sup>* <sup>↔</sup> *<sup>v</sup>*<sup>2</sup>

**2. Definitions and data sets**

pairs of matched nodes *v*<sup>1</sup>

then can be calculated by

<sup>1</sup>,..., *<sup>v</sup><sup>i</sup> Pr*

**2.1 Definitions**

by {*v<sup>i</sup>*

In order to better understand the interactions between different systems and test the subsequent node matching algorithms, two co-evolution network models need to be first introduced, where the parameters are set to be *N*<sup>1</sup> = *N*<sup>2</sup> = *M* = *N* for convenience. Generally, there are two ways to create a pair of interactional networks, as is shown in Fig. 1 (a) and (b), respectively, both of which may work in reality. Inspired by the evolution of organisms, the first way is that the pair of interactional networks *G*<sup>1</sup> and *G*<sup>2</sup> are evolved from a common original network; in other words, they are derived from the same network (obtained by some model) through random rewiring processes. And the other way is that the pair of interactional networks are derived from two independent networks by a random interacting process composed of the following two steps (Xuan & Wu, 2009):


Here, the second way will be adopted to create pairs of tested artificial interactional networks.

Fig. 1. Two ways to create a pair of interactional networks (Xuan & Wu, 2009). (a) The pair of interactional networks *G*<sup>1</sup> and *G*<sup>2</sup> are derived from the same original network through random rewiring. The corresponding nodes are matched and connected by brown dashed lines. (b) The pair of interactional networks *G*<sup>1</sup> and *G*<sup>2</sup> are derived from a pair of independent networks by random interacting, i.e., two non-linked nodes in the network *G*<sup>1</sup> are connected by a green line with probability *η*<sup>2</sup> if their corresponding matched nodes in *G*<sup>2</sup> were linked while two non-linked nodes in *G*<sup>2</sup> are connected by a red line with probability *η*<sup>1</sup> if their corresponding matched nodes in *G*<sup>1</sup> were linked. *η*<sup>1</sup> and *η*<sup>2</sup> are named as interactional degree.

#### **2.3 Real-world interactional networks**

In reality, when two strangers chat with each other for some reason, e.g., demand of business, common interests, curiosity, warmheart, etc., they may be friends one day in the future if they enjoy with each other, in other words, the chat network may influence the evolution of the friendship network. On the other hand, there is also a natural trend that one prefers to chat with his friends or acquaintances rather than strangers, i.e., the friendship network determines

the average shortest path length of the network will increase quickly (Albert et al., 2000; Crucitti et al., 2004; Motter & Lai, 2002), as a result, the communication efficiency of the network will be largely weakened. For the node matching problem introduced here, we proved that (Xuan & Wu, 2009) such hub nodes can provide more structural information than those normal nodes and thus are more suitable to be revealed matched nodes. Based on the

A Review on Node-Matching Between Networks 157

*<sup>i</sup>* and that of *<sup>v</sup>*<sup>2</sup>

*<sup>i</sup>* <sup>+</sup> *<sup>d</sup>*<sup>2</sup>

*<sup>j</sup>* <sup>+</sup> *<sup>d</sup>*<sup>1</sup>

And the number of pairs of other matched nodes around the matched nodes *v*<sup>1</sup>

� *d*1 *<sup>i</sup>* <sup>≈</sup> *<sup>d</sup>*<sup>1</sup>

�*d*2 *<sup>j</sup>* <sup>≈</sup> *<sup>d</sup>*<sup>2</sup>

*Fij* <sup>≈</sup> *<sup>η</sup>*1*d*<sup>1</sup>

�*d*1

*<sup>j</sup>* , if they are randomly selected as a pair of matched nodes, then, averagely speaking,

*<sup>j</sup>* (<sup>1</sup> <sup>−</sup> *<sup>d</sup>*<sup>1</sup> *i*

*<sup>i</sup>* (<sup>1</sup> <sup>−</sup> *<sup>d</sup>*<sup>2</sup> *j*

> *<sup>i</sup>* (<sup>1</sup> <sup>−</sup> *<sup>d</sup>*<sup>2</sup> *j <sup>N</sup>* )*η*<sup>1</sup> <sup>+</sup>

Since real-world complex networks always have a very huge number of nodes and a relatively small average degree, Eq. (2)-Eq. (4) can be further simplified to Eq. (5)-Eq. (7) respectively,

*<sup>i</sup>* <sup>+</sup> *<sup>η</sup>*2*d*<sup>2</sup>

*<sup>j</sup>* <sup>+</sup> *<sup>η</sup>*1*d*<sup>1</sup>

*<sup>i</sup>* <sup>+</sup> *<sup>η</sup>*2*d*<sup>2</sup>

�*d*2

*<sup>j</sup>* , *η*1*η*<sup>2</sup> < 1;

*<sup>j</sup>* , *<sup>η</sup>*1*η*<sup>2</sup> <sup>=</sup> 1. (8)

*<sup>i</sup>* <sup>+</sup> *<sup>η</sup>*<sup>2</sup> (1−*η*1) 1−*η*1*η*<sup>2</sup>

With the reason that the matched nodes are supposed unknown beforehand in reality, it seems unpractical to sort all the pairs of matched nodes by *Fij* in descending order in order to improve the final matching precision *φ*, although larger *Fij* corresponds to more pairs of

Eq. (8) suggests a substitute way, i.e., selecting nodes with larger degree in the reference network, revealing their matched nodes in the other network by some dedicated methods,

*<sup>j</sup>* /*N* other pairs of matched nodes around them before the interaction. And

*<sup>i</sup>* by *<sup>d</sup>*<sup>1</sup>

*<sup>j</sup>* can be calculated by Eq. (2) and Eq. (3)

*<sup>N</sup>* )*η*2, (2)

*<sup>N</sup>* )*η*1. (3)

*<sup>j</sup>* , (5)

*<sup>i</sup>* , (6)

*<sup>j</sup>* . (7)

*<sup>i</sup>* and *<sup>v</sup>*<sup>2</sup>

*<sup>j</sup>* . Fortunately,

*d*1 *i d*2 *j*

*<sup>i</sup>* and the degree of

*<sup>i</sup>* and *<sup>v</sup>*<sup>2</sup>

*<sup>N</sup>* . (4)

*<sup>j</sup>* after

interactional model introduced in Fig. 1 (b), denoting the degree of *v*<sup>1</sup>

� *d*1 *<sup>i</sup>* <sup>=</sup> *<sup>d</sup>*<sup>1</sup>

�*d*2 *<sup>j</sup>* <sup>=</sup> *<sup>d</sup>*<sup>2</sup>

*<sup>j</sup>* (<sup>1</sup> <sup>−</sup> *<sup>d</sup>*<sup>1</sup> *i <sup>N</sup>* )*η*<sup>2</sup> <sup>+</sup> *<sup>d</sup>*<sup>1</sup>

*v*2 *<sup>j</sup>* by *<sup>d</sup>*<sup>2</sup>

there are *d*<sup>1</sup>

respectively,

*i d*2

Then we get Eq. (8) as

after the interaction, the degree of *v*<sup>1</sup>

the interaction can be calculated by Eq. (4),

*Fij* = *d*<sup>2</sup>

*Fij* ≈

⎧ ⎪⎨

*η*<sup>1</sup> (1−*η*2) 1−*η*1*η*<sup>2</sup>

⎪⎩

1 2 �*d*1 *<sup>i</sup>* <sup>+</sup> <sup>1</sup> 2 �*d*2

unrevealed matched nodes around a pair of revealed matched nodes *v*<sup>1</sup>

then these pairs of matched nodes are set to the revealed matched nodes.

the chat network to a certain extent. Therefore, chat network and friend network can be considered as a pair of real-world interactional networks, which can be figured on a quite large scale by advanced communication technologies and thus used to test the subsequent node matching algorithms.

As an example, we collected the communication records and the contact lists in a week from the database of *Alibaba trademanager* (an instant messenger (IM) mainly used for electronic commerce). We mainly focus on 14,800 employees of the *Alibaba* company and construct the chat network *G*<sup>1</sup> and the friendship network *G*<sup>2</sup> among them by these records. The two networks were then preprocessed by the following two steps (Du et al., 2010; Xuan, Du & Wu, 2010b):


After the preprocessing, both the networks *G*<sup>1</sup> and *G*<sup>2</sup> have 9859 nodes and are one-to-one matched, i.e., each node in *G*<sup>1</sup> has a matched node in *G*<sup>2</sup> and vice versa. Moreover, if there is a link between two nodes in *G*1, we can find a link between their matched nodes in *G*<sup>2</sup> with probability 80.8%, and the probability is 18.4% from *G*<sup>2</sup> to *G*1. Their basic topological properties, such as the number of nodes *N*, the average degree �*k*�, the average clustering coefficient �*C*�, and the average shortest path length �*L*� are presented in Table 1.


Table 1. The basic properties, i.e., the number of vertices *N*, the average degree �*k*�, the average clustering coefficient �*C*�, and the average shortest path length �*L*� for the chat network and the friendship network derived from *Alibaba trademanager* database (Du et al., 2010; Xuan, Du & Wu, 2010b).

#### **3. Revealed matched nodes selecting strategies**

Since the interactional networks under study are usually not completely identical (Xuan & Wu, 2009), it seems unpractical to match nodes between different networks just by their local structural properties. As a result, a few pairs of matched nodes would be better revealed as references before the node-matching algorithms are implemented.

Recent studies on real-world networks reveals that many of them have similar heterogeneous structure characterized by a power-law degree distribution (Barabási, 2009; Barrat et al., 2004; Eguíluz et al., 2005; Xuan et al., 2009). This property, first modeled by Barabási and Albert (BA) (Barabási & Albert, 1999), indicates that the connection of a heterogeneous network highly depends on hub nodes with quite large degrees, i.e., once these hub nodes are attacked, 4 Will-be-set-by-IN-TECH

the chat network to a certain extent. Therefore, chat network and friend network can be considered as a pair of real-world interactional networks, which can be figured on a quite large scale by advanced communication technologies and thus used to test the subsequent

As an example, we collected the communication records and the contact lists in a week from the database of *Alibaba trademanager* (an instant messenger (IM) mainly used for electronic commerce). We mainly focus on 14,800 employees of the *Alibaba* company and construct the chat network *G*<sup>1</sup> and the friendship network *G*<sup>2</sup> among them by these records. The two networks were then preprocessed by the following two steps (Du et al., 2010; Xuan, Du & Wu,

• **Calculate the intersection:** A pair of matched nodes in the networks correspond to the

<sup>1</sup> = (*Vc*, *<sup>E</sup><sup>c</sup>*

<sup>1</sup> and *<sup>G</sup><sup>c</sup>*

After the preprocessing, both the networks *G*<sup>1</sup> and *G*<sup>2</sup> have 9859 nodes and are one-to-one matched, i.e., each node in *G*<sup>1</sup> has a matched node in *G*<sup>2</sup> and vice versa. Moreover, if there is a link between two nodes in *G*1, we can find a link between their matched nodes in *G*<sup>2</sup> with probability 80.8%, and the probability is 18.4% from *G*<sup>2</sup> to *G*1. Their basic topological properties, such as the number of nodes *N*, the average degree �*k*�, the average clustering

> Networks *N* �*k*� �*C*� �*L*� Chat 9859 39.4 0.218 3.37 Friendship 9859 172 0.313 2.55

Since the interactional networks under study are usually not completely identical (Xuan & Wu, 2009), it seems unpractical to match nodes between different networks just by their local structural properties. As a result, a few pairs of matched nodes would be better

Recent studies on real-world networks reveals that many of them have similar heterogeneous structure characterized by a power-law degree distribution (Barabási, 2009; Barrat et al., 2004; Eguíluz et al., 2005; Xuan et al., 2009). This property, first modeled by Barabási and Albert (BA) (Barabási & Albert, 1999), indicates that the connection of a heterogeneous network highly depends on hub nodes with quite large degrees, i.e., once these hub nodes are attacked,

revealed as references before the node-matching algorithms are implemented.

Table 1. The basic properties, i.e., the number of vertices *N*, the average degree �*k*�, the average clustering coefficient �*C*�, and the average shortest path length �*L*� for the chat network and the friendship network derived from *Alibaba trademanager* database (Du et al.,

<sup>1</sup> = (*V<sup>g</sup>*

<sup>2</sup> , denoted by *<sup>V</sup><sup>c</sup>* <sup>=</sup>

<sup>2</sup>, and terminate

<sup>2</sup>) where *<sup>E</sup><sup>c</sup>*

*<sup>i</sup>* represent the node set and the link set of the GC *<sup>G</sup><sup>g</sup>*

<sup>1</sup>) and *<sup>G</sup><sup>c</sup>*

<sup>1</sup> and *<sup>G</sup><sup>g</sup>*

<sup>1</sup> and *<sup>G</sup>*<sup>2</sup> <sup>=</sup> *<sup>G</sup><sup>c</sup>*

<sup>2</sup> are connected, otherwise, turn to the first

<sup>2</sup> = (*Vc*, *<sup>E</sup><sup>c</sup>*

<sup>1</sup> , *<sup>E</sup><sup>g</sup>* 1 )

*<sup>i</sup>* <sup>⊆</sup> *<sup>E</sup><sup>g</sup> i*

*i*

• **Extract the giant cluster (GC):** Extract the GCs of *<sup>G</sup>*<sup>1</sup> and *<sup>G</sup>*2, denoted by *<sup>G</sup><sup>g</sup>*

coefficient �*C*�, and the average shortest path length �*L*� are presented in Table 1.

*<sup>i</sup>* and *<sup>E</sup><sup>g</sup>*

same *Alibaba* user. Select those users appearing in both the *G<sup>g</sup>*

represents the set of links between nodes in *Vc*. Set *G*<sup>1</sup> = *G<sup>c</sup>*

node matching algorithms.

<sup>2</sup> = (*V<sup>g</sup>*

2010; Xuan, Du & Wu, 2010b).

<sup>2</sup> , *<sup>E</sup><sup>g</sup>*

<sup>2</sup> ) where *<sup>V</sup><sup>g</sup>*

<sup>2</sup> , and get the sub-networks *<sup>G</sup><sup>c</sup>*

**3. Revealed matched nodes selecting strategies**

the preprocessing if both the networks *G<sup>c</sup>*

2010b):

and *G<sup>g</sup>*

*Vg* <sup>1</sup> <sup>∩</sup> *<sup>V</sup><sup>g</sup>*

step.

respectively.

the average shortest path length of the network will increase quickly (Albert et al., 2000; Crucitti et al., 2004; Motter & Lai, 2002), as a result, the communication efficiency of the network will be largely weakened. For the node matching problem introduced here, we proved that (Xuan & Wu, 2009) such hub nodes can provide more structural information than those normal nodes and thus are more suitable to be revealed matched nodes. Based on the interactional model introduced in Fig. 1 (b), denoting the degree of *v*<sup>1</sup> *<sup>i</sup>* by *<sup>d</sup>*<sup>1</sup> *<sup>i</sup>* and the degree of *v*2 *<sup>j</sup>* by *<sup>d</sup>*<sup>2</sup> *<sup>j</sup>* , if they are randomly selected as a pair of matched nodes, then, averagely speaking, there are *d*<sup>1</sup> *i d*2 *<sup>j</sup>* /*N* other pairs of matched nodes around them before the interaction. And after the interaction, the degree of *v*<sup>1</sup> *<sup>i</sup>* and that of *<sup>v</sup>*<sup>2</sup> *<sup>j</sup>* can be calculated by Eq. (2) and Eq. (3) respectively,

$$
\tilde{d}\_i^1 = d\_i^1 + d\_j^2 (1 - \frac{d\_i^1}{N}) \eta\_{2'} \tag{2}
$$

$$
\tilde{d}\_{\dot{j}}^2 = d\_{\dot{j}}^2 + d\_i^1 (1 - \frac{d\_{\dot{j}}^2}{N}) \eta\_1. \tag{3}
$$

And the number of pairs of other matched nodes around the matched nodes *v*<sup>1</sup> *<sup>i</sup>* and *<sup>v</sup>*<sup>2</sup> *<sup>j</sup>* after the interaction can be calculated by Eq. (4),

$$F\_{ij} = d\_j^2 (1 - \frac{d\_i^1}{N}) \eta\_2 + d\_i^1 (1 - \frac{d\_j^2}{N}) \eta\_1 + \frac{d\_i^1 d\_j^2}{N}. \tag{4}$$

Since real-world complex networks always have a very huge number of nodes and a relatively small average degree, Eq. (2)-Eq. (4) can be further simplified to Eq. (5)-Eq. (7) respectively,

$$
\bar{d}\_{\dot{i}}^{\dot{1}} \approx d\_{\dot{i}}^{1} + \eta\_{2} d\_{\dot{j}}^{2},\tag{5}
$$

$$
\tilde{d}\_{\dot{j}}^2 \approx d\_{\dot{j}}^2 + \eta\_1 d\_{\dot{i}}^1 \,\tag{6}
$$

$$F\_{\rm ij} \approx \eta\_1 d\_i^1 + \eta\_2 d\_j^2. \tag{7}$$

Then we get Eq. (8) as

$$F\_{ij} \approx \begin{cases} \frac{\eta\_1 (1 - \eta\_2)}{1 - \eta\_1 \eta\_2} \widetilde{d}\_{\widetilde{i}}^1 + \frac{\eta\_2 (1 - \eta\_1)}{1 - \eta\_1 \eta\_2} \widetilde{d}\_{\widetilde{j}}^2, \eta\_1 \eta\_2 < 1; \\\frac{1}{2} \widetilde{d}\_{\widetilde{i}}^1 + \frac{1}{2} \widetilde{d}\_{\widetilde{j}}^2, & \eta\_1 \eta\_2 = 1. \end{cases} \tag{8}$$

With the reason that the matched nodes are supposed unknown beforehand in reality, it seems unpractical to sort all the pairs of matched nodes by *Fij* in descending order in order to improve the final matching precision *φ*, although larger *Fij* corresponds to more pairs of unrevealed matched nodes around a pair of revealed matched nodes *v*<sup>1</sup> *<sup>i</sup>* and *<sup>v</sup>*<sup>2</sup> *<sup>j</sup>* . Fortunately, Eq. (8) suggests a substitute way, i.e., selecting nodes with larger degree in the reference network, revealing their matched nodes in the other network by some dedicated methods, then these pairs of matched nodes are set to the revealed matched nodes.

**3.2 Centralized large degree priority strategies**

**4. Node-matching algorithms**

their local structural information.

**4.1 Similarities between nodes of interactional networks**

The above LDP strategies are designed for optimal node-matching algorithms, while for iterative node-matching algorithms, these strategies need to be further modified. Because in this case, the revealed pairwise matched nodes would better be centralized to a local world in the networks so as to improve the matching precision in the first round, then the second round and so on. Correspondingly, we propose two centralized large degree priority

A Review on Node-Matching Between Networks 159

• **Centralized Large Degree Priority in** *G*<sup>1</sup> **(CLDP1)**. *G*<sup>1</sup> is selected as the reference network, where a set *R*<sup>1</sup> (|*R*1| = *Pr*) of nodes are picked up according to their degrees by following process. The node of the largest degree in *G*<sup>1</sup> is firstly selected as the only member of *R*1. Denoting the neighbor set of *R*<sup>1</sup> as *U*<sup>1</sup> (*U*<sup>1</sup> ∩ *R*<sup>1</sup> = ∅), i.e., each node in *U*<sup>1</sup> (but none of the nodes in *V*<sup>1</sup> \ (*U*<sup>1</sup> ∪ *R*1)) is at least connected to one node in *R*1, at each time the nodes in *V*<sup>1</sup> \ *R*<sup>1</sup> are sorted by the number of neighbors belonging to *U*<sup>1</sup> in descending order and the top one is selected to join in *R*1. Update *R*<sup>1</sup> and *U*<sup>1</sup> and repeat the selecting process until the set *R*<sup>1</sup> contains exactly *Pr* nodes. Then the set *R*<sup>1</sup> of nodes in *G*<sup>1</sup> as well as their

• **Centralized Large Degree Priority in** *G*<sup>2</sup> **(CLDP2)**. *G*<sup>2</sup> is selected as the reference network, where a set *R*<sup>2</sup> (|*R*2| = *Pr*) of nodes are picked up according to their degrees by following process. The node of the largest degree in *G*<sup>2</sup> is firstly selected as the only member of *R*2. Denoting the neighbor set of *R*<sup>2</sup> as *U*<sup>2</sup> (*U*<sup>2</sup> ∩ *R*<sup>2</sup> = ∅), i.e., each node in *U*<sup>2</sup> (but none of the nodes in *V*<sup>2</sup> \ (*U*<sup>2</sup> ∪ *R*2)) is at least connected to one node in *R*2, at each time the nodes in *V*<sup>2</sup> \ *R*<sup>2</sup> are sorted by the number of neighbors belonging to *U*<sup>2</sup> in descending order and the top one is selected to join in *R*2. Update *R*<sup>2</sup> and *U*<sup>2</sup> and repeat the selecting process until the set *R*<sup>2</sup> contains exactly *Pr* nodes. Then the set *R*<sup>2</sup> of nodes in *G*<sup>2</sup> as well as their

Name Definition

*<sup>i</sup>* , *<sup>v</sup>*<sup>2</sup> *j*)

*<sup>i</sup>* ,*v*<sup>2</sup> *j*)

*i*)×*nL*(*v*<sup>2</sup> *j*)

> *j*)−*nM*(*v*<sup>1</sup> *<sup>i</sup>* ,*v*<sup>2</sup> *j*)

*<sup>i</sup>* ,*v*<sup>2</sup> *j*)

> *<sup>i</sup>* ,*v*<sup>2</sup> *j*)

*<sup>i</sup>* )+*nL*(*v*<sup>2</sup> *j*)

> *<sup>i</sup>* ,*v*<sup>2</sup> *j*)

> *<sup>i</sup>* ,*v*<sup>2</sup> *j*)

*<sup>i</sup>* ),*nL*(*v*<sup>2</sup> *<sup>j</sup>*)}

*<sup>i</sup>* ),*nL*(*v*<sup>2</sup> *j*)}

 *nL*(*v*<sup>1</sup>

*<sup>i</sup>* )+*nL*(*v*<sup>2</sup>

*nL*(*v*<sup>1</sup>

min{*nL*(*v*<sup>1</sup>

max{*nL*(*v*<sup>1</sup>

*nL*(*v*<sup>1</sup>

strategies specially for iterative node-matching algorithms (Xuan, Du & Wu, 2010b):

matched nodes in *G*<sup>2</sup> are selected as the revealed pairwise matched nodes.

matched nodes in *G*<sup>1</sup> are selected as the revealed pairwise matched nodes.

Common Neighbors (Newman, 2001) *Sij* = *nM*(*v*<sup>1</sup>

Salton Index (Salton & McGill, 1983) *Sij* <sup>=</sup> *nM*(*v*<sup>1</sup>

Jaccard Index (Jaccard, 1901) *Sij* <sup>=</sup> *nM*(*v*<sup>1</sup>

Sørensen Index (Sørensen, 1948) *Sij* <sup>=</sup> <sup>2</sup>*nM*(*v*<sup>1</sup>

Table 2. Several definitions of similarities between nodes of interactional networks based on

Hub Promoted Index (Ravasz et al., 2002) *Sij* <sup>=</sup> *nM*(*v*<sup>1</sup>

Hub Depressed Index (Lü & Zhou, 2011) *Sij* <sup>=</sup> *nM*(*v*<sup>1</sup>

#### **3.1 Large degree priority strategies**

Based on this principle, we proposed large degree priority strategies (Xuan & Wu, 2009) for the optimal node matching algorithm, as described by


But which of them can bring higher matching precision? Can we answer this question just by comparing the structural properties (in particular, the degree sequences) of the two interactional networks? Without loss of generality, for a pair of interactional networks, suppose *<sup>G</sup>*<sup>1</sup> has larger average degree than *<sup>G</sup>*2, i.e., � *<sup>d</sup>*1� > � *<sup>d</sup>*2�. Multiply Eq. (5) by *<sup>η</sup>*<sup>1</sup> and minus Eq. (6), we get

$$
\langle \eta\_1 \langle \bar{d}^1 \rangle - \langle \bar{d}^2 \rangle = (\eta\_1 \eta\_2 - 1) \langle d^2 \rangle. \tag{9}
$$

Since *η*1*η*<sup>2</sup> 1, the value of *η*<sup>1</sup> can be roughly estimated by

$$
\eta\_1 \lessapprox \frac{\langle \vec{d}^2 \rangle}{\langle \vec{d}^1 \rangle} \,' \tag{10}
$$

while the value of *η*<sup>2</sup> cannot be estimated just by comparing the structural properties of the interactional networks. Suppose that the nodes are sorted by their degrees in descending order, denote by *R<sup>i</sup>* (*i* = 1, 2) the set of top *Pr* nodes in *Gi*, then from Eq. (8), we can see that more structural information may be provided when *G*<sup>2</sup> is selected as the reference network, if it is satisfied that

$$\eta\_1 \sum\_{\mathbf{v}\_i^1 \in \mathbb{R}^1} \tilde{d}\_i^1 + (1 - \eta\_1) P\_r \langle \tilde{d}^2 \rangle < \eta\_1 P\_r \langle \tilde{d}^1 \rangle + (1 - \eta\_1) \sum\_{\mathbf{v}\_i^2 \in \mathbb{R}^2} \tilde{d}\_{i'}^2 \tag{11}$$

which is equivalent to

$$\eta\_1(\sum\_{v\_i^1 \in \mathcal{R}^1} \tilde{d}\_i^1 - P\_r \langle \tilde{d}^1 \rangle) + (1 - \eta\_1)(P\_r \langle \tilde{d}^2 \rangle - \sum\_{v\_i^2 \in \mathcal{R}^2} \tilde{d}\_i^2) < 0. \tag{12}$$

Because it is always satisfied that

$$\sum\_{\boldsymbol{\upsilon}\_{i}^{1} \in \mathcal{R}^{1}} \tilde{d}\_{i}^{1} \geqslant P\_{r} \langle \tilde{d}^{1} \rangle, \sum\_{\boldsymbol{\upsilon}\_{i}^{2} \in \mathcal{R}^{2}} \tilde{d}\_{i}^{2} \geqslant P\_{r} \langle \tilde{d}^{2} \rangle,\tag{13}$$

Eq. (12) must be satisfied if we have

$$\frac{\langle \langle \vec{d}^2 \rangle}{\langle \langle \vec{d}^1 \rangle} \sum\_{v\_i^1 \in \mathbb{R}^1} \tilde{d}\_i^1 - P\_r \langle \tilde{d}^1 \rangle) + (1 - \frac{\langle \vec{d}^2 \rangle}{\langle \tilde{d}^1 \rangle}) (P\_r \langle \tilde{d}^2 \rangle - \sum\_{v\_i^2 \in \mathbb{R}^2} \tilde{d}\_i^2) < 0. \tag{14}$$

where all the parameters are known when two interactional networks are provided. That is, only when Eq. (14) is satisfied, we can say that LDP2 may be superior to LDP1.

6 Will-be-set-by-IN-TECH

Based on this principle, we proposed large degree priority strategies (Xuan & Wu, 2009) for

• **Large Degree Priority in** *G*<sup>1</sup> **(LDP1)**: *G*<sup>1</sup> is selected as the reference network, where the nodes are sorted by their degrees in descending order, and the top *Pr* of them as well as

• **Large Degree Priority in** *G*<sup>2</sup> **(LDP2)**: *G*<sup>2</sup> is selected as the reference network, where the nodes are sorted by their degree in descending order, and the top *Pr* of them as well as

But which of them can bring higher matching precision? Can we answer this question just by comparing the structural properties (in particular, the degree sequences) of the two interactional networks? Without loss of generality, for a pair of interactional networks, suppose *<sup>G</sup>*<sup>1</sup> has larger average degree than *<sup>G</sup>*2, i.e., � *<sup>d</sup>*1� > � *<sup>d</sup>*2�. Multiply Eq. (5) by *<sup>η</sup>*<sup>1</sup> and

> *<sup>η</sup>*<sup>1</sup> � *<sup>d</sup>*2� � *<sup>d</sup>*1�

while the value of *η*<sup>2</sup> cannot be estimated just by comparing the structural properties of the interactional networks. Suppose that the nodes are sorted by their degrees in descending

more structural information may be provided when *G*<sup>2</sup> is selected as the reference network, if

*<sup>i</sup>* − *Pr*� *<sup>d</sup>*1�)+(<sup>1</sup> − *<sup>η</sup>*1)(*Pr*� *<sup>d</sup>*2� − ∑

*v*2 *<sup>i</sup>* ∈*R*<sup>2</sup> *d*2

� *<sup>d</sup>*1�

where all the parameters are known when two interactional networks are provided. That is,

*<sup>i</sup> Pr*� *<sup>d</sup>*1�, ∑

*<sup>i</sup>* <sup>−</sup> *Pr*� *<sup>d</sup>*1�)+(<sup>1</sup> <sup>−</sup> � *<sup>d</sup>*2�

only when Eq. (14) is satisfied, we can say that LDP2 may be superior to LDP1.

*<sup>i</sup>* + (<sup>1</sup> − *<sup>η</sup>*1)*Pr*� *<sup>d</sup>*2� < *<sup>η</sup>*1*Pr*� *<sup>d</sup>*1� + (<sup>1</sup> − *<sup>η</sup>*1) ∑

*<sup>η</sup>*1� *<sup>d</sup>*1�−� *<sup>d</sup>*2� = (*η*1*η*<sup>2</sup> <sup>−</sup> <sup>1</sup>)�*d*2�. (9)

(*i* = 1, 2) the set of top *Pr* nodes in *Gi*, then from Eq. (8), we can see that

, (10)

*v*2 *<sup>i</sup>* ∈*R*<sup>2</sup> *d*2

*v*2 *<sup>i</sup>* ∈*R*<sup>2</sup> *d*2

)(*Pr*� *<sup>d</sup>*2� − ∑

*v*2 *<sup>i</sup>* ∈*R*<sup>2</sup> *d*2 *<sup>i</sup>* , (11)

*<sup>i</sup>* ) < 0. (12)

*<sup>i</sup>* ) < 0. (14)

*<sup>i</sup> Pr*� *<sup>d</sup>*2�, (13)

their matched nodes in *G*<sup>2</sup> are selected as the revealed matched nodes.

their matched nodes in *G*<sup>1</sup> are selected as the revealed matched nodes.

**3.1 Large degree priority strategies**

minus Eq. (6), we get

order, denote by *R<sup>i</sup>*

which is equivalent to

*η*<sup>1</sup> ∑ *v*1 *<sup>i</sup>* ∈*R*<sup>1</sup> *d*1

> *η*1( ∑ *v*1 *<sup>i</sup>* ∈*R*<sup>1</sup> *d*1

> > ∑ *v*1 *<sup>i</sup>* ∈*R*<sup>1</sup> *d*1

Because it is always satisfied that

Eq. (12) must be satisfied if we have

� *<sup>d</sup>*2� � *<sup>d</sup>*1�

( ∑ *v*1 *<sup>i</sup>* ∈*R*<sup>1</sup> *d*1

it is satisfied that

the optimal node matching algorithm, as described by

Since *η*1*η*<sup>2</sup> 1, the value of *η*<sup>1</sup> can be roughly estimated by

#### **3.2 Centralized large degree priority strategies**

The above LDP strategies are designed for optimal node-matching algorithms, while for iterative node-matching algorithms, these strategies need to be further modified. Because in this case, the revealed pairwise matched nodes would better be centralized to a local world in the networks so as to improve the matching precision in the first round, then the second round and so on. Correspondingly, we propose two centralized large degree priority strategies specially for iterative node-matching algorithms (Xuan, Du & Wu, 2010b):


### **4. Node-matching algorithms**

#### **4.1 Similarities between nodes of interactional networks**


Table 2. Several definitions of similarities between nodes of interactional networks based on their local structural information.

0 0.2 0.4 0.6 0.8 1

γ

A Review on Node-Matching Between Networks 161

Fig. 2. The matching precision *φ* as the function of the sample ratio *γ* by adopting the two revealed matched nodes selection strategies, i.e., LDP1 and LDP2, for scale-free networks created by the BA model with *N* = 100 and �*k*� = 8 and different interactional degrees *η*<sup>1</sup> = 0.9 and *η*<sup>2</sup> = 0.1 (Xuan & Wu, 2009). For each *γ* and each selection strategy, the experiment is implemented on 100 different pairs of scale-free networks, then the average

As we can see in Fig. 2, the optimal node-matching algorithm fails to achieve acceptable results when there are only a relatively small number of pairwise matched nodes revealed beforehand, e.g., in order to achieve a matching precision of 80%, we have to reveal as many as 60% correspondences between nodes of the two networks in advance, which, as well as its long running time, hinders its efficient application in node-matching between real-world networks of quite large size. Based on the CDLP revealed matched nodes selecting strategies and Jaccard similarities between nodes of different networks, the iterative node-matching

• **Node matching.** At each time, a pair of unmatched nodes belonging to different networks with the largest similarity are selected as a pair of matched nodes. Then this pair of matched nodes are considered as a pair of newly revealed matched nodes, then recalculate

• **Termination.** The iterative process is terminated when all of the nodes in the interactional

The time complexity of the above node-matching algorithm mainly depends on the recalculation of the similarities. Generally, once a pair of nodes from different networks are matched at (*<sup>τ</sup>* <sup>−</sup> <sup>1</sup>)th round, we need to recalculated the similarities of about *<sup>k</sup>*<sup>1</sup>

pairs of nodes mutually connected to that pair of matched nodes at *τ*th round, where *k<sup>i</sup>*

(*i* = 1, 2) represents the degree of the matched node in *Gi* at (*τ* − 1)th round. Provided *N*<sup>1</sup> = *N*<sup>2</sup> = *M* = *N*, the running time of the algorithm, denoted by Γ, can be calculated

> *N* ∑ *τ*=1 *k*1 *τk*2

Γ ∼ *E*(

*τk*2 *τ*

*<sup>τ</sup>*). (15)

*τ*

algorithm is simply composed of the following two steps (Xuan, Du & Wu, 2010b):

the similarities between the remaining nodes, and so forth.

−0.2

0

matching precision as well as the error bar is recorded.

**4.3 Iterative node-matching algorithm**

networks have been matched.

by Eq. (15) statistically,

0.2 0.4 0.6 0.8

φ

1

LDP1 LDP2

1.2

The similarity between two nodes belonging to different networks can be measured by the number of pairs of revealed matched nodes around them, e.g., the number of common friends they contact with in different communication networks, where a common friend is denoted by a pair of revealed matched nodes in corresponding communication networks. Denote by *nL*(*v*<sup>1</sup> *<sup>i</sup>* ) and *nL*(*v*<sup>2</sup> *<sup>j</sup>* ) the numbers of links connected to the node *<sup>v</sup>*<sup>1</sup> *<sup>i</sup>* and *<sup>v</sup>*<sup>2</sup> *<sup>j</sup>* in the networks *G*<sup>1</sup> and *G*2, respectively, and by *nM*(*v*<sup>1</sup> *<sup>i</sup>* , *<sup>v</sup>*<sup>2</sup> *<sup>j</sup>* ) the number of pairs of revealed matched nodes (*v*<sup>1</sup> *<sup>k</sup>* , *<sup>v</sup>*<sup>2</sup> *<sup>k</sup>* ) where *<sup>v</sup>*<sup>1</sup> *<sup>i</sup>* and *<sup>v</sup>*<sup>2</sup> *<sup>j</sup>* are mutually connected, i.e., *<sup>v</sup>*<sup>1</sup> *<sup>i</sup>* is connected to *<sup>v</sup>*<sup>1</sup> *<sup>k</sup>* and *<sup>v</sup>*<sup>2</sup> *<sup>j</sup>* is connected to *v*<sup>2</sup> *<sup>k</sup>* , in the corresponding networks. Then the similarity between *<sup>v</sup>*<sup>1</sup> *<sup>i</sup>* and *<sup>v</sup>*<sup>2</sup> *<sup>j</sup>* can be calculated by a number of methods (Jaccard, 1901; Lü & Zhou, 2011; Newman, 2001; Ravasz et al., 2002; Salton & McGill, 1983; Sørensen, 1948), as presented in Table. 2. Here, we adopt Jaccard Index to calculate the similarities between nodes of interactional networks.

#### **4.2 Optimal node-matching algorithm**

When revealed pairwise matched nodes are selected by LDP strategies, the similarity of each pair of the remaining nodes from different interactional networks can be calculated by Jaccard Index. Then, reviewing the definitions in Section 2.1, the node-matching problem between *G*<sup>1</sup> and *G*<sup>2</sup> can be transferred to a maximum matching problem for the bipartite graph *Gb* = (*U*1, *<sup>U</sup>*2, *<sup>W</sup>*) where *Ui* <sup>=</sup> {*v<sup>i</sup> Pr*+1, *<sup>v</sup><sup>i</sup> Pr*+2,..., *<sup>v</sup><sup>i</sup> <sup>N</sup>*} (*i* = 1, 2), and *W* denotes the set of links weighted by the similarities between these two groups of nodes. Without loss of generality, under the assumption *N*<sup>1</sup> *N*2, the task is to find a set of nonadjacent weighted links {*w*1, *<sup>w</sup>*2,..., *wN*1−*Pr*} to maximize the sum of their weights <sup>∑</sup>*N*1−*Pr <sup>i</sup>*=<sup>1</sup> *si*, which can be solved by the classical KM algorithm (Kuhn, 2005; Munkres, 1957). Note that, although the KM algorithm was developed for the case *N*<sup>1</sup> = *N*2, it could be also feasible in the case *N*<sup>1</sup> < *N*<sup>2</sup> through factitiously adding *N*<sup>2</sup> − *N*<sup>1</sup> isolated nodes in *G*1. For this reason we supposed *N*<sup>1</sup> = *N*<sup>2</sup> = *N* for simplicity.

Since the KM algorithm has relatively high complexity *O*(*N*3), the sizes of the test networks cannot be very large. Here the two interactional networks *G*<sup>1</sup> and *G*<sup>2</sup> are both created by the BA model with *N* = 100 nodes and average degree �*k*� = 8. Then they interact with each other with different interactional degrees *η*<sup>1</sup> = 0.9 and *η*<sup>2</sup> = 0.1 by the model shown in Fig. 1 (b). Denote the sample ratio by *γ* = *Pr*/*N*, the matching results are shown in Fig. 2, where we can see that, in most cases, LDP1 is prior to LDP2. This result is reasonable because when *η*<sup>1</sup> � *η*2, Eq. (8) suggests that larger *Fij* can be expected when select those nodes with large degrees in *G*<sup>1</sup> and their correspondences in *G*<sup>2</sup> as the revealed matched nodes. Note that, in this experiment, we set *M* = *N* for simplicity, that is, every node in one network has its correspondence in the other network. In reality, *M* may be smaller than *N*, i.e., some individuals may be active in only one of the interactional networks. In this case, we need further select *M* − *Pr* pairs of matched nodes from *N* − *Pr* pairs of matched nodes obtained by the node-matching algorithm. If the value of *M* is known a priori, we can simply sort *N* − *Pr* pairs of matched nodes by their attached similarities, then select the top *M* − *Pr* pairs with larger similarities as the final pairs of matched nodes. However, if *M* is unknown, we have to set a threshold *θ* ∈ [0, 1) beforehand, and those pairs of matched nodes with similarities larger than *θ* then are selected as the final pairs of matched nodes, which will not be further discussed here. That is, in the following studies, we always set *M* = *N*<sup>1</sup> = *N*<sup>2</sup> = *N* for simplicity.

8 Will-be-set-by-IN-TECH

The similarity between two nodes belonging to different networks can be measured by the number of pairs of revealed matched nodes around them, e.g., the number of common friends they contact with in different communication networks, where a common friend is denoted by a pair of revealed matched nodes in corresponding communication networks. Denote by

by a number of methods (Jaccard, 1901; Lü & Zhou, 2011; Newman, 2001; Ravasz et al., 2002; Salton & McGill, 1983; Sørensen, 1948), as presented in Table. 2. Here, we adopt Jaccard Index

When revealed pairwise matched nodes are selected by LDP strategies, the similarity of each pair of the remaining nodes from different interactional networks can be calculated by Jaccard Index. Then, reviewing the definitions in Section 2.1, the node-matching problem between *G*<sup>1</sup> and *G*<sup>2</sup> can be transferred to a maximum matching problem for the bipartite

*Pr*+1, *<sup>v</sup><sup>i</sup>*

links {*w*1, *<sup>w</sup>*2,..., *wN*1−*Pr*} to maximize the sum of their weights <sup>∑</sup>*N*1−*Pr*

set of links weighted by the similarities between these two groups of nodes. Without loss of generality, under the assumption *N*<sup>1</sup> *N*2, the task is to find a set of nonadjacent weighted

solved by the classical KM algorithm (Kuhn, 2005; Munkres, 1957). Note that, although the KM algorithm was developed for the case *N*<sup>1</sup> = *N*2, it could be also feasible in the case *N*<sup>1</sup> < *N*<sup>2</sup> through factitiously adding *N*<sup>2</sup> − *N*<sup>1</sup> isolated nodes in *G*1. For this reason we

Since the KM algorithm has relatively high complexity *O*(*N*3), the sizes of the test networks cannot be very large. Here the two interactional networks *G*<sup>1</sup> and *G*<sup>2</sup> are both created by the BA model with *N* = 100 nodes and average degree �*k*� = 8. Then they interact with each other with different interactional degrees *η*<sup>1</sup> = 0.9 and *η*<sup>2</sup> = 0.1 by the model shown in Fig. 1 (b). Denote the sample ratio by *γ* = *Pr*/*N*, the matching results are shown in Fig. 2, where we can see that, in most cases, LDP1 is prior to LDP2. This result is reasonable because when *η*<sup>1</sup> � *η*2, Eq. (8) suggests that larger *Fij* can be expected when select those nodes with large degrees in *G*<sup>1</sup> and their correspondences in *G*<sup>2</sup> as the revealed matched nodes. Note that, in this experiment, we set *M* = *N* for simplicity, that is, every node in one network has its correspondence in the other network. In reality, *M* may be smaller than *N*, i.e., some individuals may be active in only one of the interactional networks. In this case, we need further select *M* − *Pr* pairs of matched nodes from *N* − *Pr* pairs of matched nodes obtained by the node-matching algorithm. If the value of *M* is known a priori, we can simply sort *N* − *Pr* pairs of matched nodes by their attached similarities, then select the top *M* − *Pr* pairs with larger similarities as the final pairs of matched nodes. However, if *M* is unknown, we have to set a threshold *θ* ∈ [0, 1) beforehand, and those pairs of matched nodes with similarities larger than *θ* then are selected as the final pairs of matched nodes, which will not be further discussed here. That is, in the following studies, we always set *M* = *N*<sup>1</sup> = *N*<sup>2</sup> = *N* for

*Pr*+2,..., *<sup>v</sup><sup>i</sup>*

*<sup>i</sup>* and *<sup>v</sup>*<sup>2</sup>

*<sup>i</sup>* and *<sup>v</sup>*<sup>2</sup>

*<sup>k</sup>* and *<sup>v</sup>*<sup>2</sup>

*<sup>N</sup>*} (*i* = 1, 2), and *W* denotes the

*<sup>i</sup>*=<sup>1</sup> *si*, which can be

*<sup>j</sup>* ) the number of pairs of revealed matched nodes

*<sup>i</sup>* is connected to *<sup>v</sup>*<sup>1</sup>

*<sup>j</sup>* in the networks

*<sup>j</sup>* can be calculated

*<sup>j</sup>* is connected

*<sup>j</sup>* ) the numbers of links connected to the node *<sup>v</sup>*<sup>1</sup>

*<sup>i</sup>* , *<sup>v</sup>*<sup>2</sup>

*<sup>j</sup>* are mutually connected, i.e., *<sup>v</sup>*<sup>1</sup>

*<sup>k</sup>* , in the corresponding networks. Then the similarity between *<sup>v</sup>*<sup>1</sup>

to calculate the similarities between nodes of interactional networks.

*nL*(*v*<sup>1</sup>

(*v*<sup>1</sup> *<sup>k</sup>* , *<sup>v</sup>*<sup>2</sup>

to *v*<sup>2</sup>

simplicity.

*<sup>i</sup>* ) and *nL*(*v*<sup>2</sup>

*<sup>k</sup>* ) where *<sup>v</sup>*<sup>1</sup>

*G*<sup>1</sup> and *G*2, respectively, and by *nM*(*v*<sup>1</sup>

*<sup>i</sup>* and *<sup>v</sup>*<sup>2</sup>

**4.2 Optimal node-matching algorithm**

graph *Gb* = (*U*1, *<sup>U</sup>*2, *<sup>W</sup>*) where *Ui* <sup>=</sup> {*v<sup>i</sup>*

supposed *N*<sup>1</sup> = *N*<sup>2</sup> = *N* for simplicity.

Fig. 2. The matching precision *φ* as the function of the sample ratio *γ* by adopting the two revealed matched nodes selection strategies, i.e., LDP1 and LDP2, for scale-free networks created by the BA model with *N* = 100 and �*k*� = 8 and different interactional degrees *η*<sup>1</sup> = 0.9 and *η*<sup>2</sup> = 0.1 (Xuan & Wu, 2009). For each *γ* and each selection strategy, the experiment is implemented on 100 different pairs of scale-free networks, then the average matching precision as well as the error bar is recorded.

#### **4.3 Iterative node-matching algorithm**

As we can see in Fig. 2, the optimal node-matching algorithm fails to achieve acceptable results when there are only a relatively small number of pairwise matched nodes revealed beforehand, e.g., in order to achieve a matching precision of 80%, we have to reveal as many as 60% correspondences between nodes of the two networks in advance, which, as well as its long running time, hinders its efficient application in node-matching between real-world networks of quite large size. Based on the CDLP revealed matched nodes selecting strategies and Jaccard similarities between nodes of different networks, the iterative node-matching algorithm is simply composed of the following two steps (Xuan, Du & Wu, 2010b):


The time complexity of the above node-matching algorithm mainly depends on the recalculation of the similarities. Generally, once a pair of nodes from different networks are matched at (*<sup>τ</sup>* <sup>−</sup> <sup>1</sup>)th round, we need to recalculated the similarities of about *<sup>k</sup>*<sup>1</sup> *τk*2 *τ* pairs of nodes mutually connected to that pair of matched nodes at *τ*th round, where *k<sup>i</sup> τ* (*i* = 1, 2) represents the degree of the matched node in *Gi* at (*τ* − 1)th round. Provided *N*<sup>1</sup> = *N*<sup>2</sup> = *M* = *N*, the running time of the algorithm, denoted by Γ, can be calculated by Eq. (15) statistically,

$$
\Gamma \sim \mathcal{E}(\sum\_{\tau=1}^{N} k\_{\tau}^{1} k\_{\tau}^{2}). \tag{15}
$$

<sup>0</sup> 0.01 0.02 0.03 0.04 0.05 −0.2

(a) Matching results on artificial networks

γ

**4.4 One-to-many iterative node-matching algorithms**

*v*1 *<sup>i</sup>* <sup>→</sup> *<sup>Q</sup>*<sup>2</sup>

, satisfying that *v*<sup>2</sup>

*<sup>i</sup>* (*<sup>i</sup>* <sup>=</sup> *Pr* <sup>+</sup> 1, *Pr* <sup>+</sup> 2, . . . , *<sup>N</sup>*) is a node in *<sup>G</sup>*1, and *<sup>Q</sup>*<sup>2</sup>

correspondences as defined by Eq. (20),

*M* most likely matched nodes of *v*<sup>1</sup>

For a 1-to-*M* matching algorithm, a node *v*<sup>1</sup>

*<sup>i</sup>* is contained in *<sup>Q</sup>*<sup>2</sup>

*<sup>i</sup>* <sup>↔</sup> *<sup>v</sup>*<sup>2</sup> *i*1 <sup>0</sup> 0.02 0.04 0.06 0.08 0.1 0.12 <sup>0</sup>

γ

(b) Matching results on real-world networks

*iM* }, (20)

*<sup>i</sup>* in *G*2. It should be noted that here 1-to-*M* match is just

*<sup>j</sup>*<sup>1</sup> represent two different nodes in *G*<sup>2</sup> if *i* �= *j*.

*<sup>i</sup>* . Denoting *PM* (*PM N* − *Pr*) as the number

*<sup>i</sup>* in *G*<sup>1</sup> is considered correctly matched if its real

*<sup>i</sup>* is a node set including the top

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45

*ij* are the numbers of their common and total neighbors, respectively. If

CLDP1 CLDP2

φ

A Review on Node-Matching Between Networks 163

Fig. 3. The matching precision *φ* as the function of the sample ratio *γ* by adopting the two revealed matched nodes selection strategies, i.e., CLDP1 and CLDP2, for (a) the interactional

interactional degrees *η*<sup>1</sup> = 0.9 and *η*<sup>2</sup> = 0.1, and (b) the interactional real-world chat network and friendship network (Xuan, Du & Wu, 2010b). For artificial networks, the experiment is implemented on 100 different pairs of scale-free networks for each *γ* and each selection strategy, then the average matching precision as well as the error bar is recorded.

nodes *vi* and *vj* are connected, release the link and then calculate the symmetry between them following Eq. (8). Since it is impossible to distinguish two nodes *vi* and *vj* in a network with the symmetry *χij* = 1 (i.e. they share the same neighbors excluding themselves) just by adopting their topological information, those highly symmetric nodes in one network may be wrongly matched to the nodes in the other network with quite a high probability, and thus

In order to overcome the above limitation of one-to-one node-matching algorithms, we proposed one-to-many node matching (Du et al., 2010) through expanding the number of nodes in each matching step. In fact, one-to-many node matching has its practical significance because it can help to quickly narrow down the searching range of a target individual in different complex systems. Particularly, a 1-to-*M* algorithm should output *N* − *Pr*

> *<sup>i</sup>* <sup>=</sup> {*v*<sup>2</sup> *i*1 , *v*<sup>2</sup> *i*2 ,..., *v*<sup>2</sup>

*<sup>i</sup>*<sup>1</sup> and *<sup>v</sup>*<sup>2</sup>

*<sup>i</sup>* , i.e., *<sup>v</sup>*<sup>2</sup>

a natural generalization of 1-to-1 match, therefore, Eq. (20) also provides a consistent 1-to-1

*<sup>i</sup>* <sup>∈</sup> *<sup>Q</sup>*<sup>2</sup>

of nodes in *G*<sup>1</sup> that are correctly matched, the matching precision *φ<sup>M</sup>* for the 1-to-*M* node

scale-free networks created by the BA model with *N* = 500 and �*k*� = 8 and different

one-to-one node-matching algorithms may produce poor results in such situations.

0 0.2 0.4 0.6 0.8 1 1.2

CLDP1 CLDP2

φ

where *χ<sup>c</sup>*

where *v*<sup>1</sup>

match, i.e., *v*<sup>1</sup>

matched node *v*<sup>2</sup>

*ij* and *<sup>χ</sup><sup>t</sup>*

If the two networks under study are strongly dependent each other, i.e., extremely *G*<sup>1</sup> and *G*<sup>2</sup> are identical and a node in one network only can be matched to the node of equal degree in the other network, Eq. (15) can be replaced by Eq. (16),

$$
\Gamma \sim \sum\_{\tau=1}^{N} E((k\_{\tau}^1)^2). \tag{16}
$$

For scale-free networks generated by the BA model, the degree distribution follows *p*(*k*) ∼ *k*−3, thus the running time can be simplified by Eq. (17),

$$
\Gamma \sim N \int\_1^N k^2 k^{-3} dk \sim N \ln N. \tag{17}
$$

However, if the two target networks are relatively independent from each other, i.e., a node with large degree in one network can be matched to a node with small degree in the other network, which is more common in reality, Eq. (15) can be approximatively transferred to Eq. (18),

$$
\Gamma \sim \sum\_{\tau=1}^{N} E(k\_{\tau}^1) E(k\_{\tau}^2) \sim N \langle k^1 \rangle \langle k^2 \rangle,\tag{18}
$$

where �*k<sup>i</sup>* � represents the average degree of the network *Gi*. In most cases, �*k<sup>i</sup>* � can be considered as a constant, therefore, Eq. (18) suggests a linear time complexity *O*(*N*) of the algorithm (Xuan, Du & Wu, 2010b). Eqs. (17) and (18) mean that the iterative node-matching algorithm has much lower complexity than the optimal node-matching algorithm.

In order to compare to the optimal node-matching algorithm, here we take the same example to test the iterative node-matching algorithm. Since the iterative algorithm is able to solve node-matching problems between networks of quite large size, the two interactional networks *G*<sup>1</sup> and *G*<sup>2</sup> here are also created by the BA model with same average degree �*k*� = 8, but much larger network size *N* = 500. Then these two networks interact with each other with different interactional degrees *η*<sup>1</sup> = 0.9 and *η*<sup>2</sup> = 0.1 by the same model shown in Fig. 1 (b). The matching results are show in Fig. 3 (a). At this time, in order to correctly reveal most of matched nodes in the networks (e.g., *φ* 80%), we only need to have a very small percentage of matched nodes revealed beforehand (1% for CLDP1 and 1.6% for CLDP2), i.e., the iterative node-matching algorithm is far more efficient than the optimal node-matching algorithm on interactional artificial scale-free networks.

However, when we test this iterative node-matching algorithm on the real-world interactional chat network and friendship network introduced in Section 2.3, the matching results, as shown in Fig. 3 (b), are not that satisfactory, i.e. the final matching precision between the pair of real-world networks is much lower than that between the artificial networks generated by the BA model when adopting the same proportion of pairwise revealed matched nodes. For example, only about 40% matched nodes are revealed correctly, even though there are as many as 10% matched nodes are revealed beforehand. This phenomenon may be caused by the relatively high symmetry of the chat network and the friendship network. Generally, the local symmetry between the two non-linked nodes *vi* and *vj* in a network is defined by (Xuan, Du & Wu, 2010b)

$$
\omega\_{ij} = \frac{\chi\_{ij}^c}{\chi\_{ij}^t} \tag{19}
$$

10 Will-be-set-by-IN-TECH

If the two networks under study are strongly dependent each other, i.e., extremely *G*<sup>1</sup> and *G*<sup>2</sup> are identical and a node in one network only can be matched to the node of equal degree in

> *E*((*k*<sup>1</sup> *τ*)

For scale-free networks generated by the BA model, the degree distribution follows *p*(*k*) ∼

However, if the two target networks are relatively independent from each other, i.e., a node with large degree in one network can be matched to a node with small degree in the other network, which is more common in reality, Eq. (15) can be approximatively transferred to

� represents the average degree of the network *Gi*. In most cases, �*k<sup>i</sup>*

considered as a constant, therefore, Eq. (18) suggests a linear time complexity *O*(*N*) of the algorithm (Xuan, Du & Wu, 2010b). Eqs. (17) and (18) mean that the iterative node-matching

In order to compare to the optimal node-matching algorithm, here we take the same example to test the iterative node-matching algorithm. Since the iterative algorithm is able to solve node-matching problems between networks of quite large size, the two interactional networks *G*<sup>1</sup> and *G*<sup>2</sup> here are also created by the BA model with same average degree �*k*� = 8, but much larger network size *N* = 500. Then these two networks interact with each other with different interactional degrees *η*<sup>1</sup> = 0.9 and *η*<sup>2</sup> = 0.1 by the same model shown in Fig. 1 (b). The matching results are show in Fig. 3 (a). At this time, in order to correctly reveal most of matched nodes in the networks (e.g., *φ* 80%), we only need to have a very small percentage of matched nodes revealed beforehand (1% for CLDP1 and 1.6% for CLDP2), i.e., the iterative node-matching algorithm is far more efficient than the optimal node-matching algorithm on

However, when we test this iterative node-matching algorithm on the real-world interactional chat network and friendship network introduced in Section 2.3, the matching results, as shown in Fig. 3 (b), are not that satisfactory, i.e. the final matching precision between the pair of real-world networks is much lower than that between the artificial networks generated by the BA model when adopting the same proportion of pairwise revealed matched nodes. For example, only about 40% matched nodes are revealed correctly, even though there are as many as 10% matched nodes are revealed beforehand. This phenomenon may be caused by the relatively high symmetry of the chat network and the friendship network. Generally, the local symmetry between the two non-linked nodes *vi* and *vj* in a network is defined by

> *<sup>ω</sup>ij* <sup>=</sup> *<sup>χ</sup><sup>c</sup> ij χt ij*

<sup>2</sup>). (16)

*<sup>k</sup>*2*k*−3*dk* <sup>∼</sup> *<sup>N</sup>* ln *<sup>N</sup>*. (17)

*<sup>τ</sup>*) <sup>∼</sup> *<sup>N</sup>*�*k*1��*k*2�, (18)

, (19)

� can be

*N* ∑ *τ*=1

Γ ∼

 *N* 1

*E*(*k*<sup>1</sup> *τ*)*E*(*k*<sup>2</sup>

algorithm has much lower complexity than the optimal node-matching algorithm.

Γ ∼ *N*

*N* ∑ *τ*=1

Γ ∼

interactional artificial scale-free networks.

(Xuan, Du & Wu, 2010b)

the other network, Eq. (15) can be replaced by Eq. (16),

*k*−3, thus the running time can be simplified by Eq. (17),

Eq. (18),

where �*k<sup>i</sup>*

Fig. 3. The matching precision *φ* as the function of the sample ratio *γ* by adopting the two revealed matched nodes selection strategies, i.e., CLDP1 and CLDP2, for (a) the interactional scale-free networks created by the BA model with *N* = 500 and �*k*� = 8 and different interactional degrees *η*<sup>1</sup> = 0.9 and *η*<sup>2</sup> = 0.1, and (b) the interactional real-world chat network and friendship network (Xuan, Du & Wu, 2010b). For artificial networks, the experiment is implemented on 100 different pairs of scale-free networks for each *γ* and each selection strategy, then the average matching precision as well as the error bar is recorded.

where *χ<sup>c</sup> ij* and *<sup>χ</sup><sup>t</sup> ij* are the numbers of their common and total neighbors, respectively. If nodes *vi* and *vj* are connected, release the link and then calculate the symmetry between them following Eq. (8). Since it is impossible to distinguish two nodes *vi* and *vj* in a network with the symmetry *χij* = 1 (i.e. they share the same neighbors excluding themselves) just by adopting their topological information, those highly symmetric nodes in one network may be wrongly matched to the nodes in the other network with quite a high probability, and thus one-to-one node-matching algorithms may produce poor results in such situations.

#### **4.4 One-to-many iterative node-matching algorithms**

In order to overcome the above limitation of one-to-one node-matching algorithms, we proposed one-to-many node matching (Du et al., 2010) through expanding the number of nodes in each matching step. In fact, one-to-many node matching has its practical significance because it can help to quickly narrow down the searching range of a target individual in different complex systems. Particularly, a 1-to-*M* algorithm should output *N* − *Pr* correspondences as defined by Eq. (20),

$$v\_{i}^{1} \to Q\_{i}^{2} = \{v\_{i\_{1}}^{2}, v\_{i\_{2}}^{2}, \dots, v\_{i\_{M}}^{2}\},\tag{20}$$

where *v*<sup>1</sup> *<sup>i</sup>* (*<sup>i</sup>* <sup>=</sup> *Pr* <sup>+</sup> 1, *Pr* <sup>+</sup> 2, . . . , *<sup>N</sup>*) is a node in *<sup>G</sup>*1, and *<sup>Q</sup>*<sup>2</sup> *<sup>i</sup>* is a node set including the top *M* most likely matched nodes of *v*<sup>1</sup> *<sup>i</sup>* in *G*2. It should be noted that here 1-to-*M* match is just a natural generalization of 1-to-1 match, therefore, Eq. (20) also provides a consistent 1-to-1 match, i.e., *v*<sup>1</sup> *<sup>i</sup>* <sup>↔</sup> *<sup>v</sup>*<sup>2</sup> *i*1 , satisfying that *v*<sup>2</sup> *<sup>i</sup>*<sup>1</sup> and *<sup>v</sup>*<sup>2</sup> *<sup>j</sup>*<sup>1</sup> represent two different nodes in *G*<sup>2</sup> if *i* �= *j*. For a 1-to-*M* matching algorithm, a node *v*<sup>1</sup> *<sup>i</sup>* in *G*<sup>1</sup> is considered correctly matched if its real matched node *v*<sup>2</sup> *<sup>i</sup>* is contained in *<sup>Q</sup>*<sup>2</sup> *<sup>i</sup>* , i.e., *<sup>v</sup>*<sup>2</sup> *<sup>i</sup>* <sup>∈</sup> *<sup>Q</sup>*<sup>2</sup> *<sup>i</sup>* . Denoting *PM* (*PM N* − *Pr*) as the number of nodes in *G*<sup>1</sup> that are correctly matched, the matching precision *φ<sup>M</sup>* for the 1-to-*M* node

0 0.02 0.04 0.06 0.08 0.1 0.12

*<sup>i</sup>* is attached by a positive integer as its weight representing the times that it is matched

Similarly, these two one-to-many iterative node matching algorithms are tested on the real-world interactional chat network and friendship network introduced in Section 2.3, and the matching results are shown in Fig. 4. As we can see, both the proposed one-to-many algorithms (especially the random algorithm A2) can significantly improve the matching precision, and thus can be considered to partially overcome the limitation of one-to-one

Since an individual may appear in different systems with different identities, many real-world complex systems are considered to be interacted with each other all the time. Revealing these identities of the same individual is a common task in many areas such as sociology, linguistics, biology, etc, by their dedicated methods. When these complex systems are described by networks, this common task can be changed to a node matching problem between different

In this chapter, we reviewed the overall process to solve such node-matching problems between different networks: We first calculated the similarities between nodes of different networks through their connections to several pairs of preliminarily revealed matched nodes and transferred the node matching problem between two different networks to a maximum

complex networks, and thus can be solved in the framework of graph theory.

*<sup>i</sup>*<sup>1</sup> is excluded here.

*<sup>i</sup>* | ≤ *<sup>M</sup>* <sup>−</sup> 1, in such a situation, other *<sup>M</sup>* <sup>−</sup> <sup>1</sup> − |*Z*<sup>2</sup>

1−to−1 1−to−2(A1) 1−to−5(A1) 1−to−2(A2) 1−to−5(A2)

*<sup>i</sup>* | ≤ *B*. It should be noted that each node

*<sup>i</sup>* . Sometimes, there may be only fewer

*<sup>i</sup>* are selected

*<sup>i</sup>* | nodes

γ

A Review on Node-Matching Between Networks 165

Fig. 4. The matching precision *φ* as the function of the sample ratio *γ* for *M* = 1, 2, 5 (*M* = 1 means the one-to-one matching result) between the friendship network and the chat network obtained from the database of *Alibaba trademanager* (Du et al., 2010). Here, the chat network is

• **Candidate nodes selection**. The top *<sup>M</sup>* <sup>−</sup> 1 nodes with largest weights in *<sup>Z</sup>*<sup>2</sup>

0

with its size (the number of nodes) satisfying <sup>|</sup>*Z*<sup>2</sup>

as the *<sup>M</sup>* <sup>−</sup> 1 candidate corresponding nodes of *<sup>v</sup>*<sup>1</sup>

*<sup>i</sup>* , i.e., <sup>|</sup>*Z*<sup>2</sup>

can be randomly selected from *G*<sup>2</sup> to be consistent with Eq. (20).

*<sup>i</sup>* in the total *<sup>B</sup>* rounds, and similarly *<sup>v</sup>*<sup>2</sup>

0.1 0.2 0.3 0.4 0.5 0.6 0.7

φ

taken as the reference network.

than *<sup>M</sup>* <sup>−</sup> 1 nodes in *<sup>Z</sup>*<sup>2</sup>

node-matching algorithms.

**5. Conclusion**

in *Z*<sup>2</sup>

to *v*<sup>1</sup>

matching algorithm can be calculated by Eq. (21), and naturally Eq. (22) is always satisfied.

$$
\phi\_M = \frac{P\_M}{N - P\_r} \tag{21}
$$

$$
\Phi\_M \ge \Phi\_{M-1}.\tag{22}
$$

Next, we will introduce two different one-to-many iterative node-matching algorithms (Du et al., 2010).

1) **A1: Local mapping**. Since the similarity between each pair of nodes may change as the one-to-one iterative algorithm is implemented step by step, it is possible to correct some initially wrongly matched nodes by recalculating their similarities after the one-to-one node matching algorithm is terminated. This fact leads to the first one-to-many node matching algorithm based on local mapping. In particular, the Algorithm A1 is defined by the following two steps (Du et al., 2010):


2) **A2: Ensembling**. In the area of machine learning, it is a common way to improve the generalization performance of an algorithm by combining the results of many different predictors (Breiman, 1996; Freund & Schapire, 1997; Krogh & Sollich, 1997; Miyoshi et al., 2005). However, the above iterative one-to-one node matching algorithm is totally deterministic, i.e., for a given pair of target networks and certain revealed matched nodes, the algorithm must produce the same matching result. Therefore, it cannot be directly used for ensemble, and thus a new statistical iterative one-to-one node matching algorithm have to be introduced first, where a pair of newly revealed matched nodes is adopted only with probability *p*(*p* < 1) to calculate the similarities between those unrevealed nodes of different networks in the succeeding iterative process. Then a group of different one-to-one matching results can be obtained by implementing such a statistical iterative one-to-one node matching algorithm for several rounds, and the obtained results can be merged into a unique one-to-many matching result by a voting strategy. In particular, the algorithm A2 is defined by the following three steps (Du et al., 2010):


12 Will-be-set-by-IN-TECH

matching algorithm can be calculated by Eq. (21), and naturally Eq. (22) is always satisfied.

*<sup>φ</sup><sup>M</sup>* <sup>=</sup> *PM*

Next, we will introduce two different one-to-many iterative node-matching algorithms

1) **A1: Local mapping**. Since the similarity between each pair of nodes may change as the one-to-one iterative algorithm is implemented step by step, it is possible to correct some initially wrongly matched nodes by recalculating their similarities after the one-to-one node matching algorithm is terminated. This fact leads to the first one-to-many node matching algorithm based on local mapping. In particular, the Algorithm A1 is defined by the following

1, *Pr* + 2, . . . , *N*), are firstly matched by the iterative 1-to-1 node matching algorithm.

Based on the definition of similarity, only the similarities between node *v*<sup>1</sup>

*<sup>i</sup>* in *<sup>G</sup>*<sup>2</sup> where the nodes are 1-to-1 matched to those in *<sup>X</sup>*<sup>1</sup>

*M* − 1 nodes with largest similarities are selected as the candidate corresponding nodes of

2) **A2: Ensembling**. In the area of machine learning, it is a common way to improve the generalization performance of an algorithm by combining the results of many different predictors (Breiman, 1996; Freund & Schapire, 1997; Krogh & Sollich, 1997; Miyoshi et al., 2005). However, the above iterative one-to-one node matching algorithm is totally deterministic, i.e., for a given pair of target networks and certain revealed matched nodes, the algorithm must produce the same matching result. Therefore, it cannot be directly used for ensemble, and thus a new statistical iterative one-to-one node matching algorithm have to be introduced first, where a pair of newly revealed matched nodes is adopted only with probability *p*(*p* < 1) to calculate the similarities between those unrevealed nodes of different networks in the succeeding iterative process. Then a group of different one-to-one matching results can be obtained by implementing such a statistical iterative one-to-one node matching algorithm for several rounds, and the obtained results can be merged into a unique one-to-many matching result by a voting strategy. In particular, the algorithm A2 is defined

1, *Pr* + 2, . . . , *N*), are firstly matched by the deterministic iterative 1-to-1 node matching

• **Implement and vote**. The statistical 1-to-1 node matching algorithm with parameter *p*(*p* < 1) is implemented for *B* (*B* � *M*) rounds and a group of *B* different 1-to-1 matching results

*<sup>i</sup>*<sup>1</sup> is not reconsidered here, and if *<sup>Y</sup>*<sup>2</sup>

• **Iterative 1-to-1 node matching**. *<sup>N</sup>* <sup>−</sup> *Pr* pairs of nodes, i.e., *<sup>v</sup>*<sup>1</sup>

• **Candidate nodes selection**. Denote by *X*<sup>1</sup>

*<sup>i</sup>* the neighbor set of *<sup>X</sup>*<sup>2</sup>

2, . . . , *N*) and the nodes in *Y*<sup>2</sup>

*<sup>i</sup>* . It should be noted that *<sup>v</sup>*<sup>2</sup>

*<sup>M</sup>* <sup>−</sup> 1 nodes, other *<sup>M</sup>* <sup>−</sup> <sup>1</sup> − |*Y*<sup>2</sup>

by the following three steps (Du et al., 2010):

• **Iterative 1-to-1 node matching**. *<sup>N</sup>* <sup>−</sup> *Pr* pairs of nodes, i.e., *<sup>v</sup>*<sup>1</sup>

are obtained. All of the correspondences in *G*<sup>2</sup> of *v*<sup>1</sup>

(Du et al., 2010).

two steps (Du et al., 2010):

matched node set *X*<sup>2</sup>

by *Y*<sup>2</sup>

*v*1

with Eq. (20).

algorithm.

*N* − *Pr*

, (21)

*φ<sup>M</sup>* ≥ *φM*−1. (22)

*<sup>i</sup>* <sup>↔</sup> *<sup>Q</sup>*<sup>2</sup>

*<sup>i</sup>* <sup>↔</sup> *<sup>Q</sup>*<sup>2</sup>

*<sup>i</sup>* <sup>=</sup> {*v*<sup>2</sup> *i*1

*<sup>i</sup>* in *<sup>G</sup>*<sup>1</sup> are grouped by a node set *<sup>Z</sup>*<sup>2</sup>

} (*i* = *Pr* +

*i*

*<sup>i</sup>* the neighbor set of node *<sup>v</sup>*<sup>1</sup>

*<sup>i</sup>* , including all the nodes directly connected to those in *<sup>X</sup>*<sup>2</sup>

*<sup>i</sup>* can be larger than 0 and thus are recalculated. Then the top

*<sup>i</sup>* | nodes can be randomly selected from *G*<sup>2</sup> to be consistent

*<sup>i</sup>* <sup>=</sup> {*v*<sup>2</sup> *i*1

} (*i* = *Pr* +

*<sup>i</sup>* , then denote

*<sup>i</sup>* (*i* = *Pr* + 1, *Pr* +

*<sup>i</sup>* only contains fewer than

*i* .

*<sup>i</sup>* in *G*1, which has a

Fig. 4. The matching precision *φ* as the function of the sample ratio *γ* for *M* = 1, 2, 5 (*M* = 1 means the one-to-one matching result) between the friendship network and the chat network obtained from the database of *Alibaba trademanager* (Du et al., 2010). Here, the chat network is taken as the reference network.

with its size (the number of nodes) satisfying <sup>|</sup>*Z*<sup>2</sup> *<sup>i</sup>* | ≤ *B*. It should be noted that each node in *Z*<sup>2</sup> *<sup>i</sup>* is attached by a positive integer as its weight representing the times that it is matched to *v*<sup>1</sup> *<sup>i</sup>* in the total *<sup>B</sup>* rounds, and similarly *<sup>v</sup>*<sup>2</sup> *<sup>i</sup>*<sup>1</sup> is excluded here.

• **Candidate nodes selection**. The top *<sup>M</sup>* <sup>−</sup> 1 nodes with largest weights in *<sup>Z</sup>*<sup>2</sup> *<sup>i</sup>* are selected as the *<sup>M</sup>* <sup>−</sup> 1 candidate corresponding nodes of *<sup>v</sup>*<sup>1</sup> *<sup>i</sup>* . Sometimes, there may be only fewer than *<sup>M</sup>* <sup>−</sup> 1 nodes in *<sup>Z</sup>*<sup>2</sup> *<sup>i</sup>* , i.e., <sup>|</sup>*Z*<sup>2</sup> *<sup>i</sup>* | ≤ *<sup>M</sup>* <sup>−</sup> 1, in such a situation, other *<sup>M</sup>* <sup>−</sup> <sup>1</sup> − |*Z*<sup>2</sup> *<sup>i</sup>* | nodes can be randomly selected from *G*<sup>2</sup> to be consistent with Eq. (20).

Similarly, these two one-to-many iterative node matching algorithms are tested on the real-world interactional chat network and friendship network introduced in Section 2.3, and the matching results are shown in Fig. 4. As we can see, both the proposed one-to-many algorithms (especially the random algorithm A2) can significantly improve the matching precision, and thus can be considered to partially overcome the limitation of one-to-one node-matching algorithms.

#### **5. Conclusion**

Since an individual may appear in different systems with different identities, many real-world complex systems are considered to be interacted with each other all the time. Revealing these identities of the same individual is a common task in many areas such as sociology, linguistics, biology, etc, by their dedicated methods. When these complex systems are described by networks, this common task can be changed to a node matching problem between different complex networks, and thus can be solved in the framework of graph theory.

In this chapter, we reviewed the overall process to solve such node-matching problems between different networks: We first calculated the similarities between nodes of different networks through their connections to several pairs of preliminarily revealed matched nodes and transferred the node matching problem between two different networks to a maximum

Kelley, B. P., Sharan, R., Karp, R. M., Sittler, T., Root, D. E., Stockwell, B. R. & Ideker, T. (2003).

A Review on Node-Matching Between Networks 167

Krogh, A. & Sollich, P. (1997). Statistical mechanics of ensemble learning, *Physical Review E*

Kuhn, H. W. (2005). The hungarian method for the assignment problem, *Naval Research*

Li, X. & Chen, G. (2003). A local-world evolving network model, *Physica A: Statistical*

Lü, L. & Zhou, T. (2011). Link prediction in complex networks: A survey, *Physica A: Statistical*

Miyoshi, S., Hara, K. & Okada, M. (2005). Analysis of ensemble learning using simple perceptrons based on online learning theory, *Physical Review E* 71(3): 036116. Mossa, S., Barthélémy, M., Stanley, H. E. & Amaral, L. A. N. (2002). Truncation of power law

Motter, A. E. & Lai, Y.-C. (2002). Cascade-based attacks on complex networks, *Physical Review*

Motter, A. E., Nishikawa, T. & Lai, Y.-C. (2003). Large-scale structural organization of social

Munkres, J. (1957). Algorithms for the assignment and transportation problems, *Journal of the*

Newman, M. E. J. (2001). Clustering and preferential attachment in growing networks, *Physical*

Newman, M. E. J., Forrest, S. & Balthrop, J. (2002). Email networks and the spread of computer

Onnela, J.-P., Saramäki, J., Hyvönen, J., Szabó, G., Lazer, D., Kaski, K., Kertész, J. & Barabási,

Salton, G. & McGill, M. J. (1983). *Introduction to Modern Information Retrieval*, MuGraw-Hill,

Sørensen, T. (1948). A method of establishing groups of equal amplitude in plant sociology

Watts, D. J. & Strogatz, S. H. (1998). Collective dynamics of 'small-world' networks, *Nature*

Xiao, Y., Xiong, M., Wang, W. & Wang, H. (2008). Emergence of symmetry in complex

Xuan, Q., Du, F. & Wu, T.-J. (2009). Empirical analysis of internet telephone network: From

Xuan, Q., Du, F. & Wu, T.-J. (2010a). Partially ordered sets in complex networks, *Journal of*

*Proceedings of the National Academy of Sciences U.S.A* 104(18): 7332–7336. Ravasz, E., Somera, A. L., Mongru, D. A., Oltvai, Z. N. & Barabási, A.-L. (2002). Hierarchical organization of modularity in metabolic networks, *Science* 297(5586): 1551–1555. Rozenfeld, H. D., Song, C. & Makse, H. A. (2010). Small-world to fractal transition in complex

A.-L. (2007). Structure and tie strengths in mobile communication networks,

networks: A renormalization group approach, *Physical Review Letters* 104(2): 025701.

based on similarity of species content and its application to analyses of the vegetation

behavior in scale-free network models due to information filtering, *Physical Review*

55(1): 811–825.

*Logistics* 52(1): 7–21.

*Letters* 88(13): 138701.

*Review E* 64(2): 025102.

*E* 66(6): 065102.

Auckland.

393(6684): 440–442.

*Mechanics and Its Applications* 328(1-2): 274–286.

*Mechanics and Its Applications* 390(6): 1150–1170.

networks, *Physical Review E* 68(3): 036105.

viruses, *Physical Review E* 66(3): 035101.

on danish commons, *Biologislce Skrifler* 5(4): 1–34.

*Physics A: Mathematical and Theoretical* 43(18): 185001.

networks, *Physical Review E* 77(6): 066108.

user id to phone, *Chaos* 19(2): 023101.

*Society for Industrial and Applied Mathematics* 5(1): 32–38.

Conserved pathways within bacteria and yeast as revealed by global protein network alignment, *Proceedings of the National Academy of Sciences U.S.A* 100(20): 11394–11399.

weighted bipartite matching problem; then we proposed several node-matching algorithms to solve such problem. By comparison, the iterative node-matching algorithm has approximately linear complexity and behaves much better than the traditional KM algorithm in graph theory. However, it seems that almost all of the network structure-based one-to-one node-matching algorithms lose their efficiencies when the target networks are highly symmetric, e.g., the iterative node-matching results are not that good on real-world chat network and friendship network obtained from the database of *Alibaba trademanager*. Such limitation can be partially overcome by the proposed one-to-many node-matching algorithms, which mainly focus on quickly narrowing down the searching range, rather than revealing exact one-to-one mapping between nodes of different networks. Meanwhile, we also introduced several degree-based revealed matched nodes selecting strategies for optimal and iterative node-matching algorithms, respectively, in order to further improve the matching results. In the future, more information about individuals and connections may be adopted to create more efficient node-matching algorithms.

#### **6. References**


14 Will-be-set-by-IN-TECH

weighted bipartite matching problem; then we proposed several node-matching algorithms to solve such problem. By comparison, the iterative node-matching algorithm has approximately linear complexity and behaves much better than the traditional KM algorithm in graph theory. However, it seems that almost all of the network structure-based one-to-one node-matching algorithms lose their efficiencies when the target networks are highly symmetric, e.g., the iterative node-matching results are not that good on real-world chat network and friendship network obtained from the database of *Alibaba trademanager*. Such limitation can be partially overcome by the proposed one-to-many node-matching algorithms, which mainly focus on quickly narrowing down the searching range, rather than revealing exact one-to-one mapping between nodes of different networks. Meanwhile, we also introduced several degree-based revealed matched nodes selecting strategies for optimal and iterative node-matching algorithms, respectively, in order to further improve the matching results. In the future, more information about individuals and connections may be adopted to create

Albert, R., Jeong, H., & Barabási, A.-L. (2000). Error and attack tolerance of complex networks,

Barabási, A.-L. (2009). Scale-free networks: A decade and beyond, *Science* 325(5939): 412–413. Barabási, A.-L. & Albert, R. (1999). Emergence of scaling in random networks, *Science*

Barabási, A.-L. & Oltvai, Z. N. (2004). Network biology: Understanding the cell's functional

Barrat, A., Barthélemy, M., Satorras, R. P. & Vespignani, A. (2004). The architecture of

Cootes, A. P., Muggleton, S. H. & Sternberg, M. J. E. (2007). The identification of similarities

Costa, L. D. F., Rodrigues, F. A., Travieso, G. & Boas, P. R. V. (2007). Characterization of complex networks: A survey of measurements, *Advances in Physics* 56(1): 167–242. Crucitti, P., Latora, V., Marchiori, M. & Rapisarda, A. (2004). Error and attack

Dorogovtsev, S. N., Goltsev, A. V. & Mendes, J. F. F. (2008). Critical phenomena in complex

Du, F., Xuan, Q. & Wu, T.-J. (2010). One-to-many node matching between complex networks,

Eguíluz, V. M., Chialvo, D. R., Cecchi, G. A., Baliki, M. & Apkarian, A. V. (2005). Scale-free

Freund, Y. & Schapire, R. E. (1997). A decision-theoretic generalization of on-line learning and an application to boosting, *Journal of Computer and System Sciences* 55(1): 119–139. Giunchiglia, F. & Shvaiko, P. (2004). Semantic matching, *The Knowledge Engineering Review*

Jaccard, P. (1901). Étude comparative de la distribution florale dans une portion des alpes et des jura, *Bulletin de la Société Vaudoise des Science Naturelles* 37: 547–579.

brain functional networks, *Physical Review Letters* 94(1): 018102.

complex weighted networks, *Proceedings of the National Academy of Sciences U.S.A*

between biological networks: Application to the metabolome and interactome,

tolerance of complex networks, *Physica A: Statistical Mechanics and Its Applications*

more efficient node-matching algorithms.

*Nature* 6794(406): 378–382.

organization, *Nature* 5(2): 101–113.

Breiman, L. (1996). Bagging predictors, *Machine Learning* 26(2): 123–140.

networks, *Review of Modern Physics* 80(4): 1275–1335.

*Advances in Complex Systems* 13(6): 725–739.

*Journal of Molecular Biology* 369(4): 1126–1139.

286(5439): 509–512.

101(11): 3747–3752.

340(1-3): 388–394.

18: 265–280.

**6. References**


**0**

**8**

**Path-Finding Algorithm Application**

**of Computer Graphics**

Csaba Szabó and Branislav Sobota

*Technical University of Košice*

*Slovak Republic*

**for Route-Searching in Different Areas**

Common graphical notations for graphs use a set of points interconnected by lines. Points are called vertices. The lines called edges can also have in some cases a direction (orientation)

Paths are sequences of vertices and edges between them. Path-finding between two locations in a graph is used in many areas like GPS navigation, CAD systems (auto-routing in design of circuit boards), and applications of artificial intelligence, computer games, virtual reality, military forces or robotics. The main aim of path-finding is to avoid collisions with obstacles and safely pass through the virtual world (or the real one) along the path found by the selected algorithm. Examples of this need are autonomous robots on distant planets without the possibility to be controlled in real time because of latencies in signal sending, or automatic vehicles control presented in (Simon et al., 2006) and (Kulji´c et al., 2009). Another examples of path-finding are strategic computer games, mostly with computer opponent. Path-finding is also widely used in finding best routers interconnection for data transmission in many kinds

To be successful in path-finding, the need of reliable algorithm and reliable implementation of that algorithm is enormous. Another important thing is the need of some user-friendly visualization of results of path-finding, which is realized by application of computer graphics

A geographical information system (GIS) as defined in (Tuˇcek, 1998) is an information system (IS) designed to work with data that represent geographical or spatial coordinates. These data

Another way to specify a GIS is that it is a specialized IS defined as a collection of computer hardware (as noted by (Vokorokos et al., 2004)) and software and geographical data designed for effective gathering, retaining, editing, processing, analysis and visualization of all kinds of geographical information. Generally, it is an IS designed as specialized for spatial data, or an IS developed to such specialization during its life cycle by extensions and/or refactoring

Being an IS, GIS has to provide information in graphical (e.g. location of the hotel on the map) and non-graphical (e.g. fees, room equipment) way that supports fast searching

**1. Introduction**

of computer networks.

techniques (Vokorokos et al., 2010).

can be further analyzed and statistically evaluated.

steps presented by (Szabó & Sobota, 2009).

specified.


## **Path-Finding Algorithm Application for Route-Searching in Different Areas of Computer Graphics**

Csaba Szabó and Branislav Sobota *Technical University of Košice Slovak Republic*

### **1. Introduction**

16 Will-be-set-by-IN-TECH

168 New Frontiers in Graph Theory

Xuan, Q., Du, F. & Wu, T.-J. (2010b). Partially ordered sets in complex networks, *Journal of*

Xuan, Q., Du, F., Wu, T.-J. & Chen, G. (2010). Emergence of heterogeneous structures in chemical reaction-diffusion networks, *Physical Review E* 82(4): 046116. Xuan, Q., Li, Y. & Wu, T.-J. (2006). Growth model for complex networks with hierarchical and

Xuan, Q., Li, Y. & Wu, T.-J. (2007). A local-world network model based on inter-node

Xuan, Q., Li, Y. & Wu, T.-J. (2008). Does the compelled cooperation determine the structure of

Xuan, Q. & Wu, T.-J. (2009). Node matching between complex networks, *Physical Review E*

correlation degree, *Physica A: Statistical Mechanics and Its Applications* 378(2): 561–572.

*Physics A: Mathematical and Theoretical* 43(39): 395002.

modular structures, *Physical Review E* 73(3): 036105.

80(2): 026103.

a complex network?, *Chinese Physics Letters* 25(2): 363–366.

Common graphical notations for graphs use a set of points interconnected by lines. Points are called vertices. The lines called edges can also have in some cases a direction (orientation) specified.

Paths are sequences of vertices and edges between them. Path-finding between two locations in a graph is used in many areas like GPS navigation, CAD systems (auto-routing in design of circuit boards), and applications of artificial intelligence, computer games, virtual reality, military forces or robotics. The main aim of path-finding is to avoid collisions with obstacles and safely pass through the virtual world (or the real one) along the path found by the selected algorithm. Examples of this need are autonomous robots on distant planets without the possibility to be controlled in real time because of latencies in signal sending, or automatic vehicles control presented in (Simon et al., 2006) and (Kulji´c et al., 2009). Another examples of path-finding are strategic computer games, mostly with computer opponent. Path-finding is also widely used in finding best routers interconnection for data transmission in many kinds of computer networks.

To be successful in path-finding, the need of reliable algorithm and reliable implementation of that algorithm is enormous. Another important thing is the need of some user-friendly visualization of results of path-finding, which is realized by application of computer graphics techniques (Vokorokos et al., 2010).

A geographical information system (GIS) as defined in (Tuˇcek, 1998) is an information system (IS) designed to work with data that represent geographical or spatial coordinates. These data can be further analyzed and statistically evaluated.

Another way to specify a GIS is that it is a specialized IS defined as a collection of computer hardware (as noted by (Vokorokos et al., 2004)) and software and geographical data designed for effective gathering, retaining, editing, processing, analysis and visualization of all kinds of geographical information. Generally, it is an IS designed as specialized for spatial data, or an IS developed to such specialization during its life cycle by extensions and/or refactoring steps presented by (Szabó & Sobota, 2009).

Being an IS, GIS has to provide information in graphical (e.g. location of the hotel on the map) and non-graphical (e.g. fees, room equipment) way that supports fast searching

These properties are metrics axioms; so ordered pair (*V*, *d*) is a metrical space. Nevertheless *V* is a vertical set of graph *G* = (*V*, *E*), *d* is a metric – vertices distance in graph *G*. The advantage of these properties is the fact that they consist even after isomorphism is done. One result of

Path-Finding Algorithm Application for Route-Searching in Different Areas of Computer Graphics 171

1. For every vertex *u* ∈ *V* the number *e*(*u*, *G*) = max *d*(*u*, *v*), *v* ∈ *V* is called eccentricity of

4. The center of graph *G* is every vertex *u* of graph *G* with eccentricity equal to radius

Graph *G* = (*V*, *E*) is an Eulerian graph, if this graph is coherent and every one of its vertices has even degree. Graph can be covered by a single enclosed stroke (i.e. Eulerian circuit) only if it is an Eulerian graph. Graph *G* = (*V*, *E*) can be covered by a single unenclosed stroke only if it is a coherent graph with two vertices of degree 2 (opened stroke starts in one of these

Let *G* = (*V*, *E*) be a graph, |*V*| = *n*, *n* ≥ 3. Let the degree of every vertex of graph *G* be at least *n*/2. Then *G* is a Hamilton graph. If graph *G* = (*V*, *E*) is a Hamilton graph, this graph has to be terminal, non-empty, coherent and may not consist of bridges. Nevertheless fulfillment of

Oriented graph *G* is defined as ordered pair (*V*, *E*), where *V* is the set of vertices and *E* is set of ordered element pairs of set *V*. Elements of *V* are called graph vertices and elements of *E*

The core element of any GIS is the map. All objects have spatial coordinates defining their placement on this map. On other hand, maps are also basic elements if it comes to path-finding or animations. Architecture of such a system for animations based on drawing objects on a

The specifics and role of maps in the selected domain areas are presented in the following

Simulations use 2D and 3D maps that are dynamically changing due simulation state changes. This type of maps is also used in any interactive graphics such virtual reality city

Dynamic of the maps' change is expressed by structural changes in the maps, i.e. at least one object's spatial coordinates have been changed. Changes near found paths might indicate the

need of re-running the path-finding algorithm on the new map segments.

this is the fact, that also notions defined by metric have the same advantage.

2. Number *P*(*G*) = max *e*(*v*, *G*), *v* ∈ *V* is average of graph *G*. 3. Number *r*(*G*) = min *e*(*v*, *G*), *v* ∈ *V* is radius of graph *G*.

Graph diameter can also be defined as *P*(*G*) = max *d*(*u*, *v*); *u*, *v* ∈ *V*.

these conditions does not guarantee existence of Hamilton graph.

2D map is shown on Fig. 1, its output is presented on Fig. 2.

Let *G* = (*V*, *E*) be a coherent graph, then:

vertex *u*.

*e*(*u*, *G*) = *r*(*G*).

vertices and ends in another).

are called oriented graph edges.

**3. Maps**

subsections.

**3.1 Maps in virtual reality**

walkthroughs or computer games.

and actualization of data. Nowadays, graphical information are stored as vector graphics (two-dimensional), but the trends are clearly forecasting the second generation GIS as an IS working with 3D objects and surfaces as in (Szabó et al., 2010).

It is useful to extend the implementation of the above-mentioned searching of objects by route-searching between two selected objects. As the map is the core of any GIS, a possible way of implement path-finding on graphs within such a system is the mapping of these maps onto search-able graphs that will be shown in next sections of this chapter.

Section 2 presents the theoretical background needed in algorithm descriptions in the other following sections. In Sections 3–4, terms such as map and route are defined. Blind-search and A\* algorithms are introduced in Section 5. Next section (Section 6) presents the test cases and results: results on static two-dimensional maps, results from tests where three-dimensional (city) maps were used, results of testing with dynamics in the maps. Tests also demonstrate the tested 3D city information system, especially its user interface, and hardware configurations of host computers used during testing. Section 7 ends the chapter by concluding it and pointing out future work.

### **2. Graph theory basics**

Leonhard Euler is considered the founder of graph theory, since he solved the problem known as the Seven Bridges of Königsberg in 1736. Graph theory as a science discipline started with first graph theory monographs written by mathematicians (K˝onig, 1936) and (Berge, 1958). The next part of this section relies on definitions in (Buˇcko & Klešˇc, 1999).

Let *V* be a final non-empty set, i.e. the set of vertices, and let *E* be the set of edges defined as:

$$E = \{e|e = \{v\_1, v\_2\}; v\_{1,2} \in V\}.\tag{1}$$

Obviously, *E* ⊆ ( *V* <sup>2</sup> ), where ( *V* <sup>2</sup> ) is a set of all two-element subsets of *V*:

$$
\binom{V}{2} = \{A|A \subset V \land |A| = 2\}.\tag{2}
$$

Considering these two sets presented in Equation 2 and Equation 1, the couple *G* = (*V*, *E*) defines graph *G* with the corresponding vertices and edges.

Path is a sequence of vertices where an edge exists for any two consecutive vertices of this sequence. Degree of a vertex is the count of edges outgoing from this vertex, e.g. the degree of any internal vertex in a path is not less than two, the end vertices have a degree at least one.

The graph *G* is a coherent graph if all vertices are reachable, i.e. for all vertices exists at least one path to any other vertex.

Let *G* = (*V*, *E*) be a coherent graph. Distance *d*(*u*, *v*) between vertices *u* and *v* of graph *G* is the length of shortest route linking vertices *u*, *v*, i.e. the shortest path. Vertices distance *d*(*u*, *v*) of graph *G* has the following properties:

$$\begin{array}{c} d(\mathfrak{u}, \mathfrak{v}) \ge 0; d(\mathfrak{u}, \mathfrak{v}) = 0 \Leftrightarrow \mathfrak{u} = \mathfrak{v} \\ d(\mathfrak{u}, \mathfrak{v}) = d(\mathfrak{v}, \mathfrak{u}) \\ \forall \mathfrak{z} \in V: d(\mathfrak{u}, \mathfrak{v}) \le d(\mathfrak{u}, \mathfrak{z}) + d(\mathfrak{z}, \mathfrak{v}) \end{array} \tag{3}$$

These properties are metrics axioms; so ordered pair (*V*, *d*) is a metrical space. Nevertheless *V* is a vertical set of graph *G* = (*V*, *E*), *d* is a metric – vertices distance in graph *G*. The advantage of these properties is the fact that they consist even after isomorphism is done. One result of this is the fact, that also notions defined by metric have the same advantage.

Let *G* = (*V*, *E*) be a coherent graph, then:


Graph diameter can also be defined as *P*(*G*) = max *d*(*u*, *v*); *u*, *v* ∈ *V*.

Graph *G* = (*V*, *E*) is an Eulerian graph, if this graph is coherent and every one of its vertices has even degree. Graph can be covered by a single enclosed stroke (i.e. Eulerian circuit) only if it is an Eulerian graph. Graph *G* = (*V*, *E*) can be covered by a single unenclosed stroke only if it is a coherent graph with two vertices of degree 2 (opened stroke starts in one of these vertices and ends in another).

Let *G* = (*V*, *E*) be a graph, |*V*| = *n*, *n* ≥ 3. Let the degree of every vertex of graph *G* be at least *n*/2. Then *G* is a Hamilton graph. If graph *G* = (*V*, *E*) is a Hamilton graph, this graph has to be terminal, non-empty, coherent and may not consist of bridges. Nevertheless fulfillment of these conditions does not guarantee existence of Hamilton graph.

Oriented graph *G* is defined as ordered pair (*V*, *E*), where *V* is the set of vertices and *E* is set of ordered element pairs of set *V*. Elements of *V* are called graph vertices and elements of *E* are called oriented graph edges.

### **3. Maps**

2 Will-be-set-by-IN-TECH

and actualization of data. Nowadays, graphical information are stored as vector graphics (two-dimensional), but the trends are clearly forecasting the second generation GIS as an IS

It is useful to extend the implementation of the above-mentioned searching of objects by route-searching between two selected objects. As the map is the core of any GIS, a possible way of implement path-finding on graphs within such a system is the mapping of these maps

Section 2 presents the theoretical background needed in algorithm descriptions in the other following sections. In Sections 3–4, terms such as map and route are defined. Blind-search and A\* algorithms are introduced in Section 5. Next section (Section 6) presents the test cases and results: results on static two-dimensional maps, results from tests where three-dimensional (city) maps were used, results of testing with dynamics in the maps. Tests also demonstrate the tested 3D city information system, especially its user interface, and hardware configurations of host computers used during testing. Section 7 ends the chapter by concluding it and pointing

Leonhard Euler is considered the founder of graph theory, since he solved the problem known as the Seven Bridges of Königsberg in 1736. Graph theory as a science discipline started with first graph theory monographs written by mathematicians (K˝onig, 1936) and (Berge, 1958).

Let *V* be a final non-empty set, i.e. the set of vertices, and let *E* be the set of edges defined as:

Considering these two sets presented in Equation 2 and Equation 1, the couple *G* = (*V*, *E*)

Path is a sequence of vertices where an edge exists for any two consecutive vertices of this sequence. Degree of a vertex is the count of edges outgoing from this vertex, e.g. the degree of any internal vertex in a path is not less than two, the end vertices have a degree at least one. The graph *G* is a coherent graph if all vertices are reachable, i.e. for all vertices exists at least

Let *G* = (*V*, *E*) be a coherent graph. Distance *d*(*u*, *v*) between vertices *u* and *v* of graph *G* is the length of shortest route linking vertices *u*, *v*, i.e. the shortest path. Vertices distance *d*(*u*, *v*)

> *d*(*u*, *v*) = *d*(*v*, *u*) ∀*z* ∈ *V* : *d*(*u*, *v*) ≤ *d*(*u*, *z*) + *d*(*z*, *v*)

*d*(*u*, *v*) ≥ 0; *d*(*u*, *v*) = 0 ⇔ *u* = *v*

<sup>2</sup> ) is a set of all two-element subsets of *V*:

*E* = {*e*|*e* = {*v*1, *v*2} ; *v*1,2 ∈ *V*} . (1)

= {*A*|*A* ⊂ *V* ∧ |*A*| = 2} . (2)

(3)

working with 3D objects and surfaces as in (Szabó et al., 2010).

out future work.

Obviously, *E* ⊆ (

*V*

one path to any other vertex.

of graph *G* has the following properties:

<sup>2</sup> ), where (

*V*

defines graph *G* with the corresponding vertices and edges.

*V* 2 

**2. Graph theory basics**

onto search-able graphs that will be shown in next sections of this chapter.

The next part of this section relies on definitions in (Buˇcko & Klešˇc, 1999).

The core element of any GIS is the map. All objects have spatial coordinates defining their placement on this map. On other hand, maps are also basic elements if it comes to path-finding or animations. Architecture of such a system for animations based on drawing objects on a 2D map is shown on Fig. 1, its output is presented on Fig. 2.

The specifics and role of maps in the selected domain areas are presented in the following subsections.

### **3.1 Maps in virtual reality**

Simulations use 2D and 3D maps that are dynamically changing due simulation state changes. This type of maps is also used in any interactive graphics such virtual reality city walkthroughs or computer games.

Dynamic of the maps' change is expressed by structural changes in the maps, i.e. at least one object's spatial coordinates have been changed. Changes near found paths might indicate the need of re-running the path-finding algorithm on the new map segments.

Fig. 3. Correct (A) and incorrect (B) position of a segment of the city map designated for GIS

Path-Finding Algorithm Application for Route-Searching in Different Areas of Computer Graphics 173

in various ways. In the case of multilayer PCB, it might be between a few plates of copper conductive patterns. The creation and routing of conductors on PCB is the key of PCB design.

The algorithm used in PCB design applications is the principal factor of their success. The most used algorithms in this area are heuristic algorithms, channel algorithm, rip-up algorithm (rip and reroute) and maze algorithms. These algorithms include, for example Lee router or also algorithms such as Blind search or A\* described and compared later in this

In short, Lee router was first published more than 40 years ago and it was successfully implemented 20 years ago as a maze algorithm (Brown & Zwolinsky, 1990). In its simplest form, this router represents the algorithm to find a path between two points in 2D area with various obstacles. Its main features are ability to found always a path between the points, if any, within the limits of the work area size (PCB size) and this path is always the shortest

However, it is very slow and, moreover, cannot organize its data structure to minimize gaps, and so it is being replaced by above mentioned algorithms now. Lee router organizes PCB space to the network of points. All unfilled points in the basic network are unmarked during algorithm initialization. The algorithm consists of two phases: an exploratory phase and a processing phase. Exploratory phase is similar with seed-fill algorithm used in computer graphics. The target point is on last place in the list and we travel back over the list of unfilled points to the original seeds in the subsequent processing phase. This original seed represents a starting point. Very simple and efficient improvement is the possibility to use 45 degrees

In principle, the addressed issues are the issues discussed in this chapter.

internal map creation

route between two points.

chapter.

angles too.

Fig. 1. Architecture of example system for 3D maze drawing using a 2D map

Fig. 2. Example system output with animated actor

### **3.2 Maps in GIS**

Geographical information systems mainly use static maps. These maps could be both 2D or 3D or combined. Mostly, these maps are segments of cadastral maps, where the most important factor is the proper positioning of the segment root (see Fig. 3) that could be achieved by manual operation or using image filters (Póth, 2007).

### **3.3 Circuit boards as maps**

Printed Circuit Boards (PCB) are well tested and proven technology. A manufacturer of electronics cannot imagine manufacturing of electronic equipment without this technology. Reliable operation of the current integrated circuits with high operating frequencies requires a minimum length of printed circuit conductors. Therefore, it is necessary to pay close attention to the PCB design mainly in the case of the optimal length of the printed circuit conductors. The conductive pattern may be on one side or both sides of the board and might be linked 4 Will-be-set-by-IN-TECH

Fig. 1. Architecture of example system for 3D maze drawing using a 2D map

Geographical information systems mainly use static maps. These maps could be both 2D or 3D or combined. Mostly, these maps are segments of cadastral maps, where the most important factor is the proper positioning of the segment root (see Fig. 3) that could be achieved by

Printed Circuit Boards (PCB) are well tested and proven technology. A manufacturer of electronics cannot imagine manufacturing of electronic equipment without this technology. Reliable operation of the current integrated circuits with high operating frequencies requires a minimum length of printed circuit conductors. Therefore, it is necessary to pay close attention to the PCB design mainly in the case of the optimal length of the printed circuit conductors. The conductive pattern may be on one side or both sides of the board and might be linked

Fig. 2. Example system output with animated actor

manual operation or using image filters (Póth, 2007).

**3.2 Maps in GIS**

**3.3 Circuit boards as maps**

Fig. 3. Correct (A) and incorrect (B) position of a segment of the city map designated for GIS internal map creation

in various ways. In the case of multilayer PCB, it might be between a few plates of copper conductive patterns. The creation and routing of conductors on PCB is the key of PCB design. In principle, the addressed issues are the issues discussed in this chapter.

The algorithm used in PCB design applications is the principal factor of their success. The most used algorithms in this area are heuristic algorithms, channel algorithm, rip-up algorithm (rip and reroute) and maze algorithms. These algorithms include, for example Lee router or also algorithms such as Blind search or A\* described and compared later in this chapter.

In short, Lee router was first published more than 40 years ago and it was successfully implemented 20 years ago as a maze algorithm (Brown & Zwolinsky, 1990). In its simplest form, this router represents the algorithm to find a path between two points in 2D area with various obstacles. Its main features are ability to found always a path between the points, if any, within the limits of the work area size (PCB size) and this path is always the shortest route between two points.

However, it is very slow and, moreover, cannot organize its data structure to minimize gaps, and so it is being replaced by above mentioned algorithms now. Lee router organizes PCB space to the network of points. All unfilled points in the basic network are unmarked during algorithm initialization. The algorithm consists of two phases: an exploratory phase and a processing phase. Exploratory phase is similar with seed-fill algorithm used in computer graphics. The target point is on last place in the list and we travel back over the list of unfilled points to the original seeds in the subsequent processing phase. This original seed represents a starting point. Very simple and efficient improvement is the possibility to use 45 degrees angles too.

The map representation is a special graph example. Vertices correspond to squares. The bijection transforming the graph to squares will be called *map*. Transition between neighbor squares corresponds to graph edge and initial vertex in graph *Pg* corresponds to initial vertex in map *Pm*. Next function to define is *w*, which will perform weight calculation on the graph. Function *wg* is defined as representation from set of edges to set of non-negative real numbers

Path-Finding Algorithm Application for Route-Searching in Different Areas of Computer Graphics 175

Heuristics is defined as function *<sup>h</sup>* : *<sup>V</sup>* <sup>→</sup> **<sup>R</sup>**<sup>+</sup> ∪ {+∞}, which assigns the expected distance to

In our tests, the blind-search algorithm and Dijkstra's algorithm with Manhattan method of

The blind-search algorithm (example results are shown in Fig. 5(a)–5(c)) is based on progress to the target, until it collides with obstacle, then the direction of movement is changed and the algorithm tries to move along nearest to get around the obstacle. This algorithm works with aim on one square and usually does not take into consideration the whole evaluation function *w*, but only its two states represented by values +∞ or 1 (i.e. other than +∞). So it works only with simple evaluating function and does not count with regress. This algorithm does not guarantee the finding of shortest route and can be used on special maps because of its speed,

(*ex* − *tx*)+(*ey* − *ty*)

, (8)

target to vertex *v*. It estimates the length of shortest route from vertex *v* to the target.

The most common heuristics used for path-finding in 2D static maps are:

• the method of the maximum that uses max(d*x*, d*y*) as heuristics value.

There are several algorithms for route-searching in static maps:

*wg* : *<sup>E</sup>* <sup>→</sup> **<sup>R</sup>**<sup>+</sup> ∪ {+∞}. (6)

*wg*(*e*) = *wm*(*map*(*q*)). (7)

with +∞:

• blind-search • divide & conquer • breadth-first search

• depth-first search

For edge *e* = (*p*, *q*), function *wg* is defined as:

• Euclidean distance or Euclidean metric, • Manhattan method that uses d*x* + d*y*, and

• bidirectional breadth-first search

• Dijkstra's algorithm with heuristics (A\*)

low memory requirements and simple implementation.

*abs*

The evaluation process is as follows:

• iterative depth-first search • Dijkstra's algorithm • best-first search

heuristics (A\*) were used.

**5.1 Blind-search algorithm**

#### **3.4 From map to graph representation**

The basic working structure of algorithms is the map, which is represented as a set *M* = *N* × *N* (two-dimensional quadratic grid). Square is a member of set *M*. Every square represents position in map and has its own coordinates [*x*, *y*] according to beginning *Pm*. Squares [*x*1, *y*1] and [*x*2, *y*2] are neighbors, if (|*x*1 − *x*2| = 1 and |*y*1 − *y*2| <= 1) or (|*x*1 − *x*2| <= 1 a |*y*1 − *y*2| = 1) (they are neighbors geometrically). The beginning in map *Pm* is a defined square. This representation is called map representation.

Next, a function is defined:

$$w\_m: M \to \mathbb{R}^+ \cup \{+\infty\}.\tag{4}$$

This function assigns regress (e.g. weight, terrain cost) to every square. This function determines the difficulty of input for each square (or square traversing). If the regress is +∞ then the square is impassable and contains an obstacle (black color nodes in Fig. 4, white color indicates passable vertices). This function is simple only if it contains a two-element set 1 and +∞. In the map, the start square of the route is marked *A*, the target square is marked *B*.

Fig. 4. Example graph of a maze with walls (black color), lanes (white color) and a route (red color)

#### **4. Routes**

Route in map is a sequence of map squares (*m*1, *m*2,..., *mn*) in which every next square is neighbor to previous square on the route. There are no squares on the route that are included more than once. The route length is the sum of regresses of all route squares:

$$d = \sum\_{i} w\_{m}(m\_{i}).\tag{5}$$

#### **5. Algorithms**

The algorithm task is to find the shortest route in map from the start to the target, i.e. from *A* to *B*.

The map representation is a special graph example. Vertices correspond to squares. The bijection transforming the graph to squares will be called *map*. Transition between neighbor squares corresponds to graph edge and initial vertex in graph *Pg* corresponds to initial vertex in map *Pm*. Next function to define is *w*, which will perform weight calculation on the graph. Function *wg* is defined as representation from set of edges to set of non-negative real numbers with +∞:

$$w\_{\mathcal{S}} \colon E \to \mathbb{R}^+ \cup \{+\infty\}. \tag{6}$$

For edge *e* = (*p*, *q*), function *wg* is defined as:

$$w\_{\mathcal{S}}(e) = w\_{\mathcal{W}}(map(q)). \tag{7}$$

Heuristics is defined as function *<sup>h</sup>* : *<sup>V</sup>* <sup>→</sup> **<sup>R</sup>**<sup>+</sup> ∪ {+∞}, which assigns the expected distance to target to vertex *v*. It estimates the length of shortest route from vertex *v* to the target.

The most common heuristics used for path-finding in 2D static maps are:


There are several algorithms for route-searching in static maps:

• blind-search

6 Will-be-set-by-IN-TECH

The basic working structure of algorithms is the map, which is represented as a set *M* = *N* × *N* (two-dimensional quadratic grid). Square is a member of set *M*. Every square represents position in map and has its own coordinates [*x*, *y*] according to beginning *Pm*. Squares [*x*1, *y*1] and [*x*2, *y*2] are neighbors, if (|*x*1 − *x*2| = 1 and |*y*1 − *y*2| <= 1) or (|*x*1 − *x*2| <= 1 a |*y*1 − *y*2| = 1) (they are neighbors geometrically). The beginning in map *Pm* is a defined square.

This function assigns regress (e.g. weight, terrain cost) to every square. This function determines the difficulty of input for each square (or square traversing). If the regress is +∞ then the square is impassable and contains an obstacle (black color nodes in Fig. 4, white color indicates passable vertices). This function is simple only if it contains a two-element set 1 and +∞. In the map, the start square of the route is marked *A*, the target square is marked *B*.

Fig. 4. Example graph of a maze with walls (black color), lanes (white color) and a route (red

Route in map is a sequence of map squares (*m*1, *m*2,..., *mn*) in which every next square is neighbor to previous square on the route. There are no squares on the route that are included

The algorithm task is to find the shortest route in map from the start to the target, i.e. from *A*

more than once. The route length is the sum of regresses of all route squares:

*d* = ∑ *i*

*wm* : *<sup>M</sup>* <sup>→</sup> **<sup>R</sup>**<sup>+</sup> ∪ {+∞}. (4)

*wm*(*mi*). (5)

**3.4 From map to graph representation**

Next, a function is defined:

color)

**4. Routes**

**5. Algorithms**

to *B*.

This representation is called map representation.


In our tests, the blind-search algorithm and Dijkstra's algorithm with Manhattan method of heuristics (A\*) were used.

### **5.1 Blind-search algorithm**

The blind-search algorithm (example results are shown in Fig. 5(a)–5(c)) is based on progress to the target, until it collides with obstacle, then the direction of movement is changed and the algorithm tries to move along nearest to get around the obstacle. This algorithm works with aim on one square and usually does not take into consideration the whole evaluation function *w*, but only its two states represented by values +∞ or 1 (i.e. other than +∞). So it works only with simple evaluating function and does not count with regress. This algorithm does not guarantee the finding of shortest route and can be used on special maps because of its speed, low memory requirements and simple implementation.

The evaluation process is as follows:

$$\text{abs}\left[\left(e\_{\mathcal{X}} - t\_{\mathcal{X}}\right) + \left(e\_{\mathcal{Y}} - t\_{\mathcal{Y}}\right)\right],\tag{8}$$

original direction is tested. If the algorithm collides with obstacle it stops to evaluate squares and tests transitivity of only one square. This can fasten the algorithm but can also become

Path-Finding Algorithm Application for Route-Searching in Different Areas of Computer Graphics 177

The A\* algorithm (test results on Fig. 6(a)–6(c)) is a natural generalization of Dijkstra's algorithm and the scanning is based only on heuristics. In A\* the element classification process is done by a binary heap. All square near the evaluated square are also evaluated in eight directions. Function g(x) is evaluated from the starting square. To work with integer values, a

• If the evaluated square is in the diagonal, then the number 14 is assigned to this square,

*abs*(*ex* − *tx*) + *abs*(*ey* − *ty*)

i.e. the distance between d*x* + d*y* is computed. Sequence function is defined as *f*(*x*) = *g*(*x*) +

Assume that graph *G* = (*V*, *E*) has already evaluated edges, i.e. the mapping and weight computation is already done. Two values for every already processed vertex will be stored: *d*[*v*] will store the length of the shortest path to the vertex, *p*[*v*] will be the vertex before *v* on the path. The algorithm also uses two sets: *OPEN* and *CLOSED*. *OPEN* is the set of vertices to process, *CLOSED* includes vertices already processed as presented in (Sobota, Szabó &

2. The iteration cycle starts with the choose of the vertex *n* with best value of *f*(*n*). This vertex will be inserted into set *CLOSED* and all from *n* reachable vertices *v* are selected, and if they are not in set *OPEN*, they will be inserted with value *p*[*v*] = *n* and the corresponding value of *d*[*v*] = *d*[*n*] + *l*(*n*, *v*), where *l*(*n*, *v*) = *wg*(*v*) is the cost function for the selected edge from *n*. If *v* was already a member of *OPEN*, a test is needed if the new path is shorter than the old one by comparing *d*[*v*] < *d*[*n*] + *l*(*n*, *v*). If the comparison fails, update of the

Fig. 6(a)–6(c) show examples of usage of the A\* algorithm on 2D static maps to compare with

There are possible modifications to this algorithm that can decrease memory usage and fasten the A\* algorithm. The most common techniques optimize the number of vertices within the sets *OPEN* and *CLOSED* by discarding the less useful ones. This technique limits the count of the elements of each set separately to get best performance but do not miss some possible paths. The common problem is the grid resolution selection: high resolution rapidly slows down the algorithm execution; low resolution may cause loss on important information as smaller buildings and/or gates. The maximum sizes of sets *OPEN* and *CLOSED* were

3. The presented cycle continues until the target is found or the set *OPEN* is empty. 4. After the algorithm had finished, the path is reconstructed using values of *p*[*v*].

, (9)

modification is made to the representation of Euclidean distance as follows:

the algorithm into endless loop (see Fig. 5(b)).

• if not, then number 10 is assigned to this square.

10 ∗ 

1. At the beginning, the starting vertex is inserted into *OPEN*.

the results of the blind-search algorithm from the previous section.

As heuristics, the Manhattan method is used:

*h*(*x*). The algorithm description follows.

values *p*[*v*] and *d*[*v*] is performed.

**5.2 A\* algorithm**

and

Perháˇc, 2008):

(c) Path found on Map3

where *ex*,*<sup>y</sup>* are the [*x*, *y*] coordinates of the actually evaluated square and *tx*,*<sup>y</sup>* are coordinates of target square on the map.

The square with the lowest evaluation is chosen and set as new starting square for the next iteration. Continuing using this mechanism, the algorithm moves to target with the fastest possible approach. Because of the use of a simple evaluation, this algorithm is one of the fastest algorithms for path-finding.

Problem occurs when the evaluated square is impassable. If this situation occurs, the algorithm stops to evaluate squares and remembers the obstacle direction and then tries to avoid this obstacle. The avoid process is done by choosing the nearest available square, which is gained by turning the movement direction into right. This square is the new starting square, which is not evaluated but only checked if the direction with obstacle is not released. If yes, then the square in this direction is set as new starting square and the evaluation process starts again. If not, then the algorithm continues with new direction and tests first route. By this movement the algorithm can collide with new obstacles. It remembers again only the direction with obstacle and sets new course. This new course is tested and if it is released, then the original direction is tested. If the algorithm collides with obstacle it stops to evaluate squares and tests transitivity of only one square. This can fasten the algorithm but can also become the algorithm into endless loop (see Fig. 5(b)).

### **5.2 A\* algorithm**

8 Will-be-set-by-IN-TECH

(a) Path found on Map1

(b) Trouble on Map2

(c) Path found on Map3

where *ex*,*<sup>y</sup>* are the [*x*, *y*] coordinates of the actually evaluated square and *tx*,*<sup>y</sup>* are coordinates

The square with the lowest evaluation is chosen and set as new starting square for the next iteration. Continuing using this mechanism, the algorithm moves to target with the fastest possible approach. Because of the use of a simple evaluation, this algorithm is one of the

Problem occurs when the evaluated square is impassable. If this situation occurs, the algorithm stops to evaluate squares and remembers the obstacle direction and then tries to avoid this obstacle. The avoid process is done by choosing the nearest available square, which is gained by turning the movement direction into right. This square is the new starting square, which is not evaluated but only checked if the direction with obstacle is not released. If yes, then the square in this direction is set as new starting square and the evaluation process starts again. If not, then the algorithm continues with new direction and tests first route. By this movement the algorithm can collide with new obstacles. It remembers again only the direction with obstacle and sets new course. This new course is tested and if it is released, then the

Fig. 5. Example paths found by the blind-search algorithm

of target square on the map.

fastest algorithms for path-finding.

The A\* algorithm (test results on Fig. 6(a)–6(c)) is a natural generalization of Dijkstra's algorithm and the scanning is based only on heuristics. In A\* the element classification process is done by a binary heap. All square near the evaluated square are also evaluated in eight directions. Function g(x) is evaluated from the starting square. To work with integer values, a modification is made to the representation of Euclidean distance as follows:


As heuristics, the Manhattan method is used:

$$10 \ast \left[ abs(e\_x - t\_x) + abs(e\_y - t\_y) \right],\tag{9}$$

i.e. the distance between d*x* + d*y* is computed. Sequence function is defined as *f*(*x*) = *g*(*x*) + *h*(*x*). The algorithm description follows.

Assume that graph *G* = (*V*, *E*) has already evaluated edges, i.e. the mapping and weight computation is already done. Two values for every already processed vertex will be stored: *d*[*v*] will store the length of the shortest path to the vertex, *p*[*v*] will be the vertex before *v* on the path. The algorithm also uses two sets: *OPEN* and *CLOSED*. *OPEN* is the set of vertices to process, *CLOSED* includes vertices already processed as presented in (Sobota, Szabó & Perháˇc, 2008):


Fig. 6(a)–6(c) show examples of usage of the A\* algorithm on 2D static maps to compare with the results of the blind-search algorithm from the previous section.

There are possible modifications to this algorithm that can decrease memory usage and fasten the A\* algorithm. The most common techniques optimize the number of vertices within the sets *OPEN* and *CLOSED* by discarding the less useful ones. This technique limits the count of the elements of each set separately to get best performance but do not miss some possible paths. The common problem is the grid resolution selection: high resolution rapidly slows down the algorithm execution; low resolution may cause loss on important information as smaller buildings and/or gates. The maximum sizes of sets *OPEN* and *CLOSED* were

The efficiency of blind-search algorithm is only 40% because it found a route only in four of 10 maps. A\* algorithm searched in all maps 14 895 squares together. Blind-search needed to search 83 928 squares, because it used to cycle itself (see Fig. 5(b)) and the condition of cycle detection was at 10000 cycles. The blind-search algorithm searched 5.64 times more squares than A\* algorithm. Considering only those maps, where both algorithms succeeded, blind-search algorithm would be the better one in speed and number of squares searched,

Path-Finding Algorithm Application for Route-Searching in Different Areas of Computer Graphics 179

We present the test results of both algorithms on Fig. 7. It is obvious that blind-search was not so effective like the A\* algorithm when compared the count of squares searched on all maps. The speeds on all maps are not comparable due to the low efficiency of the blind-search

Fig. 7. Statistical results comparison for both algorithms gathered on 10 maps

Two-dimensional maps, as presented above, are a good testing tool, but in real systems three-dimensional ones are more frequently asked. Representing higher fidelity to real world, virtual reality techniques help to build more user-friendly and more precise information

Dealing with geographical information, a three-dimensional map (or more precisely, the visualization of it) introduces a few new problems into the path-finding by extending the

Therefore, tests on more complicated surfaces and maps with building objects, hills etc. were also run. The result is shown on Fig. 8 in the form of a route found from point *A* to point *B*

Tests on optimizing of sizes for sets *OPEN* and *CLOSED* were also performed. As already mentioned, in (Vlasova, 2008) were made some experiments under the supervision of the

• each test case was run separately on the same hardware (no sequences etc.),

respectively.

algorithm.

systems.

**6.2 Testing with static 3D city maps**

amount of information to be searched.

between the buildings of a randomly generated city.

• visualization (rendering) speed was set to minimum, and • each test case was run ten times and results were averaged.

authors. The testing conditions were as follows:

(c) Path found on Map3

Fig. 6. Example paths found by the A\* algorithm

examined and experimentally defined in (Sobota, Szabó & Perháˇc, 2008) and (Vlasova, 2008) as 1000 and 3000.

### **6. Algorithm use cases and evaluation results**

#### **6.1 Test results for static 2D maps - the maze example continued**

A couple of tests have been run on two-dimensional static maps to compare the blind-search and A\* algorithms, which implementations were based on (Adams, 2003; Barron, 2003). Ten (10) maps were tested.

Routes found differ in length (compare results on Fig. 5(c) and Fig. 6(c)). The route always starts with red arrow. If the route is returning by the same route backward, then the arrow is changed to yellow and the route continues with yellow arrow. If the route crosses itself (blind-search algorithm), then it is in cycle and the arrow will be marked by boxed blue color (see 5(b)). Yellow square is start square, blue square is target square.

The efficiency of blind-search algorithm is only 40% because it found a route only in four of 10 maps. A\* algorithm searched in all maps 14 895 squares together. Blind-search needed to search 83 928 squares, because it used to cycle itself (see Fig. 5(b)) and the condition of cycle detection was at 10000 cycles. The blind-search algorithm searched 5.64 times more squares than A\* algorithm. Considering only those maps, where both algorithms succeeded, blind-search algorithm would be the better one in speed and number of squares searched, respectively.

We present the test results of both algorithms on Fig. 7. It is obvious that blind-search was not so effective like the A\* algorithm when compared the count of squares searched on all maps. The speeds on all maps are not comparable due to the low efficiency of the blind-search algorithm.

Fig. 7. Statistical results comparison for both algorithms gathered on 10 maps

### **6.2 Testing with static 3D city maps**

10 Will-be-set-by-IN-TECH

(a) Path found on Map1

(b) Path found on Map2

(c) Path found on Map3

examined and experimentally defined in (Sobota, Szabó & Perháˇc, 2008) and (Vlasova, 2008)

A couple of tests have been run on two-dimensional static maps to compare the blind-search and A\* algorithms, which implementations were based on (Adams, 2003; Barron, 2003). Ten

Routes found differ in length (compare results on Fig. 5(c) and Fig. 6(c)). The route always starts with red arrow. If the route is returning by the same route backward, then the arrow is changed to yellow and the route continues with yellow arrow. If the route crosses itself (blind-search algorithm), then it is in cycle and the arrow will be marked by boxed blue color

Fig. 6. Example paths found by the A\* algorithm

**6. Algorithm use cases and evaluation results**

**6.1 Test results for static 2D maps - the maze example continued**

(see 5(b)). Yellow square is start square, blue square is target square.

as 1000 and 3000.

(10) maps were tested.

Two-dimensional maps, as presented above, are a good testing tool, but in real systems three-dimensional ones are more frequently asked. Representing higher fidelity to real world, virtual reality techniques help to build more user-friendly and more precise information systems.

Dealing with geographical information, a three-dimensional map (or more precisely, the visualization of it) introduces a few new problems into the path-finding by extending the amount of information to be searched.

Therefore, tests on more complicated surfaces and maps with building objects, hills etc. were also run. The result is shown on Fig. 8 in the form of a route found from point *A* to point *B* between the buildings of a randomly generated city.

Tests on optimizing of sizes for sets *OPEN* and *CLOSED* were also performed. As already mentioned, in (Vlasova, 2008) were made some experiments under the supervision of the authors. The testing conditions were as follows:


no. 4 – close). Upper left corner contains also two buttons: ref. no. 1 is for opening a map; ref. no. 2 point on the options menu. 'Options' are e.g. map resolution. The ref. number 5

Path-Finding Algorithm Application for Route-Searching in Different Areas of Computer Graphics 181

(a) The main screen (b) Path searching dialog

Selecting this last option, a search dialog opens that is shown on Fig. 9(b). As any classical search dialogs, it has a field for the search query (reference number ref. no. 6), results displaying area (ref. no. 7), search execution button (ref. no. 8), animation button (ref. no. 9), path display button (ref. no. 10), object display button (ref. no. 11), and close dialog button

1. Open a map, e.g. in this case each of the following maps was used:

2. Type a search phrase and evaluate what has been found and displayed.

• Function go-to-object only moves the camera to the selected target.

position on the map to the selected target as shown on Fig. 8.

campus map are nearly real-time results due to the small count of objects.

debugging phase of development of the path animation part of the system.

• the real (but yet only partial) city map, and

• the map of the university campus.

3. Now follows the test of path-finding abilities.

• a map with some known labeled objects randomly generated by other tool,

• Function show-path opens after a few minutes the resulting route from the actual

The speed is faster with less resolution, but some narrow streets have been missed. With the

The virtual reality oriented part of the tested geographical information system is the animation function. The path-finding module was shared with the other already mentioned parts. The test case had to ensure the quality of the obstacle detection. This part offers path visualization by circles and the animated walkthrough of the scene rendered from the map and additional object information stored in the GIS database. Fig. 10 shows the animation screen. Buttons labeled 13–16 are classical navigation buttons for movement within the animation. This test case is evaluated by expressing the quality and feel by human testers; and were used in the

indicates the search button, which functionality was tested in the test cases.

Fig. 9. 3D city IS test case setup

The testing procedure is simple:

(ref. no. 12).

Fig. 8. Path found by A\* algorithm on a random 9km2 city map


Table 1. Speed test results for A\* algorithm optimization

The test results are shown on Table 1 and Table 2. The best performance was achieved by dual optimizing (i.e. using both limits), but the optimization of size of set *OPEN* had stronger effect on execution speed than the size optimization of set *CLOSED*.


Table 2. Set sizes and path lengths during A\* algorithm optimization

#### **6.2.1 The 3D City IS test case**

The tested A\* algorithm was implemented within a GIS called the 3D city IS, details of the system can be found in (Sobota et al., 2010; Sobota, Koreˇcko & Perháˇc, 2009; Sobota, Perháˇc & Petz, 2009; Sobota, Szabó, Perháˇc & Ádám, 2008; Sobota, Szabó & Perháˇc, 2008).

Fig. 9(a) shows the main screen of the tested GIS. There are a few building objects shown on the base map. In the upper right corner are navigation buttons (ref. no. 3 for minimize, ref. no. 4 – close). Upper left corner contains also two buttons: ref. no. 1 is for opening a map; ref. no. 2 point on the options menu. 'Options' are e.g. map resolution. The ref. number 5 indicates the search button, which functionality was tested in the test cases.

(a) The main screen (b) Path searching dialog

Fig. 9. 3D city IS test case setup

12 Will-be-set-by-IN-TECH

Optimization technique Average execution time [s] none 489 *CLOSED* 458 *OPEN* 368 *OPEN* & *CLOSED* 346

The test results are shown on Table 1 and Table 2. The best performance was achieved by dual optimizing (i.e. using both limits), but the optimization of size of set *OPEN* had stronger

> Optimization technique Path length [m] |*OPEN*| |*CLOSED*| none 5210 6022 5210 *CLOSED* 5210 6022 3000 *OPEN* 5210 1000 5263 *OPEN* & *CLOSED* 5210 1000 3000

The tested A\* algorithm was implemented within a GIS called the 3D city IS, details of the system can be found in (Sobota et al., 2010; Sobota, Koreˇcko & Perháˇc, 2009; Sobota, Perháˇc &

Fig. 9(a) shows the main screen of the tested GIS. There are a few building objects shown on the base map. In the upper right corner are navigation buttons (ref. no. 3 for minimize, ref.

Petz, 2009; Sobota, Szabó, Perháˇc & Ádám, 2008; Sobota, Szabó & Perháˇc, 2008).

Fig. 8. Path found by A\* algorithm on a random 9km2 city map

Table 1. Speed test results for A\* algorithm optimization

effect on execution speed than the size optimization of set *CLOSED*.

Table 2. Set sizes and path lengths during A\* algorithm optimization

**6.2.1 The 3D City IS test case**

Selecting this last option, a search dialog opens that is shown on Fig. 9(b). As any classical search dialogs, it has a field for the search query (reference number ref. no. 6), results displaying area (ref. no. 7), search execution button (ref. no. 8), animation button (ref. no. 9), path display button (ref. no. 10), object display button (ref. no. 11), and close dialog button (ref. no. 12).

The testing procedure is simple:

1. Open a map, e.g. in this case each of the following maps was used:

	- Function go-to-object only moves the camera to the selected target.
	- Function show-path opens after a few minutes the resulting route from the actual position on the map to the selected target as shown on Fig. 8.

The speed is faster with less resolution, but some narrow streets have been missed. With the campus map are nearly real-time results due to the small count of objects.

The virtual reality oriented part of the tested geographical information system is the animation function. The path-finding module was shared with the other already mentioned parts. The test case had to ensure the quality of the obstacle detection. This part offers path visualization by circles and the animated walkthrough of the scene rendered from the map and additional object information stored in the GIS database. Fig. 10 shows the animation screen. Buttons labeled 13–16 are classical navigation buttons for movement within the animation. This test case is evaluated by expressing the quality and feel by human testers; and were used in the debugging phase of development of the path animation part of the system.

Units 1 8 16 24 32 40 48 56 A\* [s] 0.022 0.146 0.281 0.381 0.514 0.658 0.849 0.966 BS [s] 0.043 0.42 0.853 1.262 1.707 2.303 2.756 3.233

Path-Finding Algorithm Application for Route-Searching in Different Areas of Computer Graphics 183

Table 3. Average time for 10 maps for A\* and blind-search (BS) algorithm in relation to No. of

Units 1 8 16 24 32 40 48 56 A\* [s] 0.009 0.058 0.112 0.152 0.206 0.263 0.340 0.386 BS [s] 0.001 0.008 0.016 0.025 0.032 0.044 0.052 0.058

Units 64 72 80 88 96 192 384 A\* [s] 0.431 0.450 0.530 0.581 0.666 1.268 2.537 BS [s] 0.065 0.075 0.081 0.087 0.097 0.189 0.390

Table 4. Average time for A\* and blind-search (BS) algorithm in relation to No. of units (for

Name CPU GPU RAM TConf1 AMD Duron 1200 MHz Geforce MX400/64MB 256 MB TConf2 AMD Athlon 1700+ Radeon 9200SE 512 MB TConf3 AMD Athlon 2000+ Geforce MX460/64MB 512 MB TConf4 AMD Barton 2500+ Geforce 5900 2 GB TConf5 Intel P4 Centrino 1.7 GHz Intel GMA 900 512 MB

Units 1 8 16 24 32 40 48 56 TConf1 [s] 0.000 0.016 0.031 0.047 0.047 0.062 0.094 0.094 TConf2 [s] 0.002 0.016 0.020 0.032 0.042 0.053 0.066 0.074 TConf3 [s] 0.002 0.010 0.018 0.029 0.039 0.046 0.056 0.065 TConf4 [s] 0.002 0.007 0.017 0.023 0.031 0.039 0.047 0.055 TConf5 [s] 0.000 0.016 0.015 0.016 0.031 0.031 0.047 0.047 Units 64 72 80 88 96 192 384 TConf1 [s] 0.109 0.125 0.125 0.140 0.156 0.328 0.640 TConf2 [s] 0.086 0.090 0.106 0.117 0.125 0.252 0.504 TConf3 [s] 0.074 0.085 0.095 0.104 0.113 0.226 0.452 TConf4 [s] 0.065 0.073 0.078 0.085 0.092 0.189 0.377 TConf5 [s] 0.047 0.062 0.062 0.078 0.078 0.157 0.297

Table 6. Average times for A\* algorithm using different hardware configurations

Last group of tests was aimed to measure average time for animations of unit movement on path from *A* to *B*. In test realization, for places *A* and *B* constant locations were used. Time was measured including path-finding, but the additional condition was to achieve the same formation of the units in both locations, e.g. for 96 units a 8 × 12 rectangle. Test results are

Units 64 72 80 88 96 192 384 A\* [s] 1.077 1.126 1.324 1.453 1.665 3.169 6.343 BS [s] 3.717 4.247 4.705 5.173 5.671 11.376 23.799

units

maps, where BS succeed)

Table 5. Hardware test configurations

shown in Table 8 and Table 9.

Fig. 10. Walk-through animation of 3D city information system

### **6.3 Path-finding results in dynamic 2D maps**

In virtual reality applications (also in computer simulators and games), the effect of reality is significantly achieved by dynamics of the scene.

For problem simplification, the next test case uses pseudo 3D solution, meaning that the scene is a composition of 2D (map) and 3D objects. Note that in this case path-finding algorithms have to deal with less data, i.e. weight function and final calculations could be performed faster. The same simplification could be made in the case of any type of systems listed above.

There were 10 maps created with different amount and positions of static obstacles. Tests were provided for 1, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 192 and 384 active moving objects called units. Test cases were oriented on calculation time (e.g. speed of path-finding in relation to CPU) and visualization time (e.g. the role and impact of GPU) while comparing the two selected algorithms.

Tables 3 and 4 show the contrast between the algorithms during the testing process. While considering all maps as in Table 3 A\* algorithm seems to be better in every case, the fact is that there are averaged values for all maps, where blind-search algorithm failure to find a path incorrectly implies being this algorithm the slower one. Considering only calculation time on maps, where both algorithms succeed shown in Table 4 reflect that blind-search algorithm is faster but less stable.

Next group of tests was designed to compare speeds of both path-finding algorithm implementations on different hardware CPUs. Table 5 shows the test configurations used.

Although the implementations should not be affected by the hardware and results are not used as CPU metrics, Tables 6–7 present the values. The only conclusion to make is that the slower A\* algorithm could be evaluated faster on a fast CPU than the faster blind-search algorithm using a slower CPU.


Table 3. Average time for 10 maps for A\* and blind-search (BS) algorithm in relation to No. of units


Table 4. Average time for A\* and blind-search (BS) algorithm in relation to No. of units (for maps, where BS succeed)


Table 5. Hardware test configurations

14 Will-be-set-by-IN-TECH

In virtual reality applications (also in computer simulators and games), the effect of reality is

For problem simplification, the next test case uses pseudo 3D solution, meaning that the scene is a composition of 2D (map) and 3D objects. Note that in this case path-finding algorithms have to deal with less data, i.e. weight function and final calculations could be performed faster. The same simplification could be made in the case of any type of systems listed above. There were 10 maps created with different amount and positions of static obstacles. Tests were provided for 1, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 192 and 384 active moving objects called units. Test cases were oriented on calculation time (e.g. speed of path-finding in relation to CPU) and visualization time (e.g. the role and impact of GPU) while comparing

Tables 3 and 4 show the contrast between the algorithms during the testing process. While considering all maps as in Table 3 A\* algorithm seems to be better in every case, the fact is that there are averaged values for all maps, where blind-search algorithm failure to find a path incorrectly implies being this algorithm the slower one. Considering only calculation time on maps, where both algorithms succeed shown in Table 4 reflect that blind-search algorithm is

Next group of tests was designed to compare speeds of both path-finding algorithm implementations on different hardware CPUs. Table 5 shows the test configurations used. Although the implementations should not be affected by the hardware and results are not used as CPU metrics, Tables 6–7 present the values. The only conclusion to make is that the slower A\* algorithm could be evaluated faster on a fast CPU than the faster blind-search

Fig. 10. Walk-through animation of 3D city information system

**6.3 Path-finding results in dynamic 2D maps**

the two selected algorithms.

algorithm using a slower CPU.

faster but less stable.

significantly achieved by dynamics of the scene.


Table 6. Average times for A\* algorithm using different hardware configurations

Last group of tests was aimed to measure average time for animations of unit movement on path from *A* to *B*. In test realization, for places *A* and *B* constant locations were used. Time was measured including path-finding, but the additional condition was to achieve the same formation of the units in both locations, e.g. for 96 units a 8 × 12 rectangle. Test results are shown in Table 8 and Table 9.

The implementation of both algorithms showed up as useful, but the significant difference of applicability between them excludes the blind-search algorithm from the set of candidates of

Path-Finding Algorithm Application for Route-Searching in Different Areas of Computer Graphics 185

Algorithms were implemented into a 3D city information system as a prototype of a GIS. The included functionalities except those presented include the object browser and map editor. The future plan is to interconnect the system with other systems for geographical

The similarity to today's GPS in the case of route- searching is intentional. According to the trends in the area, future navigation systems might offer three-dimensional interfaces as well. The only difference is in the type of the map, because our system uses a static map while a

As mentioned in the introducing section, the use of graph theory becomes common in modern computer graphics and virtual reality systems. Collision detection is the main area of it, but, as this article implies, the information system area should follow these trends as well

Authors thank R. Šváby, M. Šváby (M. Vlasova) and V. Kríž for their constructive work in the implementation and debugging phase of development of the presented computer graphics

This work was supported by VEGA grant project No. 1/0646/09: "Tasks solution for large graphical data processing in the environment of parallel, distributed and network computer

Adams, J. (2003). *Advanced Animation with DirectX*, Premier Press, a division of Course

Brown, A. & Zwolinsky, M. (1990). Lee router modified for global routing, *CAD* (5): 296–300. Buˇcko, M. & Klešˇc, M. (1999). *Discrete Mathematics, Diskrétna matematika (orig. Slovak title)*,

K˝onig, D. (1936). *Theorie der Endlichen und Unendlichen Graphen: Kombinatorische Topologie der*

Kulji´c, B., Simon, J. & Szakáll, T. (2009). Pathfinding based on edge detection and infrared distance measuring sensor, *Acta Polytechnica Hungarica* 6(1): 103–116. Póth, M. (2007). Comparison of convolutional based interpolation techniques in digital image

processing, *Proc. of the 5th Int. Symposium on Intelligent Systems and Informatics, SISY*

*Mathématiques*, Dunod, Paris 1958 (English edition, Wiley 1961; Methuen & Co, New York 1962; Russian, Moscow 1961; Spanish, Mexico 1962; Roumanian, Bucharest 1969; Chinese, Shanghai 1963; Second printing of the 1962 first English edition.

Barron, T. (2003). *Strategy Game Programming with DirectX 9.0*, Wordware Publishing Inc. Berge, C. (1958). *Théorie des graphes et ses applications*, Vol. II of *Collection Universitaire de*

data processing such points clouds analyzers, video or ortophoto processors etc.

good navigation system uses a dynamic one that might future GIS use too.

by implementing its algorithms into the visualization and searching modules.

route-searching algorithms for a GIS.

**8. Acknowledgements**

software applications.

Technology.

Dover, New York 2001).

Academic Press elfa, Košice.

*2007*, Subotica, Serbia, pp. 87–90.

*Streckenkomplexe*, Akad. Verlag, Leipzig.

systems."

**9. References**


Table 7. Average times for blind-search algorithm using different hardware configurations


Table 8. Average animation times for A\* algorithm using different hardware configurations


Table 9. Average animation times for blind-search algorithm using different hardware configurations

### **7. Conclusion**

This chapter presents a view on graph theory from point of view of virtual reality. Applications and testing of blind-search algorithm and the modified Dijkstra's A\* algorithm of path-finding in graphs within a geographical information system were presented.

From the test results some conclusions can be made. The blind-search algorithm is fast but is not accurate enough. It can be used in maps with low number of obstacles only when the results have to be gained as fast as possible and the route does not have to be the shortest one.

A\* algorithm is the most used algorithm and showed its qualities in our tests as well. Despite time results (the speed of this algorithm is not the fastest), this algorithm is reliable and has provided better results. The optimization techniques of set size restrictions were useful and brought higher speed into execution of path-finding.

The implementation of both algorithms showed up as useful, but the significant difference of applicability between them excludes the blind-search algorithm from the set of candidates of route-searching algorithms for a GIS.

Algorithms were implemented into a 3D city information system as a prototype of a GIS. The included functionalities except those presented include the object browser and map editor. The future plan is to interconnect the system with other systems for geographical data processing such points clouds analyzers, video or ortophoto processors etc.

The similarity to today's GPS in the case of route- searching is intentional. According to the trends in the area, future navigation systems might offer three-dimensional interfaces as well. The only difference is in the type of the map, because our system uses a static map while a good navigation system uses a dynamic one that might future GIS use too.

As mentioned in the introducing section, the use of graph theory becomes common in modern computer graphics and virtual reality systems. Collision detection is the main area of it, but, as this article implies, the information system area should follow these trends as well by implementing its algorithms into the visualization and searching modules.

### **8. Acknowledgements**

16 Will-be-set-by-IN-TECH

Units 1 8 16 24 32 40 48 56 TConf1 [s] 0.000 0.000 0.000 0.016 0.031 0.031 0.031 0.031 TConf2 [s] 0.000 0.007 0.014 0.012 0.017 0.021 0.027 0.035 TConf3 [s] 0.000 0.004 0.008 0.012 0.017 0.022 0.027 0.032 TConf4 [s] 0.000 0.003 0.006 0.009 0.013 0.016 0.020 0.023 TConf5 [s] 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.015 Units 64 72 80 88 96 192 384 TConf1 [s] 0.047 0.047 0.063 0.063 0.063 0.109 0.250 TConf2 [s] 0.040 0.044 0.045 0.052 0.055 0.117 0.229 TConf3 [s] 0.035 0.040 0.042 0.046 0.051 0.104 0.209 TConf4 [s] 0.029 0.032 0.035 0.039 0.040 0.084 0.168 TConf5 [s] 0.015 0.031 0.031 0.031 0.031 0.078 0.156 Table 7. Average times for blind-search algorithm using different hardware configurations

Units 1 96 192 384 TConf1 [s] 39 63 84 124 TConf2 [s] 31 31 35 50 TConf3 [s] 15 19 30 35 TConf4 [s] 13 13 25 28 TConf5 [s] 22 28 43 50 Table 8. Average animation times for A\* algorithm using different hardware configurations

> Units 1 96 192 384 TConf1 [s] 55 92 117 167 TConf2 [s] 43 43 49 70 TConf3 [s] 21 27 42 49 TConf4 [s] 18 19 34 39 TConf5 [s] 31 39 60 68

Table 9. Average animation times for blind-search algorithm using different hardware

of path-finding in graphs within a geographical information system were presented.

brought higher speed into execution of path-finding.

This chapter presents a view on graph theory from point of view of virtual reality. Applications and testing of blind-search algorithm and the modified Dijkstra's A\* algorithm

From the test results some conclusions can be made. The blind-search algorithm is fast but is not accurate enough. It can be used in maps with low number of obstacles only when the results have to be gained as fast as possible and the route does not have to be the shortest one. A\* algorithm is the most used algorithm and showed its qualities in our tests as well. Despite time results (the speed of this algorithm is not the fastest), this algorithm is reliable and has provided better results. The optimization techniques of set size restrictions were useful and

configurations

**7. Conclusion**

Authors thank R. Šváby, M. Šváby (M. Vlasova) and V. Kríž for their constructive work in the implementation and debugging phase of development of the presented computer graphics software applications.

This work was supported by VEGA grant project No. 1/0646/09: "Tasks solution for large graphical data processing in the environment of parallel, distributed and network computer systems."

### **9. References**


Brown, A. & Zwolinsky, M. (1990). Lee router modified for global routing, *CAD* (5): 296–300.


**9** 

Ali Hamlili

*Morocco* 

**Techniques for Analyzing Random Graph** 

Graph theory is birth in 1736 with the publication of the work of the Swiss mathematician Leonhard Euler on the problem of finding a round trip path that would cross all the seven bridges of the city of Königsberg exactly once (Euler, 1736). Since then, this theory has known many important developments and has answered to a lot of practical issues. Today, the graph theory is considered as an essential component of discrete mathematics. It aims at analyzing the structure induced by interactions between a set of elements and to study the resulting fundamental properties. Graph theory occurs as a fundamental and theoretical framework for analyzing a wide range of the so-called *real-world networks* in biology, computer sciences, multi-agent systems, chemistry, physics, economy, knowledge management, and sociology. In many works, graph models are employed as constructive descriptions to represent and understand the behavior of different complexe systems (Molloy and Reed, 1998; Mieghem et al., 2000; Newman, 2003; Kawahigashi et al. 2005; Jurdak, 2007). In such models, the graph vertices stand for the components (nodes) of the network that encode information about the values of the state variables of the dynamical system and the edges represent the mutual relationships between the correspondent endnodes. In practice, random graph theory has become increasingly important for modeling networks whose behaviors exhibit nondeterministic looks. In recent years, many significant results have used random graph models to explain, replicate and simulate the behavior of dynamic real-world networks (Hekmat and Van Mieghem, 2003; Kawahigashi et al., 2005;

Durrett, 2006; Onat et al., 2008; Hewer et al., 2009; Hamlili, 2010; Trullols et al., 2010).

To provide a convenient way to represent and analyze dynamic networks by dynamic random graphs, it is very important to clarify how the model of random graphs should explain the behavior of change in the topology of the network. Thus, we introduce some stochastic processes (times of graph change, graph configurations, degree number at a chosen vertex …) in order to attempt to account for the observed statistical properties in graph dynamics. Therefore, we will try to highlight the basic mathematical operations that transform a graph into other one to make possible describing the dynamic change of graph configurations. In this objective, different concepts and notation are introduced in the preliminary sections and will be used throughout the chapter. A reader familiar with the common topics in general graph theory may skip ahead. However, he may use it as necessary to refer to unknown definitions or unusual notations. Also, a particular attention is agreed to Erdös-Rényi's random graph model (Erdös and Rényi, 1960; Bollobàs, 2001).

**1. Introduction** 

**Dynamics and Their Applications** 

*ENSIAS, Mohamed V–Souissi University, Rabat,* 


## **Techniques for Analyzing Random Graph Dynamics and Their Applications**

### Ali Hamlili

*ENSIAS, Mohamed V–Souissi University, Rabat, Morocco* 

### **1. Introduction**

18 Will-be-set-by-IN-TECH

186 New Frontiers in Graph Theory

Sobota, B., Hrozek, F. & Szabó, Cs. (2010). 3D visualization of urban areas, *Proc. of the 8th Int.*

Sobota, B., Koreˇcko, Š.. & Perháˇc, J. (2009). 3D modeling and visualization of historic

Sobota, B., Perháˇc, J. & Petz, I. (2009). Surface modelling in 3D city information system, *J. of*

Sobota, B., Szabó, Cs., Perháˇc, J. & Ádám, N. (2008). 3D visualisation for city information

Sobota, B., Szabó, Cs. & Perháˇc, J. (2008). Using path-finding algorithms of graph theory

Szabó, Cs. & Sobota, B. (2009). Some aspects of database refactoring for GIS, *Proc. of the Fourth*

Szabó, Cs., Sobota, B. & Kiš, R. (2010). Terrain LoD in real-time 3D map visualization, *8th Joint*

Tuˇcek, J. (1998). *Geographical Information Systems, Geografické informaˇcní systémy (orig. Czech*

Vlasova, M. (2008). *3D city information system*, Master's thesis, DCI FEEaI TU, Košice, Slovakia. Vokorokos, L., Blišt'an, P., Petrík, S. & Ádám, N. (2004). Utilization of parallel computer system for modeling of geological phenomena in GIS, *Metalurgy J.* 43(4): 287–291. Vokorokos, L., Danková, E. & Ádám, N. (2010). Parallel scene splitting and assigning for fast

ray tracing, *Acta Electrotechnica et Informatica* 10(2): 33–37.

PIC MCU's, *Proc. of the 4th Serbian-Hungarian Joint Symposium on Intelligent Systems,*

*Conf. on Emerging eLearning Technologies and Applications, ICETA 2010*, Stará Lesná,

buildings as cultural heritage preservation, *Proc. of the Tenth Int. Conf. on Informatics,*

system, *Proc. of Int. Conf. on Applied Electrical Engineering and Informatics, AEI 2008*,

for route-searching in geographical information systems, *SISY 2008 – Proc. of the 6th International Symposium on Intelligent Systems and Informatics*, Subotica, Serbia,

*Int. Conf. on Intelligent Computing and Information Systems, ICICIS 2009*, Cairo, Egypt,

*Conference on Mathematics and Computer Science, Selected Papers*, J. Selye University,

ˇ c, Z. (2006). Programming mobile robots in ANSI C language for

Simon, J., Szakáll, T. & Covi´

Slovakia, pp. 277–280.

Athens, Greece, pp. 9–13.

Komárno, Slovakia, pp. 395–402.

*title)*, Computer Press, Praha.

pp. 1–6.

pp. 352–356.

*SISY 2006*, Subotica, Serbia, pp. 131–137.

*Comp. Sci. and Control Systems* 2(2): 53–56.

*INFORMATICS 2009*, Herlany, Slovakia, pp. 94–98.

Graph theory is birth in 1736 with the publication of the work of the Swiss mathematician Leonhard Euler on the problem of finding a round trip path that would cross all the seven bridges of the city of Königsberg exactly once (Euler, 1736). Since then, this theory has known many important developments and has answered to a lot of practical issues. Today, the graph theory is considered as an essential component of discrete mathematics. It aims at analyzing the structure induced by interactions between a set of elements and to study the resulting fundamental properties. Graph theory occurs as a fundamental and theoretical framework for analyzing a wide range of the so-called *real-world networks* in biology, computer sciences, multi-agent systems, chemistry, physics, economy, knowledge management, and sociology. In many works, graph models are employed as constructive descriptions to represent and understand the behavior of different complexe systems (Molloy and Reed, 1998; Mieghem et al., 2000; Newman, 2003; Kawahigashi et al. 2005; Jurdak, 2007). In such models, the graph vertices stand for the components (nodes) of the network that encode information about the values of the state variables of the dynamical system and the edges represent the mutual relationships between the correspondent endnodes. In practice, random graph theory has become increasingly important for modeling networks whose behaviors exhibit nondeterministic looks. In recent years, many significant results have used random graph models to explain, replicate and simulate the behavior of dynamic real-world networks (Hekmat and Van Mieghem, 2003; Kawahigashi et al., 2005; Durrett, 2006; Onat et al., 2008; Hewer et al., 2009; Hamlili, 2010; Trullols et al., 2010).

To provide a convenient way to represent and analyze dynamic networks by dynamic random graphs, it is very important to clarify how the model of random graphs should explain the behavior of change in the topology of the network. Thus, we introduce some stochastic processes (times of graph change, graph configurations, degree number at a chosen vertex …) in order to attempt to account for the observed statistical properties in graph dynamics. Therefore, we will try to highlight the basic mathematical operations that transform a graph into other one to make possible describing the dynamic change of graph configurations. In this objective, different concepts and notation are introduced in the preliminary sections and will be used throughout the chapter. A reader familiar with the common topics in general graph theory may skip ahead. However, he may use it as necessary to refer to unknown definitions or unusual notations. Also, a particular attention is agreed to Erdös-Rényi's random graph model (Erdös and Rényi, 1960; Bollobàs, 2001).

Techniques for Analyzing Random Graph Dynamics and Their Applications 189

Inversely, two vertices *u* and *v* of a graph *G* are said to be *adjacent*, if *vN u <sup>G</sup>* . The *closed neighborhood* of *u* is denoted *Nu Nu u <sup>G</sup> <sup>G</sup>* and for a set *S V* , the closed

neighbors if they have an end-vertex in common. In addition, pairwise non-adjacent vertices or edges are called independent. If all vertices of a subset *S V* are pairwise adjacent, *S* is

*On a given graph <sup>G</sup> V,E we can define a path u,v between a pair of vertices u and v if and only* 

<sup>1</sup> 1 *u u E, k i..j k k*

An *elementary path* is a path such that when all the vertices are sequentially visited, a same vertex is never met twice. A path such that the end-vertices coincide is called *cycle*. An *elementary cycle* is a cycle such that all the vertices have exactly two neighbors. The concept of path is behind the notion of connectivity. In the rest of this chapter, we note *Pu v*, the set

*i. A pair of vertices u v of G is called connected if G co* , *ntains a path connecting u to v.* 

*ii. A graph G is called connected if any pair of vertices of G is connected. Otherwise, it is called* 

To achieve a *fully connected* graph *G*, there must exist a path from any vertex to each other

The path between the source vertex and the destination vertex may consist of one hop when source and destination are neighbors or several hops if they aren't directly connected by an edge of *G*. The *hopcount* specifies the number of hops through a path between two vertices. This measure is meaningful only when there is a path between the source and the destination. The *average hopcount* of a graph is the average value of the hopcount between

*if there is a sequence of vertices (or walk) <sup>u</sup> <sup>u</sup> ,u , , <sup>u</sup> ,u <sup>v</sup> <sup>i</sup> <sup>i</sup>*<sup>1</sup> *<sup>j</sup>*<sup>1</sup> *<sup>j</sup> such that* 

*u S NS Nu* 

*N u = v V| <sup>G</sup> uv E*  (1)

. By analogy, two edges are called

We note *N u <sup>G</sup>* the set of direct neighbors of *u* (also called the *neighborhood* of *u*). e.g.

**Definition 4** 

**Definition 5** 

**Definitions 6** 

*Let G be a simple graph,* 

*non-connected.* 

vertex in the graph.

*A neighbor of a vertex u is any vertex v such that uv E .* 

neighborhood of *S* can be defined as *G G*

*where the vertices u and v are called end-vertices of the path.* 

of all paths between the vertices *u* and *v*.

*Otherwise, they are called disconnected.* 

the end-vertices of all the possible paths.

called a complete subset or a clique.

### **2. Preliminary concepts**

This section is a short introduction on graph theory. It will review the basic definitions and notation used throughout all this chapter.

### **2.1 Graphs**

A classical graph is a static structure of a set of objects where some pairs of these objects are connected by one or several directed or undirected links. In this chapter, we assume that there is no multiple links between a pair of objects and the orientation of the links doesn't play a decisive role.

### **Definition 1**

*An undirected simple graph or simply a graph G can be defined as a pair G VE* ,  *of two sets: a nonempty set V of elements called vertices, and a set*  <sup>2</sup> *E uv V v u* , / *of unordered pairs of vertices. The elements of E are called edges.* 

Since the graph is undirected, *u v*, and *v u*, designate the same edge which we write simply *uv* . Furthermore, the assumption "simple" states the fact that between two given vertices, we cannot pass more than a single edge.

### **Definition 2**

*If S denotes the cardinality of a set S, the number of vertices N V and the number of edges M E of a graph G VE* ,  *define respectively the order and the size of this graph.* 

Furthermore, we assume in this chapter that graphs can be finite or infinite according to their order and such that the sets of vertices and edges can't be jointly or separately empty.

### **Definition 2**

*Let G VE* ,  *and*  \* \*\* *G VE* , *be two graphs. We say that* \* *G is a host for G or equivalently G is a subgraph of G\*, if and only if* \* *V V and* \* *E E .* 

### **Definition 3**

*A graph G VE* ,  *is called a weighted graph if and only if a positive function (or weights) can be defined on the set of edges E.* 

Depending on the underlying area of application, such weights might represent probabilities, costs, lengths, capacities, or other positive quantities having a particular meaning. In the general weighted graph version, both vertices and edges can be weighted.

### **2.2 Neighbors, neighborhood and connectivity**

Routing problems are among the oldest problems in graph theory. They are generally based on the hypothesis of connectivity. Let us note that the concepts of neighborhood and path are the most typical ideas associated to the connectivity assumption.

### **Definition 4**

188 New Frontiers in Graph Theory

This section is a short introduction on graph theory. It will review the basic definitions and

A classical graph is a static structure of a set of objects where some pairs of these objects are connected by one or several directed or undirected links. In this chapter, we assume that there is no multiple links between a pair of objects and the orientation of the links doesn't

*An undirected simple graph or simply a graph G can be defined as a pair G VE* ,  *of two sets: a nonempty set V of elements called vertices, and a set*  <sup>2</sup> *E uv V v u* , / *of unordered pairs of* 

Since the graph is undirected, *u v*, and *v u*, designate the same edge which we write simply *uv* . Furthermore, the assumption "simple" states the fact that between two given

*If S denotes the cardinality of a set S, the number of vertices N V and the number of* 

Furthermore, we assume in this chapter that graphs can be finite or infinite according to their order and such that the sets of vertices and edges can't be jointly or separately empty.

*Let G VE* ,  *and*  \* \*\* *G VE* , *be two graphs. We say that* \* *G is a host for G or equivalently G is* 

*A graph G VE* ,  *is called a weighted graph if and only if a positive function (or weights) can be* 

Depending on the underlying area of application, such weights might represent probabilities, costs, lengths, capacities, or other positive quantities having a particular meaning. In the general weighted graph version, both vertices and edges can be weighted.

Routing problems are among the oldest problems in graph theory. They are generally based on the hypothesis of connectivity. Let us note that the concepts of neighborhood and path

*edges M E of a graph G VE* ,  *define respectively the order and the size of this graph.* 

**2. Preliminary concepts** 

**2.1 Graphs** 

**Definition 1** 

**Definition 2** 

**Definition 2** 

**Definition 3** 

*defined on the set of edges E.* 

play a decisive role.

notation used throughout all this chapter.

*vertices. The elements of E are called edges.* 

vertices, we cannot pass more than a single edge.

*a subgraph of G\*, if and only if* \* *V V and* \* *E E .* 

**2.2 Neighbors, neighborhood and connectivity** 

are the most typical ideas associated to the connectivity assumption.

*A neighbor of a vertex u is any vertex v such that uv E .* 

We note *N u <sup>G</sup>* the set of direct neighbors of *u* (also called the *neighborhood* of *u*). e.g.

$$N\_G\left(\mu\right) = \left\{\left.\upsilon \in V \,|\,\mu\upsilon \in E\right\}\tag{1}$$

Inversely, two vertices *u* and *v* of a graph *G* are said to be *adjacent*, if *vN u <sup>G</sup>* . The *closed neighborhood* of *u* is denoted *Nu Nu u <sup>G</sup> <sup>G</sup>* and for a set *S V* , the closed neighborhood of *S* can be defined as *G G u S NS Nu* . By analogy, two edges are called neighbors if they have an end-vertex in common. In addition, pairwise non-adjacent vertices or edges are called independent. If all vertices of a subset *S V* are pairwise adjacent, *S* is called a complete subset or a clique.

#### **Definition 5**

*On a given graph <sup>G</sup> V,E we can define a path u,v between a pair of vertices u and v if and only if there is a sequence of vertices (or walk) <sup>u</sup> <sup>u</sup> ,u , , <sup>u</sup> ,u <sup>v</sup> <sup>i</sup> <sup>i</sup>*<sup>1</sup> *<sup>j</sup>*<sup>1</sup> *<sup>j</sup> such that* 

$$
\mu\_k \mu\_{k+1} \in E\_\prime \,\forall k = \mathrm{i.} \, j - 1,
$$

*where the vertices u and v are called end-vertices of the path.* 

An *elementary path* is a path such that when all the vertices are sequentially visited, a same vertex is never met twice. A path such that the end-vertices coincide is called *cycle*. An *elementary cycle* is a cycle such that all the vertices have exactly two neighbors. The concept of path is behind the notion of connectivity. In the rest of this chapter, we note *Pu v*, the set of all paths between the vertices *u* and *v*.

#### **Definitions 6**

*Let G be a simple graph,* 


To achieve a *fully connected* graph *G*, there must exist a path from any vertex to each other vertex in the graph.

The path between the source vertex and the destination vertex may consist of one hop when source and destination are neighbors or several hops if they aren't directly connected by an edge of *G*. The *hopcount* specifies the number of hops through a path between two vertices. This measure is meaningful only when there is a path between the source and the destination. The *average hopcount* of a graph is the average value of the hopcount between the end-vertices of all the possible paths.

Techniques for Analyzing Random Graph Dynamics and Their Applications 191

Rényi's random graph model has a number of attractive properties (Bollobàs, 2001). This model is exceptionally quantifiable; it allows an easy calculation of average values of the

In this section, we want introduce in first a generalization of the concepts of the theory of random graphs. This generalization is intended to describe the issues in applicative frameworks where the number of the graph vertices can vary randomly (number of communicating entities in a wireless ad hoc network, number of routers in the Internet, etc). Also, we will show that most classical models, such as those of Erdös-Rényi random graphs and geometric random graphs can be derived as special cases of the model that we put

Intuitively, a generalized random graph representation can be defined in a simple way

 *matrix of probabilities. We call generalized random graph a graph G where each vertex u is generated with the probability pu u*, 0,1 *, and where for all two existing vertices u and v, the edge* 

Let G**<sup>P</sup>** be the collection of all possible graphs made on the set of possible vertices such that the graph vertices *u* are generated independently with the probabilities *u u*, *p* and

G**<sup>P</sup>** *G u u V p u v v u uv E p* : Pr *u u*, , , : Pr *u v*

This definition of random graph models is very general. We should note that, if *G* is a

As will be discussed later, this way of modeling a random graph will represent opportunities for characterizing complex situations where classical models such as Erdös-

*The extended adjacency matrix*  , , *u v u v A a associated to a graph G VE* , *of the model*  G**<sup>P</sup>**  *is a matrix such that u v*, *a is independent equal to 1 if the pair of vertices uv* 

*G VE V E V V* , (6)

edges *uv* are built independently in with the respective probabilities *u v*, *p* . i.e.

**P**  *a symmetric* 

*Consider a non-empty set , called the set of possible vertices and*  , , *u v u v <sup>p</sup>*

graph characteristics (Janson et al., 2000; Hamlili, 2010).

forward as a generalized alternative.

using the fully weighted graphs.

**Definition 9** 

**3.1 Generalized random graph model** 

*uv is built with a probability pu v*, 0,1 *.* 

generalized random graph,

Rényi model are not satisfactory.

*belongs to E knowing that u and v belong to V and 0 otherwise.* 

**Definition 10** 

Furthermore, in a non-connected graph there is no path between at least one sourcedestination pair of vertices. Hence, a non-connected graph consists of several disconnected clusters and/or vertices. Thus, routing is only possible between the different vertices of a same cluster.

#### **Definitions 7**

*Consider a weighted graph G, u v a pair of vertices of G and let w be the weight function defined* , *on G, the weight assigned to a path u v*, *can be computed as the sum of weights assigned to its edges. i.e.* 

$$\Pi\_{\boldsymbol{\mu},\boldsymbol{\upsilon}} = \left\langle \boldsymbol{\mu}\_{i} = \boldsymbol{\mu}\_{\ }, \boldsymbol{\mu}\_{i+1}, \dots, \boldsymbol{\mu}\_{j-1}, \boldsymbol{\mu}\_{j} = \boldsymbol{\upsilon} \right\rangle \Longrightarrow w\left(\Pi\_{\boldsymbol{\mu},\boldsymbol{\upsilon}}\right) = \sum\_{k=i}^{j\_{-}-1} w\left(\boldsymbol{\mu}\_{k} \boldsymbol{\mu}\_{k+1}\right) \tag{2}$$

#### **2.3 Matrix representation of graphs and degree function of vertices**

The topological structure of the graph *G VE* , can alternatively be described by a *V V* adjacency matrix , , *G uv uv V A a* such that each entry is either 0 or 1

$$a\_{\iota,\upsilon} = \begin{cases} 1 & \text{if } \qquad \upsilon \in N\left(\mu\right) \\ 0 & \text{else} \end{cases} \tag{3}$$

where , 1 *u v a* signifies that *uv* is an edge of *G*. i.e. *uv E* .

#### *Definition 8*

*The degree of a vertex u is the number of its direct neighbors* 

$$d\_G\left(\mu\right) = \left| N\_G\left(\mu\right) \right| \tag{4}$$

#### **Proposition 1**

*Consider an undirected graph G V E and* , , , *G uv uv V A a its adjacency matrix, then* 

$$d\_G\left(\mu\right) = \sum\_{v \in V} a\_{u,v} \tag{5}$$

The two last equations (4) and (5) are equivalent by definition of the matrix *AG* . They induce a function *Gd* from *V* to **N** (the set of nonnegative integers) called the *degree function*. Particularly, a vertex of degree 0 is called an *isolated* vertex and a vertex of degree 1 is called a *leaf*.

### **3. Random graphs**

Another theory of graphs began in the late 1950s. It was baptized *random graph theory* in several papers by Paul Erdös and Alfréd Rényi. As a real-world network model, the ErdösRényi's random graph model has a number of attractive properties (Bollobàs, 2001). This model is exceptionally quantifiable; it allows an easy calculation of average values of the graph characteristics (Janson et al., 2000; Hamlili, 2010).

In this section, we want introduce in first a generalization of the concepts of the theory of random graphs. This generalization is intended to describe the issues in applicative frameworks where the number of the graph vertices can vary randomly (number of communicating entities in a wireless ad hoc network, number of routers in the Internet, etc). Also, we will show that most classical models, such as those of Erdös-Rényi random graphs and geometric random graphs can be derived as special cases of the model that we put forward as a generalized alternative.

### **3.1 Generalized random graph model**

Intuitively, a generalized random graph representation can be defined in a simple way using the fully weighted graphs.

### **Definition 9**

190 New Frontiers in Graph Theory

Furthermore, in a non-connected graph there is no path between at least one sourcedestination pair of vertices. Hence, a non-connected graph consists of several disconnected clusters and/or vertices. Thus, routing is only possible between the different vertices of a

*Consider a weighted graph G, u v a pair of vertices of G and let w be the weight function defined* , *on G, the weight assigned to a path u v*, *can be computed as the sum of weights assigned to its* 

, 11 , <sup>1</sup> , ,, ,

*u u u u u v w w uu*

if

*v Nu*

(2)

*uv i i j j u v k k*

The topological structure of the graph *G VE* , can alternatively be described by a *V V*

*<sup>G</sup> u v*, *v V du a* 

The two last equations (4) and (5) are equivalent by definition of the matrix *AG* . They induce a function *Gd* from *V* to **N** (the set of nonnegative integers) called the *degree function*. Particularly, a vertex of degree 0 is called an *isolated* vertex and a vertex of degree 1 is called

Another theory of graphs began in the late 1950s. It was baptized *random graph theory* in several papers by Paul Erdös and Alfréd Rényi. As a real-world network model, the Erdös-

*A a* such that each entry is either 0 or 1

else , 1 0 *u v*

**2.3 Matrix representation of graphs and degree function of vertices** 

*a*

where , 1 *u v a* signifies that *uv* is an edge of *G*. i.e. *uv E* .

*The degree of a vertex u is the number of its direct neighbors* 

*Consider an undirected graph G V E and* , , , *G uv uv V*

 \_ 1

*du Nu G G* (4)

(5)

*A a its adjacency matrix, then* 

(3)

*k i*

*j*

same cluster. **Definitions 7** 

*edges. i.e.* 

*Definition 8* 

**Proposition 1** 

a *leaf*.

**3. Random graphs** 

adjacency matrix , , *G uv uv V*

*Consider a non-empty set , called the set of possible vertices and*  , , *u v u v <sup>p</sup>* **P**  *a symmetric matrix of probabilities. We call generalized random graph a graph G where each vertex u is generated with the probability pu u*, 0,1 *, and where for all two existing vertices u and v, the edge uv is built with a probability pu v*, 0,1 *.* 

Let G**<sup>P</sup>** be the collection of all possible graphs made on the set of possible vertices such that the graph vertices *u* are generated independently with the probabilities *u u*, *p* and edges *uv* are built independently in with the respective probabilities *u v*, *p* . i.e.

$$\mathbb{P}\left(\bigotimes\_{} \Omega\right) = \left\{ \left. \mathbb{G} \right| \, \forall \, \mu \in \Omega : \Pr\left[ \mu \in V \right] = p\_{\mu,\mu} \land \forall \, \mu, \upsilon \in \Omega : \upsilon \neq \mu \Rightarrow \Pr\left[ \mu \upsilon \in E \right] = p\_{\mu,\upsilon} \right\}$$

This definition of random graph models is very general. We should note that, if *G* is a generalized random graph,

$$G = \begin{pmatrix} V, E \end{pmatrix} \Rightarrow V \subseteq \Omega \land E \subseteq V \times V \tag{6}$$

As will be discussed later, this way of modeling a random graph will represent opportunities for characterizing complex situations where classical models such as Erdös-Rényi model are not satisfactory.

#### **Definition 10**

*The extended adjacency matrix*  , , *u v u v A a associated to a graph G VE* , *of the model*  G**<sup>P</sup>**  *is a matrix such that u v*, *a is independent equal to 1 if the pair of vertices uv belongs to E knowing that u and v belong to V and 0 otherwise.* 

Techniques for Analyzing Random Graph Dynamics and Their Applications 193

 <sup>1</sup> 2 *N N*

1

2 *N*

*M mG V p p*

Pr 1

*p*

G

1 2

0

*m*

*N N*

**3.3.1 Binomial model and Poisson approximation** 

of any vertex *u* is defined by a binomial distribution (Bollobàs, 2001)

*k*

the binomial distribution is approximately Gaussian with parameters

*V p pp <sup>k</sup>* 

1

*p p*

*m*

On the other hand, the number of edges *M* in a random Erdös-Rényi graph is a random

As defined above, the degree function *Gd* on the graph vertices returns the number of vertices directly connected to the considered vertex. Thus, the *degree distribution* measures the local connectivity relevance of the graph vertices. In a generalized random graph model, the degree distribution can be set depending on the wished point of view. Its general form is

In particular, in the Enrdös–Rényi representation G*<sup>p</sup> V* , the theoretical degree distribution

when the number of vertices *V* is small. Otherwise, from the limit central theorem (LCT),

<sup>1</sup> <sup>1</sup> <sup>1</sup> *<sup>k</sup> V k*

*N N <sup>E</sup> M = <sup>m</sup> <sup>p</sup> <sup>p</sup> <sup>p</sup>*

*m*

<sup>2</sup>

 

*<sup>m</sup> <sup>N</sup>*

2 2

*N N*

**Proof** 

The setG*<sup>p</sup> V* has

2 *N* 

can be chosen with a probability equal to

variable with an average value equal to

**3.3 Degree distribution** 

defined by

*E M = p*  (9)

random graphs with equal probabilities. In consequence, each one

. Thus, on one hand,

<sup>1</sup> <sup>2</sup>

*m*

*<sup>N</sup> <sup>m</sup>*

2

Pr *k G p du k* (10)

(11)

2

<sup>1</sup> <sup>1</sup>

*<sup>N</sup> <sup>m</sup>*

#### **3.2 Practical examples**

Different particular cases can be identified and as stated above, in different contexts it may be useful to define the term random graph with different degrees of generality. Hence, the generalized model can describe random geometric graphs (Steele, 1997; Barabasi and Albert, 1999; Penrose, 1999). It suffices to consider *G* such that*V* and the edge probabilities

$$p\_{u,v} = p(\|\mu - v\|) = \begin{cases} 1 & \text{if } 0 < \|\mu - v\| \le R \\ 0 & \text{otherwise} \end{cases} \tag{7}$$

In this model, *u v*, *p* depends on the Euclidean distance *u v* between the geometric points locating the vertices *u* and *v*.

$$\mathbb{P}\left(\bigvee\_{}\left(V\right)=\left(\mathsf{G}\left(V,E\right)\right)\Big|\,E\leq V\times V\land\forall\,\mu,\upsilon\in V:\ \Pr\left(\upsilon u\in E\right)=\mathbbm{1}\ \text{if}\quad\left\|u-\upsilon\right\|\leq R\text{ and }\ \Pr\left(\upsilon u\in E\right)=0\ \text{if}\quad\left\|u-\upsilon\right\|>R\right\|.$$

This model is very interesting and as such it can formalize the framework of mobile wireless ad hoc networks where the connectivity of the network depends on the geometric positions of the communicating nodes and a radio coverage range which is generally supposed the same for all the network nodes. In such networks, the random dynamics of the associated graph is induced by the mobility of nodes.

Another example is the random graph model initiated by Erdös and Rényi in the 1950s. This kind of graphs can be represented by a generalized model where the set of vertices is not random (it is constantly the same*V* ) and all the graph pairs of vertices are connected with the same probability *u v*, *p p* . Thus, let *V* a nonempty set of vertices, we can define the collection G*<sup>p</sup> V* of all possible graphs made on the set of vertices *V*, such that the graph edges are built independently in *V V* with a probability *p*. i.e. formally, we can write

$$\mathcal{C}\_{\mathcal{V}}(V) = \left\{ G(V, E) \, \middle| \, E \subseteq V \times V \land \forall \, v, w \in V \, : \, v \neq w \Rightarrow \Pr\left[ vw \in E \right] = p \right\}$$

This model was be used in most areas of science and human activities in biology, chemistry, sociology, computer networks, manufacturing, etc. In a random Erdös-Rényi graph with *N*  vertices, the edges are independently and randomly built with a probability *p* between the *N N /*  1 2 possible edges of the full mesh graph. This definition builds the binomial model G*<sup>p</sup> V* of random graphs, also referred as Erdös-Rényi model (Bollobàs, 2001).

#### **Proposition 2**

*Consider a nonempty set V, a real p in*  0,1 *and a random graph G on V. Let N V be the order of G and M be the random order of G, then* 

$$\Pr\left(M = m \, \middle| \, \mathbf{G} \in \underset{\mathcal{P}}{\mathbb{C}}\_{p} \left(V\right)\right) = p^{m} \left(\mathbf{1} - p\right)^{\binom{N}{2} - m} \tag{8}$$

*and* 

$$E[M] = p \frac{N\left(N-1\right)}{2} \tag{9}$$

**Proof** 

192 New Frontiers in Graph Theory

Different particular cases can be identified and as stated above, in different contexts it may be useful to define the term random graph with different degrees of generality. Hence, the generalized model can describe random geometric graphs (Steele, 1997; Barabasi and Albert, 1999; Penrose, 1999). It suffices to consider *G* such that*V* and the edge probabilities

> 0 otherwise

In this model, *u v*, *p* depends on the Euclidean distance *u v* between the geometric points

G*<sup>R</sup> V G V E E V V u v V vu E u v R vu E u v R* , , : Pr 1 if and Pr 0 if

This model is very interesting and as such it can formalize the framework of mobile wireless ad hoc networks where the connectivity of the network depends on the geometric positions of the communicating nodes and a radio coverage range which is generally supposed the same for all the network nodes. In such networks, the random dynamics of the associated

Another example is the random graph model initiated by Erdös and Rényi in the 1950s. This kind of graphs can be represented by a generalized model where the set of vertices is not random (it is constantly the same*V* ) and all the graph pairs of vertices are connected with the same probability *u v*, *p p* . Thus, let *V* a nonempty set of vertices, we can define the collection G*<sup>p</sup> V* of all possible graphs made on the set of vertices *V*, such that the graph

edges are built independently in *V V* with a probability *p*. i.e. formally, we can write

model G*<sup>p</sup> V* of random graphs, also referred as Erdös-Rényi model (Bollobàs, 2001).

G*<sup>p</sup> V G V E E V V v w V v w vw E* , , : Pr *p*

This model was be used in most areas of science and human activities in biology, chemistry, sociology, computer networks, manufacturing, etc. In a random Erdös-Rényi graph with *N*  vertices, the edges are independently and randomly built with a probability *p* between the *N N /*  1 2 possible edges of the full mesh graph. This definition builds the binomial

*Consider a nonempty set V, a real p in*  0,1 *and a random graph G on V. Let N V be the order* 

*<sup>m</sup> M mG V p p <sup>p</sup>*

Pr 1

2

 G (8)

*<sup>N</sup> <sup>m</sup>*

1 if 0 *u v R*

*p p u v u,v* (7)

**3.2 Practical examples** 

locating the vertices *u* and *v*.

**Proposition 2** 

*and* 

graph is induced by the mobility of nodes.

*of G and M be the random order of G, then* 

The setG*<sup>p</sup> V* has 2 *N* random graphs with equal probabilities. In consequence, each one

can be chosen with a probability equal to 1 2 *N* . Thus, on one hand,

$$\begin{aligned} \Pr\left(M = m \, \middle| \, \mathbf{G} \in \mathbb{Q}\_p^\times \left(V\right)\right) &= \binom{N}{2}^{-1} \binom{N}{2} p^m \left(1 - p\right)^{\binom{N}{2} - m} \\ &= p^m \left(1 - p\right)^{-m} \end{aligned}$$

On the other hand, the number of edges *M* in a random Erdös-Rényi graph is a random variable with an average value equal to

$$E[M] = \sum\_{m=0}^{N\binom{N-1}{2}} m \, p^m \left(1 - p\right)^{\binom{N}{2} - m} = p \, \frac{N\left(N - 1\right)}{2}$$

#### **3.3 Degree distribution**

As defined above, the degree function *Gd* on the graph vertices returns the number of vertices directly connected to the considered vertex. Thus, the *degree distribution* measures the local connectivity relevance of the graph vertices. In a generalized random graph model, the degree distribution can be set depending on the wished point of view. Its general form is defined by

$$p\_k = \Pr\left\lfloor d\_G\left(\mu\right) = k\right\rfloor \tag{10}$$

#### **3.3.1 Binomial model and Poisson approximation**

In particular, in the Enrdös–Rényi representation G*<sup>p</sup> V* , the theoretical degree distribution of any vertex *u* is defined by a binomial distribution (Bollobàs, 2001)

$$p\_k = \binom{|V|-1}{k} p^k \left(1-p\right)^{|V|-1-k} \tag{11}$$

when the number of vertices *V* is small. Otherwise, from the limit central theorem (LCT), the binomial distribution is approximately Gaussian with parameters

Techniques for Analyzing Random Graph Dynamics and Their Applications 195

profile of preferential attachment to existing vertices (Barabàsi and Albert, 1999). Although such graphs have a large number of vertices, the degree distribution deviates significantly from the Poisson law expected for classical random graphs (Barabàsi and Albert, 1999). Other forms of degree distribution with a power-law tail have been studied (Amaral et al.,

In scale-free graphs, the parameters estimation of the degree distribution has to be obviously adapted to each specific case of power-law. In general, the distribution coordinates have to be converted into the logarithmic scales and then apply a method such as least-square

In classic graph theory a graph is simply a collection of objects connected to each other in some manner. This description is very restrictive. In fact, the notions of random graph theory have been introduced in the objective to produce better models and more complete tools to represent non deterministic looks of configurations of a dynamic network. Here again, the language of random graphs is used simply to relate the graph structure of the different network situations. This language must be completed by defining a number of indispensable operations in order to introduce a basic mathematical framework for graph

*A dynamic graph is a graph such that its configuration (or topology) is subject to dynamic changes* 

Hence, it goes without saying that the topology changes induced by the random graph dynamics are made through a number of fundamental operations that affect only the set of

Generally, we can define several kinds of graph dynamics. The following contexts are the

 Vertex-dynamic graph model: the set of vertices varies with time. In this context vertices may be added or deleted. However, we must be careful in this case to the edges

 Edge-dynamic graph model: the set of edges *E* varies with time. Thus, edges may be added or deleted from the graph. In this case, there are no consequences to fear on the

such that an end-vertex is removed. They should just be deleted too.

is a typical degree size from which the exponential adaptation becomes

; for 1 *<sup>k</sup>* (15)

is the constant scaling

*<sup>k</sup>* exp *<sup>k</sup> p Ck* 

where *C* is a constant fixed by the requirement of normalization,

2000; Newman et al., 2001)

**4. Random Graph Dynamics (RGD)** 

exponent, and

significant.

method.

dynamics modeling.

**4.1 Random change process** 

set of vertices.

basic ways of defining this kind of behavior:

**Definition 11** 

*with time.* 

edges *E*.

$$\begin{cases} \mu = \left( |V| - 1 \right) p & \text{(the mean)}\\ \sigma^2 = \left( |V| - 1 \right) p \left( 1 - p \right) & \text{(the variance)} \end{cases} \tag{12}$$

But the Gaussian distribution is continuous, while the binomial distribution is discrete. Thus, sometimes when *V* is large and under certain special assumptions we prefer the Poisson approximation to the LCT approximation.

#### **Proposition 3**

*When the graph order is large, the degree distribution is in the order of* 

$$p\_k \approx e^{-\zeta} \frac{\zeta^k}{k!} \tag{13}$$

*where p is small and V is sufficiently large.* 

#### **Proof**

When the graph oder *V* is large, we can also write the degree density as

$$\Pr\left[d\left(u\right)=k\right] = \binom{|V|-1}{k} \left[\frac{\zeta}{|V|-1}\right]^k \left(1 - \frac{\zeta}{|V|-1}\right)^{|V|-1-k} \approx e^{-\zeta} \frac{\zeta^k}{k!}$$

where *p* is small and *V* is sufficiently large. This shows the equation (13).

More generally, this approximation is known in probability theory as the De Moivre's Poisson approximation to the Binomial distribution. Indeed, the Poisson distribution can be applied whenever it is dealing with systems with a large number of possible events such that each of which is rare.

Thus, it is in the order of things to note that the main advantage of the Enrdös–Rényi models comes from the traceability of calculations and the simplicity of parameter estimation. A form or another of this model will be applied as and when it's required.

#### **3.3.2 Power-law models**

The traditional model of Erdös and Rényi is not a universal representation for all the random graph behaviors. Sometimes, in many natural scale-free networks (such as World Wide Web pages and their links, Internet, grid computer networking, etc), despite the randomness of the resulting graphs, experimental studies have revealed that the degree distribution can have a pure power-law tail (Albert et al., 1999; Barabàsi and Albert, 1999; Faloutsos et al. 1999)

$$p\_k = \alpha \; k^{-\gamma} \tag{14}$$

where 0 is a scaling constant and 0 is a constant scaling exponent. Scale-free Barabàsi-Albert random graphs are generally built through a growth process combined to a profile of preferential attachment to existing vertices (Barabàsi and Albert, 1999). Although such graphs have a large number of vertices, the degree distribution deviates significantly from the Poisson law expected for classical random graphs (Barabàsi and Albert, 1999). Other forms of degree distribution with a power-law tail have been studied (Amaral et al., 2000; Newman et al., 2001)

$$p\_k = \mathbb{C} \; k^{-\gamma} \exp\left(-\frac{k}{\kappa}\right); \; \text{for } k > 1 \tag{15}$$

where *C* is a constant fixed by the requirement of normalization, is the constant scaling exponent, and is a typical degree size from which the exponential adaptation becomes significant.

In scale-free graphs, the parameters estimation of the degree distribution has to be obviously adapted to each specific case of power-law. In general, the distribution coordinates have to be converted into the logarithmic scales and then apply a method such as least-square method.

### **4. Random Graph Dynamics (RGD)**

In classic graph theory a graph is simply a collection of objects connected to each other in some manner. This description is very restrictive. In fact, the notions of random graph theory have been introduced in the objective to produce better models and more complete tools to represent non deterministic looks of configurations of a dynamic network. Here again, the language of random graphs is used simply to relate the graph structure of the different network situations. This language must be completed by defining a number of indispensable operations in order to introduce a basic mathematical framework for graph dynamics modeling.

### **Definition 11**

194 New Frontiers in Graph Theory

 <sup>2</sup> 1 the mean

But the Gaussian distribution is continuous, while the binomial distribution is discrete. Thus, sometimes when *V* is large and under certain special assumptions we prefer the

*V p*

When the graph oder *V* is large, we can also write the degree density as

1 Pr 1

where *p* is small and *V* is sufficiently large. This shows the equation (13).

form or another of this model will be applied as and when it's required.

*When the graph order is large, the degree distribution is in the order of* 

Poisson approximation to the LCT approximation.

*where p is small and V is sufficiently large.* 

0 is a scaling constant and

that each of which is rare.

**3.3.2 Power-law models** 

Faloutsos et al. 1999)

where

**Proposition 3** 

**Proof** 

*V pp*

1 1 the variance

! *k*

*<sup>k</sup> p e <sup>k</sup>* 

*<sup>k</sup> V k <sup>k</sup> <sup>V</sup> du k <sup>e</sup>*

More generally, this approximation is known in probability theory as the De Moivre's Poisson approximation to the Binomial distribution. Indeed, the Poisson distribution can be applied whenever it is dealing with systems with a large number of possible events such

Thus, it is in the order of things to note that the main advantage of the Enrdös–Rényi models comes from the traceability of calculations and the simplicity of parameter estimation. A

The traditional model of Erdös and Rényi is not a universal representation for all the random graph behaviors. Sometimes, in many natural scale-free networks (such as World Wide Web pages and their links, Internet, grid computer networking, etc), despite the randomness of the resulting graphs, experimental studies have revealed that the degree distribution can have a pure power-law tail (Albert et al., 1999; Barabàsi and Albert, 1999;

*<sup>k</sup> p k*

Barabàsi-Albert random graphs are generally built through a growth process combined to a

 

(12)

(13)

 

(14)

0 is a constant scaling exponent. Scale-free

1

11 !

*k VV k*

*A dynamic graph is a graph such that its configuration (or topology) is subject to dynamic changes with time.* 

Hence, it goes without saying that the topology changes induced by the random graph dynamics are made through a number of fundamental operations that affect only the set of edges *E*.

### **4.1 Random change process**

Generally, we can define several kinds of graph dynamics. The following contexts are the basic ways of defining this kind of behavior:


Techniques for Analyzing Random Graph Dynamics and Their Applications 197

This type of model is very interesting for modeling dynamic networks where the parameters are all temporary. As examples, we can mention routers and links of the Internet, friends in web social networking, communicating nodes in mobile wireless mobile ad hoc networks

In this section, the studied approaches are classified according to their own definition in the context of graph dynamics. The RGD is said low when only few elements (number of vertices, number of edges, building edges probability, vertices clustering …) change over time. Otherwise, the dynamics is strong. Furthermore, there are several operations that build new graphs from old ones. They might be characterized through a number of

Thus, a vertex *u* is present at time *t*, if and only if *u V <sup>t</sup>* . Similarly, an edge *uv* is present at

Operating dynamic changes on a random graph consists of a series of graph modifications (weight, vertex or edge adaptations). In contrast, the dynamicity analysis is more effective when all combination of additions and deletions of edges and vertices are taken into

*In a dynamic graph G, an object is absent at time t, if it does not belong to the instance Gt of G.* 

*An object appears in the dynamic graph* **G***, if it transits from the state absent to the state present.* 

From an operational perspective, this definition should be clarified. Let *u* and *v* be two vertices of *G* such that *uv* is not an edge of *G*, the addition of the edge *uv* to the graph *G* is

Now, there are two ways to add a new vertex to a graph. One way is to add an isolated

and the other is to add a new vertex *u* which will be connected to an existing vertex *v* of the

 , *<sup>v</sup> G u V u E uv*

*G uv V E uv* , (16)

*G u V uE* , (17)

(18)

*In a dynamic graph* **G**, *an object is present at time t if it belongs to the instance Gt of* **G**.

time *t*, if and only if *uv E <sup>t</sup>* knowing that both *u* and *v* belong to*Vt* .

that use essentially the methods of broadcast.

descriptor events and basic transforms.

**4.2 Change operations** 

**Definition 13 (Presence)** 

**Definition 14 (absence)** 

**Definition 15 (Addition)** 

defined by the operation

vertex to the graph *G*, i.e.

graph *G,* i.e.

account.


Thus, we consider at first a model of dynamic graphs that combines all these aspects together. A such random dynamic graph G can be defined as a stochastic graph process i.e. a collection of independent random graphs **G** *Gt I <sup>t</sup>* where the parameter *t* is usually assumed to be time and which take values in a set *I* which can be continuous or countable (finite or infinite).

In the widest sense, each graph *Gt* can belong to a different model *<sup>t</sup>* G**<sup>P</sup>** . The set of all

possible states is called the state space. If the state space is discrete, we deal with a discrete state stochastic graph process, which is called a chain of graphs. The state space can also be continuous; we then deal with a continuous-state stochastic process. A similar classification can be made regarding whether the index set *I* is continuous leading to a continuous-time stochastic process or countable leading to a discrete-time stochastic process. Thus, a dynamic graph **G** is a representation which assumes that at any time *t*, there exists an instance *G VE t tt* , that belongs to a model *<sup>t</sup>* G**<sup>P</sup>** .

To explain the changes in a dynamic random graph, we must often refer to events of presence, absence, addition, deletion, birth, death and structure of objects; where the term "object" refers to both vertices and edges of the graph. The following definitions clarify what do these events really mean and how can they be mathematically defined in the context of graph dynamics.

### **Definition 12**

*The weighted graphs Gt t* ;**P**  *thus defined are called instantaneous configurations of the random dynamic graph* **G***.* 

The random graph dynamics can be characterized by the ordered stochastic time process 0 12 1 0 *T TT T T k k* where the configuration changes of the random dynamic graph G are operated. Thus, a marked random graph process is defined such that, at the th *k* time of change *T t k k* , a symmetric matrix , , *k k uv u v <sup>p</sup>* **P** of probabilities is selected and a graph (configuration) *G VE k kk* , is chosen according to the random graph model *<sup>k</sup>* G**<sup>P</sup>** .

In this model, the diagonal entries of the matrix **P***<sup>k</sup>* represent the probabilities to select, at time *kt* , the vertices of*Vk* individually in and the off-diagonal entries of this symmetric matrix represent the probabilities to activate the edges between two given vertices of *Vk* . Both the sets of vertices and edges in the graph configuration process are chosen as temporary. Thus, between two existing end-vertices *u* and *v* an edge is selected with the temporary probability , *k u v p* . Both the vertices and the edges of a dynamic random graph can be seen as subject to dynamic random changes.

This type of model is very interesting for modeling dynamic networks where the parameters are all temporary. As examples, we can mention routers and links of the Internet, friends in web social networking, communicating nodes in mobile wireless mobile ad hoc networks that use essentially the methods of broadcast.

### **4.2 Change operations**

196 New Frontiers in Graph Theory

Fully-weighted dynamic graph model: the weights on both vertices and edges vary

Thus, we consider at first a model of dynamic graphs that combines all these aspects together. A such random dynamic graph G can be defined as a stochastic graph process i.e. a collection of independent random graphs **G** *Gt I <sup>t</sup>* where the parameter *t* is usually assumed to be time and which take values in a set *I* which can be continuous or countable

In the widest sense, each graph *Gt* can belong to a different model *<sup>t</sup>* G**<sup>P</sup>** . The set of all possible states is called the state space. If the state space is discrete, we deal with a discrete state stochastic graph process, which is called a chain of graphs. The state space can also be continuous; we then deal with a continuous-state stochastic process. A similar classification can be made regarding whether the index set *I* is continuous leading to a continuous-time stochastic process or countable leading to a discrete-time stochastic process. Thus, a dynamic graph **G** is a representation which assumes that at any time *t*, there exists an

To explain the changes in a dynamic random graph, we must often refer to events of presence, absence, addition, deletion, birth, death and structure of objects; where the term "object" refers to both vertices and edges of the graph. The following definitions clarify what do these events really mean and how can they be mathematically defined in the context of

*The weighted graphs Gt t* ;**P**  *thus defined are called instantaneous configurations of the random* 

The random graph dynamics can be characterized by the ordered stochastic time process 0 12 1 0 *T TT T T k k* where the configuration changes of the random dynamic graph G are operated. Thus, a marked random graph process is defined such that, at the th *k*

and a graph (configuration) *G VE k kk* , is chosen according to the random graph model

In this model, the diagonal entries of the matrix **P***<sup>k</sup>* represent the probabilities to select, at time *kt* , the vertices of*Vk* individually in and the off-diagonal entries of this symmetric matrix represent the probabilities to activate the edges between two given vertices of *Vk* . Both the sets of vertices and edges in the graph configuration process are chosen as temporary. Thus, between two existing end-vertices *u* and *v* an edge is selected with the

*k k uv u v <sup>p</sup>*

*u v p* . Both the vertices and the edges of a dynamic random graph can

**P** of probabilities is selected

instance *G VE t tt* , that belongs to a model *<sup>t</sup>* G**<sup>P</sup>** .

time of change *T t k k* , a symmetric matrix , ,

 Vertex-weighted dynamic graph model: the weights on the vertices vary with time. Edge-weighted dynamic graph model: the weights on the edges vary with time.

with time.

(finite or infinite).

graph dynamics. **Definition 12** 

*dynamic graph* **G***.* 

*<sup>k</sup>* G**<sup>P</sup>** .

temporary probability

, *k*

be seen as subject to dynamic random changes.

In this section, the studied approaches are classified according to their own definition in the context of graph dynamics. The RGD is said low when only few elements (number of vertices, number of edges, building edges probability, vertices clustering …) change over time. Otherwise, the dynamics is strong. Furthermore, there are several operations that build new graphs from old ones. They might be characterized through a number of descriptor events and basic transforms.

### **Definition 13 (Presence)**

*In a dynamic graph* **G**, *an object is present at time t if it belongs to the instance Gt of* **G**.

Thus, a vertex *u* is present at time *t*, if and only if *u V <sup>t</sup>* . Similarly, an edge *uv* is present at time *t*, if and only if *uv E <sup>t</sup>* knowing that both *u* and *v* belong to*Vt* .

### **Definition 14 (absence)**

*In a dynamic graph G, an object is absent at time t, if it does not belong to the instance Gt of G.* 

Operating dynamic changes on a random graph consists of a series of graph modifications (weight, vertex or edge adaptations). In contrast, the dynamicity analysis is more effective when all combination of additions and deletions of edges and vertices are taken into account.

### **Definition 15 (Addition)**

*An object appears in the dynamic graph* **G***, if it transits from the state absent to the state present.* 

From an operational perspective, this definition should be clarified. Let *u* and *v* be two vertices of *G* such that *uv* is not an edge of *G*, the addition of the edge *uv* to the graph *G* is defined by the operation

$$G + \iota \upsilon = \left( V, E \cup \{ \iota \upsilon \} \right) \tag{16}$$

Now, there are two ways to add a new vertex to a graph. One way is to add an isolated vertex to the graph *G*, i.e.

$$\mathcal{G} \stackrel{\smile}{\oplus} \iota = \left( V \cup \{ \mu \} , E \right) \tag{17}$$

and the other is to add a new vertex *u* which will be connected to an existing vertex *v* of the graph *G,* i.e.

$$G\bigoplus\_{v} \mu = \left(V \cup \{\mu\} \lrcorner E \cup \{\mu v\}\right) \tag{18}$$

Techniques for Analyzing Random Graph Dynamics and Their Applications 199

of its first occurrence

of its last occurrence

of its first occurrence

*u t* min*t uV* **<sup>R</sup>** (23)

*e t* min*t eE* **<sup>R</sup>** (24)

*u t* max*t uV* **<sup>R</sup>** (25)

*e t* max*t eE* **<sup>R</sup>** (26)

*kkk* <sup>1</sup> *AAA* (27)

*Death of an element is the date for the last deletion of this element from the dynamic graph* **G***.* 

such that

*A structure S of a graph consists in a dynamical set of elements that satisfies a given property.* 

configuration of the dynamic graph in another one are not known in advance.

A path, a click and a cluster are all examples of structures. Let us note that from the random viewpoint the succession of graph transforms and structure updates that convert a

Remark that between two consecutive changes of the graph configuration recorded at *Tk* and *Tk*<sup>1</sup> , the extended adjacency matrix *k <sup>A</sup>* of *Gk* remains unchanged all through the interval <sup>1</sup> , *T Tk k* . Thus, the dynamicity of the graph topology can be characterized by the

where *<sup>k</sup> A* is the extended adjacency matrix of the current configuration of the graph at time *T t k k* and *<sup>k</sup>* <sup>1</sup> *<sup>A</sup>* is the extended adjacency matrix of the previous configuration at

We can define for successive configurations of the graph, the number of new vertices, the number of lost vertices and the number of maintained vertices respectively at *T t k k* by

 *u* 

variation of the extended adjacency matrix between *Tk*1 and *Tk*

**4.3.1 Characterizing the change of the number of vertices** 

Formally, the birth of a vertex *u* is the date *<sup>u</sup>*

and the birth of an edge *e* is the date *<sup>u</sup>*

Thus, the death of a vertex is the date

and the birth of an edge *e* is the date *<sup>e</sup>*

**4.3 Graph topology changes in RGD** 

time *T t k k* 1 1 (with *T T k k* <sup>1</sup> ).

**Definition 18 (Death)** 

**Definition 19 (Structure)** 

From the algorithmic point of view this last operation (18) can be seen as a composition of the two previous ones (16) and (17). Also, note that any instance *G VE* , of the model <sup>G</sup>**<sup>P</sup>** has a host \* *G E* , which is defined by adding to the graph *G* isolated vertices taken in *V*

$$\mathbf{G}^\* = \mathbf{G} \underset{\boldsymbol{\mu} \in \Omega - V}{\oplus} \boldsymbol{\mu} \tag{19}$$

Thus, we conceive that the adjacency matrix of \* *G* is obtained by completing the adjacency matrix of *G* by 0. This matrix will be called in the rest of the chapter *extended adjacency matrix of G*. The advantage of working with the host graph \* *G* can be viewed rather as freeing from the assumption that the set of vertices of a random dynamic graph varies with time. But the downside of this alternative is that the graph model can exhibit needlessly an excessively large order or incomplete information.

#### **Proposition 4**

*Let <sup>V</sup> be two nonempty sets such that <sup>G</sup> V,E be a graph and <sup>G</sup> ,E \* be a host for G. Then* 

$$\underset{v}{\mathbf{G}} \, \stackrel{\widehat{\oplus}}{\oplus} \boldsymbol{\mu} = \left(\mathbf{G} \, \stackrel{\overline{\oplus}}{\oplus} \boldsymbol{\mu}\right) + \boldsymbol{\mu} \boldsymbol{v} \tag{20}$$

#### **Proof**

This property results trivially from the definitions corresponding to the operations and .

#### **Definition 16 (Deletion)**

*An object disappears (or is deleted) from the dynamic graph* **G***, if it transits from the state present to the state absent.* 

In these terms, the edge deletion can be formalized as follow. Let *u* and *v* be two vertices of a graph *G V ,E* such that *uv* is an edge of *G*, the deletion of the edge *uv* from the graph *G*  is defined by the operation

$$\mathbf{G} - \mu \upsilon = \left( V, E - \{ \mu \upsilon \} \right) \tag{21}$$

On another hand, the vertex deletion can be defined

$$G\Delta\!\!\/ \Delta\!\/ = \left(V - \{\mu\} \/ \_\prime E - \bigcup\_{v \neq N\{\mu\}} \{\mu v\}\right) \tag{22}$$

Indeed, the deletion of the vertex *u* induces the deletion of all the edges having *u* as endvertex.

#### **Definition 17 (Birth)**

*The birth of an object is the date of its first appearance in the dynamic graph G.*

Formally, the birth of a vertex *u* is the date *<sup>u</sup>* of its first occurrence

$$
\tau\_u^+ = \min \left\{ t \in \mathbf{R} + \left| u \in V\_t \right. \right\} \tag{23}
$$

and the birth of an edge *e* is the date *<sup>u</sup>* of its first occurrence

$$
\sigma\_e^+ = \min \left\{ t \in \mathbf{R} + \left| e \in E\_t \right. \right\} \tag{24}
$$

#### **Definition 18 (Death)**

198 New Frontiers in Graph Theory

From the algorithmic point of view this last operation (18) can be seen as a composition of the two previous ones (16) and (17). Also, note that any instance *G VE* , of the model <sup>G</sup>**<sup>P</sup>** has a host \* *G E* , which is defined by adding to the graph *G* isolated vertices

> *u V GG u*

Thus, we conceive that the adjacency matrix of \* *G* is obtained by completing the adjacency matrix of *G* by 0. This matrix will be called in the rest of the chapter *extended adjacency matrix of G*. The advantage of working with the host graph \* *G* can be viewed rather as freeing from the assumption that the set of vertices of a random dynamic graph varies with time. But the downside of this alternative is that the graph model can exhibit needlessly an excessively

*Let <sup>V</sup> be two nonempty sets such that <sup>G</sup> V,E be a graph and <sup>G</sup> ,E \* be a host for G.* 

 *<sup>v</sup> G u G u uv*

This property results trivially from the definitions corresponding to the operations

*An object disappears (or is deleted) from the dynamic graph* **G***, if it transits from the state present to* 

In these terms, the edge deletion can be formalized as follow. Let *u* and *v* be two vertices of a graph *G V ,E* such that *uv* is an edge of *G*, the deletion of the edge *uv* from the graph *G* 

Indeed, the deletion of the vertex *u* induces the deletion of all the edges having *u* as end-

 

*The birth of an object is the date of its first appearance in the dynamic graph G.*

 *v N u*

 

(19)

(20)

*G uv V ,E uv* (21)

*G u V u ,E uv* (22)

and

\*

taken in *V*

**Proposition 4** 

*Then* 

**Proof** 

**Definition 16 (Deletion)** 

is defined by the operation

On another hand, the vertex deletion can be defined

*the state absent.* 

vertex.

**Definition 17 (Birth)** 

 .

large order or incomplete information.

*Death of an element is the date for the last deletion of this element from the dynamic graph* **G***.* 

Thus, the death of a vertex is the date *u* of its last occurrence

$$
\tau\_u^- = \max \{ t \in \mathbf{R} + |u \in V\_t \} \tag{25}
$$

and the birth of an edge *e* is the date *<sup>e</sup>* such that

$$
\tau\_c^- = \max \{ t \in \mathbf{R} + |e \in E\_t \} \tag{26}
$$

#### **Definition 19 (Structure)**

*A structure S of a graph consists in a dynamical set of elements that satisfies a given property.* 

A path, a click and a cluster are all examples of structures. Let us note that from the random viewpoint the succession of graph transforms and structure updates that convert a configuration of the dynamic graph in another one are not known in advance.

#### **4.3 Graph topology changes in RGD**

Remark that between two consecutive changes of the graph configuration recorded at *Tk* and *Tk*<sup>1</sup> , the extended adjacency matrix *k <sup>A</sup>* of *Gk* remains unchanged all through the interval <sup>1</sup> , *T Tk k* . Thus, the dynamicity of the graph topology can be characterized by the variation of the extended adjacency matrix between *Tk*1 and *Tk*

$$
\Delta A^{(k)} = A^{(k)} - A^{(k-1)} \tag{27}
$$

where *<sup>k</sup> A* is the extended adjacency matrix of the current configuration of the graph at time *T t k k* and *<sup>k</sup>* <sup>1</sup> *<sup>A</sup>* is the extended adjacency matrix of the previous configuration at time *T t k k* 1 1 (with *T T k k* <sup>1</sup> ).

#### **4.3.1 Characterizing the change of the number of vertices**

We can define for successive configurations of the graph, the number of new vertices, the number of lost vertices and the number of maintained vertices respectively at *T t k k* by

Techniques for Analyzing Random Graph Dynamics and Their Applications 201

2 2 ;1 ,1 , 1

Pr , , 1 1

 

<sup>3</sup> 1 2 2 2

123 !

*nnn*

independent. On the other hand, we have discrete trials (relating the different situations

in the set ) and because the occurrence measures of graph vertex situations *<sup>k</sup>*

a multinomial distribution of trials and from the previous proposition (proposition 5)

,

*k u u k u u k u u*

*a*

*a*

*a*

Pr 1 1

Pr 0 1

,

,

Pr 1 1

Following this line of thinking, these results can be applied only if the number of the observed vertices varies with time. That is when the dynamicity affects the vertices of the dynamic graph. Otherwise, while the number observed vertices remain unchanged, we will show similar results in the next subsection under the assumption of dynamicity of edges.

First and foremost let us remain under the assumption of the general model *<sup>t</sup>* G**<sup>P</sup>** of dynamic graphs. In the context of connectivity, the number of edges connected to the same vertex defines its degree. Thus, from the uncertain connectivity viewpoint of dynamic random graphs, we can define locally for each graph vertex the number of new neighbors, the number of lost neighbors and the number of maintained neighbors respectively at

> , <sup>0</sup> *<sup>k</sup> u v*

**<sup>1</sup>** and

*k*

*<sup>u</sup> <sup>a</sup> v V*

*k*

 

2 2

 

 

!!! *n n n kkk*

 

*u u u u u u aaa* and all trials are

 *i.e.* 

 

, this means that we deal with

 , <sup>0</sup> *<sup>k</sup> u v*

**<sup>1</sup>** (31)

*k*

*<sup>u</sup> <sup>a</sup> v V*

*k*

 

*u u <sup>a</sup>* , , <sup>0</sup> *<sup>k</sup>*

(30)

*u u a* and

 , *<sup>k</sup>* 

123

 

*nnn*

**Proof** 

, <sup>1</sup> *<sup>k</sup>*

and *<sup>k</sup>* 

*T t k k* by

 

On one hand, there are only three possible outcomes , <sup>1</sup> *<sup>k</sup>*

*u u <sup>a</sup>* such that Pr 1 Pr 0 Pr 1 1 ,,, *kkk*

are interrelated by the equation *kk k*

**4.3.2 Characterizing the change of the number of edges** 

 , <sup>0</sup> *<sup>k</sup> u v*

*k*

 **<sup>1</sup>** ,

*<sup>u</sup> <sup>a</sup> v V*

three outcomes with respective probabilities

This shows the required result in (30).

These two approaches are complementary.

*k*

$$\alpha^{(k)} = \sum\_{u \in \Omega} \mathbf{1}\_{\left\{ \Delta d\_{u,x}^{(k)} > 0 \right\}} \; \; \; \mathcal{J}^{(k)} = \sum\_{u \in \Omega} \mathbf{1}\_{\left\{ \Delta d\_{u,x}^{(k)} = 0 \right\}} \quad \text{and} \quad \mathbf{\gamma}^{(k)} = \sum\_{v \in \Omega} \mathbf{1}\_{\left\{ \Delta d\_{u,x}^{(k)} < 0 \right\}} \tag{28}$$

where *<sup>S</sup>* **1** indicates the characteristic function of the set *S* and , *k u u a* symbolizes the diagonal term of the matrix *k A* associated to the eventual vertices of the dynamic graph.

#### **Proposition 5**

*Let* **G** *be a random dynamic graph following the model <sup>t</sup>* G**<sup>P</sup>** *such that the configuration change is characterized by the stochastic time process* 0 12 1 0 *T TT T T k k . Consider the extended adjacency matrices*  , , *k k u v u v A a of G VE k kk* ,  *and k A the matrix defined by the equation (27) . Then,* 

$$\begin{cases} \Pr\left(\Delta a\_{u,u}^{(k)} = 1\right) = p\_{u,u}^{(k)} \left(1 - p\_{u,u}^{(k-1)}\right) \\ \Pr\left(\Delta a\_{u,u}^{(k)} = 0\right) = p\_{u,u}^{(k)} \left. p\_{u,u}^{(k-1)} + \left(1 - p\_{u,u}^{(k)}\right) \left(1 - p\_{u,u}^{(k-1)}\right) \right. \\ \left. \left. \Pr\left(\Delta a\_{u,u}^{(k)} = -1\right) = \left(1 - p\_{u,u}^{(k)}\right) p\_{u,u}^{(k-1)} \right. \end{cases} \tag{29}$$

#### **Proof**

Since all trials are independent, each of the three probabilities can be decomposed as follows

 **Pr Pr Pr Pr Pr Pr Pr Pr Pr** 1 1 , ,, , , 1 1 , ,, ,, 1 1 ,, ,, , 1 10 1 0 0 1100 11 00 *k kk k k u u u u u u u u u u k kk kk u v u u u u u u u u kk kk u u u u u u u u k u u a aa a a a aa aa aa aa a* **Pr Pr Pr Pr Pr Pr Pr** 1 1 , ,, 1 1 , ,, ,, 110 0 1 01 01 *k kk u u u u u u k kk kk u u u u u u u u u u a aa a aa aa* 

and because 1 1 Pr 1 , , *k k u u u u a p* , 1 1 Pr 0 1 , , *k k u u u u a p* , Pr 1 , , *k k uu uu a p* and Pr 0 1 , , *k k u v u v a p* we have the result (29).

#### **Corollary 6**

*Under the assumptions of the above proposition, and by supposing that the configuration process of the dynamic graph is homogeneous and that all the element of can appear with the same probability in a configuration of the dynamic random graph* **G**, *the triplet*  , , *kkk follows a trinomial distribution of parameters* 

$$
\left( \left| \Omega \right| ; \pi \left( 1 - \pi \right) , \pi \left( 1 - \pi \right) , \pi^2 + \left( 1 - \pi \right)^2 \right) \text{ i.e.} 
$$

$$
\left( \text{Pr} \left( \alpha^{(k)} = n\_1 \, , \, \beta^{(k)} = n\_2 \, , \, \gamma^{(k)} = n\_3 \right) = \frac{|\Omega|!}{n\_1! \, n\_2! \, n\_3!} \left[ \, \pi \left( 1 - \pi \right) \right]^{n\_1 + n\_2} \left[ \, \pi^2 + \left( 1 - \pi \right)^2 \right]^{n\_3} \tag{30}
$$

#### **Proof**

200 New Frontiers in Graph Theory

*<sup>a</sup> <sup>u</sup>*

diagonal term of the matrix *k A* associated to the eventual vertices of the dynamic graph.

*Let* **G** *be a random dynamic graph following the model <sup>t</sup>* G**<sup>P</sup>** *such that the configuration change is characterized by the stochastic time process* 0 12 1 0 *T TT T T k k . Consider the* 

*a pp p p*

Since all trials are independent, each of the three probabilities can be decomposed as follows

1 10 1 0

0 1100

, ,, , ,

*k kk k k u u u u u u u u u u k kk kk u v u u u u u u u u*

*a aa a a*

*a aa aa*

, ,, ,,

*Under the assumptions of the above proposition, and by supposing that the configuration process of the dynamic graph is homogeneous and that all the element of can appear with the same* 

, ,, ,,

*k kk kk u u u u u u u u u u*

*a aa aa*

*u u u u a p* , 1 1 Pr 0 1 , ,

, ,, , ,

*k kk k k uu uu uu uu uu*

1

1

110 0

*k k*

 *in a configuration of the dynamic random graph* **G**, *the triplet*  , , *kkk*

*a aa*

*k kk u u u u u u*

11 00

1 1 , ,,

,, ,,

*kk kk u u u u u u u u*

*aa aa*

**Pr Pr Pr**

1 01 01

1 1

1 1

1 1

1 1

1 1

*u u u u a p* , Pr 1 , ,

 , <sup>0</sup> *<sup>k</sup> u u*

**<sup>1</sup>** and

*k*

 *of G VE k kk* ,  *and k A the matrix defined by* 

 , <sup>0</sup> *<sup>k</sup> u u*

> , *k*

**<sup>1</sup>** (28)

*u u a* symbolizes the

(29)

*k k uu uu a p* and

 

*<sup>a</sup> <sup>v</sup>*

*extended adjacency matrices*  , ,

**Pr Pr**

 **Pr**

and because 1 1 Pr 1 , ,

*follows a trinomial distribution of parameters* 

**Proposition 5** 

**Proof** 

 

 Pr 0 1 , , *k k*

**Corollary 6** 

*probability* 

*the equation (27) . Then,* 

*k*

 , <sup>0</sup> *<sup>k</sup> u u*

*k*

where *<sup>S</sup>* **1** indicates the characteristic function of the set *S* and

*k k*

Pr 1 1

Pr 1 1

*a*

*k k*

*u v u v a p* we have the result (29).

*k u u*

,

 **Pr Pr**

*u v u v A a*

*a pp*

, ,,

*k kk uu uu uu*

*a pp*

**Pr Pr Pr Pr**

**Pr Pr Pr Pr**

, , ,

*k k k u u uu uu*

Pr 0 1 1

*<sup>a</sup> <sup>u</sup>*

 **<sup>1</sup>** ,

> On one hand, there are only three possible outcomes , <sup>1</sup> *<sup>k</sup> u u <sup>a</sup>* , , <sup>0</sup> *<sup>k</sup> u u a* and , <sup>1</sup> *<sup>k</sup> u u <sup>a</sup>* such that Pr 1 Pr 0 Pr 1 1 ,,, *kkk u u u u u u aaa* and all trials are independent. On the other hand, we have discrete trials (relating the different situations in the set ) and because the occurrence measures of graph vertex situations *<sup>k</sup>* , *<sup>k</sup>* and *<sup>k</sup>* are interrelated by the equation *kk k* , this means that we deal with a multinomial distribution of trials and from the previous proposition (proposition 5) three outcomes with respective probabilities

$$\begin{cases} \Pr\left(\Delta \, a\_{u,u}^{(k)} = 1\right) = \pi \left(1 - \pi\right) \\ \Pr\left(\Delta \, a\_{u,u}^{(k)} = 0\right) = \pi^2 + \left(1 - \pi\right)^2 \\ \Pr\left(\Delta \, a\_{u,u}^{(k)} = -1\right) = \left(1 - \pi\right)\pi \end{cases}$$

This shows the required result in (30).

Following this line of thinking, these results can be applied only if the number of the observed vertices varies with time. That is when the dynamicity affects the vertices of the dynamic graph. Otherwise, while the number observed vertices remain unchanged, we will show similar results in the next subsection under the assumption of dynamicity of edges. These two approaches are complementary.

#### **4.3.2 Characterizing the change of the number of edges**

First and foremost let us remain under the assumption of the general model *<sup>t</sup>* G**<sup>P</sup>** of dynamic graphs. In the context of connectivity, the number of edges connected to the same vertex defines its degree. Thus, from the uncertain connectivity viewpoint of dynamic random graphs, we can define locally for each graph vertex the number of new neighbors, the number of lost neighbors and the number of maintained neighbors respectively at *T t k k* by

$$\boldsymbol{\nu}\_{\boldsymbol{u}}^{(k)} = \sum\_{\boldsymbol{v} \neq \boldsymbol{V}\_{k}} \mathbf{1}\_{\left\{ \boldsymbol{\Delta}\_{\boldsymbol{u},\boldsymbol{v}}^{(k)} > 0 \right\}} \quad \boldsymbol{\mu}\_{\boldsymbol{u}}^{(k)} = \sum\_{\boldsymbol{v} \neq \boldsymbol{V}\_{k}} \mathbf{1}\_{\left\{ \boldsymbol{\Delta}\_{\boldsymbol{u},\boldsymbol{v}}^{(k)} = 0 \right\}} \quad \text{and} \quad \boldsymbol{\mathcal{\lambda}}\_{\boldsymbol{u}}^{(k)} = \sum\_{\boldsymbol{v} \neq \boldsymbol{V}\_{k}} \mathbf{1}\_{\left\{ \boldsymbol{\Delta}\_{\boldsymbol{u},\boldsymbol{v}}^{(k)} < 0 \right\}} \tag{31}$$

Techniques for Analyzing Random Graph Dynamics and Their Applications 203

*k k k u v V*

Under the condition of conservation of the number of vertices from a configuration to a successor one, we can establish a number of results for dynamic graphs under Erdös-Rényi

*Let G be a random dynamic graph following the model*  G*<sup>p</sup> V such that the configuration change is characterized by the stochastic time process* 0 12 1 0 *T TT T T k k . Consider the* 

*a pp*

Since all trials are independent, each of the three probabilities can be decomposed such as

, ,, , ,

*k kk k k u v u v u v u v u v k kk kk u v u v u v u v u v*

Pr 1 Pr 1 0 Pr 1 Pr 0

*a aa a a*

, ,, ,,

Pr 1 1 Pr 0 0

Pr 0 Pr 1 1 0 0

*a aa aa*

*u v u v a a <sup>p</sup>* and <sup>1</sup> Pr 0 Pr 0 1 , ,

*Under the assumptions of the above proposition, and by supposing that the random dynamic graph* 

, ,, ,,

*k kk kk u v u v u v u v u v*

Pr 1 Pr 0 1 Pr 0 Pr 1

*a aa aa*

*a pp*

*a p p*

2 2

1 Pr 1 Pr 0 Pr 0

*a aa*

*k kk u v u v u v*

,, ,,

*kk kk u v u v u v u v*

*aa aa*

1 1

1 1

1 1

1 1

*k k*

*u v u v a a <sup>p</sup>* , we have

 *follows a trinomial distribution of* 

1 1 , ,,

and

*k k k u v V*

 *of G VE k k* ,  *and k A the matrix defined by* 

(33)

(34)

 *k k k u v V*

*k k*

*a*

*belongs to the*  <sup>G</sup>*<sup>p</sup> V model, the triplet*  , , *kk k*

*parameters*  2 2 *VV p pp pp p* 1 2; 1 , 1 , 1 *. i.e.* 

*k k*

*k u v*

Pr

and because <sup>1</sup> Pr 1 Pr 1 , ,

,

*u v uv V A a*

*the equation (27) and such that all the terms of its principal diagonal are equal to zero, then* 

,

*k u v k u v k u v*

Pr 1 1

Pr 0 1

,

,

Pr 1 1

,

*extended adjacency matrices*  , , *<sup>k</sup>*

model constrains.

**Proposition 8** 

**Proof** 

follows

 

the result (34).

**Corollary 9** 

where *<sup>S</sup>* **1** indicates the characteristic function of the set *S* and , *k u v a* indicates a generic entry of the matrix *k A* . Essentially, the knowledge, step by step, of the evolution of the local metrics *<sup>k</sup> <sup>u</sup>* and *k <sup>u</sup>* will allow us to determine a propagation equation of degree function at each vertex of the observed dynamic graph.

Fig. 1. Connectivity metrics change for two simulated random dynamic graphs

#### **Proposition 7**

*Let G be a random dynamic graph following the model*  <sup>G</sup>**<sup>P</sup>***t and consider the configurations <sup>k</sup> <sup>k</sup> <sup>G</sup>* **N** *of G associated to the stochastic time process* 0 12 1 <sup>0</sup> *T TT T T k k . If Gk d denotes the underlying degree function to Gk*

$$\forall \boldsymbol{\mu} \in \Omega: \ d\_{\mathbb{G}\_k} \left( \boldsymbol{\mu} \right) = d\_{\mathbb{G}\_{k-1}} \left( \boldsymbol{\mu} \right) + \nu\_{\boldsymbol{\mu}}^{\{k\}} - \mathcal{A}\_{\boldsymbol{\mu}}^{\{k\}} \tag{32}$$

#### **Proof**

The proof of (32) results directly from the definitions of *k <sup>u</sup>* and *k <sup>u</sup>* .

We can also define global graph indices which reflect the global configuration changes of the dynamic random graph (see figure 1)

$$\nu^{(k)} = \sum\_{v \le V\_k} \nu^{(k)}\_{\
u} \; , \; \mu^{(k)} = \sum\_{v \le V\_k} \mu^{(k)}\_{\
u} \text{ and } \; \mathcal{A}^{(k)} = \sum\_{v \le V\_k} \mathcal{A}^{(k)}\_{\
u} \tag{33}$$

Under the condition of conservation of the number of vertices from a configuration to a successor one, we can establish a number of results for dynamic graphs under Erdös-Rényi model constrains.

#### **Proposition 8**

202 New Frontiers in Graph Theory

entry of the matrix *k A* . Essentially, the knowledge, step by step, of the evolution of the

, *k*

*<sup>u</sup>* will allow us to determine a propagation equation of degree

*u v a* indicates a generic

where *<sup>S</sup>* **1** indicates the characteristic function of the set *S* and

Fig. 1. Connectivity metrics change for two simulated random dynamic graphs

*Let G be a random dynamic graph following the model*  <sup>G</sup>**<sup>P</sup>***t and consider the configurations <sup>k</sup> <sup>k</sup> <sup>G</sup>* **N** *of G associated to the stochastic time process* 0 12 1 <sup>0</sup> *T TT T T k k . If* 

We can also define global graph indices which reflect the global configuration changes of

 <sup>1</sup> : *k k k k u dud u G G uu*

 (32)

> *<sup>u</sup>* and *k <sup>u</sup>* .

local metrics *<sup>k</sup>*

**Proposition 7** 

**Proof** 

*Gk d denotes the underlying degree function to Gk*

the dynamic random graph (see figure 1)

The proof of (32) results directly from the definitions of *k*

 *<sup>u</sup>* and *k* 

function at each vertex of the observed dynamic graph.

*Let G be a random dynamic graph following the model*  G*<sup>p</sup> V such that the configuration change is characterized by the stochastic time process* 0 12 1 0 *T TT T T k k . Consider the extended adjacency matrices*  , , *<sup>k</sup> k k u v uv V A a of G VE k k* ,  *and k A the matrix defined by the equation (27) and such that all the terms of its principal diagonal are equal to zero, then* 

$$\begin{cases} \Pr\left(\Delta a\_{u,v}^{(k)} = \mathbf{1}\right) = p \left(\mathbf{1} - p\right) \\ \Pr\left(\Delta a\_{u,v}^{(k)} = 0\right) = p^2 + \left(\mathbf{1} - p\right)^2 \\ \Pr\left(\Delta a\_{u,v}^{(k)} = -\mathbf{1}\right) = \left(\mathbf{1} - p\right)p \end{cases} \tag{34}$$

#### **Proof**

Since all trials are independent, each of the three probabilities can be decomposed such as follows

 1 1 , ,, , , 1 1 , ,, ,, 1 1 ,, ,, , Pr 1 Pr 1 0 Pr 1 Pr 0 Pr 0 Pr 1 1 0 0 Pr 1 1 Pr 0 0 Pr *k kk k k u v u v u v u v u v k kk kk u v u v u v u v u v kk kk u v u v u v u v k u v a aa a a a aa aa aa aa a* 1 1 , ,, 1 1 , ,, ,, 1 Pr 1 Pr 0 Pr 0 Pr 1 Pr 0 1 Pr 0 Pr 1 *k kk u v u v u v k kk kk u v u v u v u v u v a aa a aa aa* 

and because <sup>1</sup> Pr 1 Pr 1 , , *k k u v u v a a <sup>p</sup>* and <sup>1</sup> Pr 0 Pr 0 1 , , *k k u v u v a a <sup>p</sup>* , we have the result (34).

#### **Corollary 9**

*Under the assumptions of the above proposition, and by supposing that the random dynamic graph belongs to the*  <sup>G</sup>*<sup>p</sup> V model, the triplet*  , , *kk k follows a trinomial distribution of parameters*  2 2 *VV p pp pp p* 1 2; 1 , 1 , 1 *. i.e.* 

Techniques for Analyzing Random Graph Dynamics and Their Applications 205

The ultimate objective in random graph dynamics analysis is the estimation of the graph model parameters. In some respects, nearly all types of dynamic changes can be interpreted in this way. In the empirical study, for reasons of traceability of the calculations, we restrict ourselves to an homogeneous model *<sup>t</sup>* G**<sup>P</sup>** such that, there exists a non-negative real

Furthermore, we assume that by some means a vertex may deduct its neighborhood set directly from information exchanged as part of edge sensing. This section aims to show how

**5.1 Dynamic graphs with known number of vertices and unknown edge probability**  The main goal here is to find the maximum-likelihood estimate (MLE) of the edge

*and V is large. Consider D the random variable counting the degree in a fixed vertex u of* **G** *and let*  1 2 , ,, *DD D <sup>s</sup> be a s-sample formed by the degrees of u for s different configurations of the random* 

> <sup>1</sup> ˆ if is small 1 ˆ if is large

If the graph order *N V* is small, from equation (11), the log-likelihood function of the

 <sup>1</sup> 1 1

*<sup>N</sup> <sup>p</sup> <sup>p</sup> N;D D D sN <sup>p</sup> <sup>D</sup> <sup>p</sup>*

, , , log log 1 log 1 <sup>1</sup> *s s s i i i i*

The MLE of *p* is obtained by solving the partial differential equation , ,, <sup>1</sup> <sup>0</sup> *<sup>s</sup> p N;D D*

 <sup>1</sup> <sup>1</sup> <sup>ˆ</sup> 1 1

*D p D sN N* 

*s i i*

*p DN <sup>N</sup>*

*D N*

1

, *k u v p p* .

(39)

*p V when p is small* 

*p* 

**5. Parameter estimation of the random dynamic graph model** 

the model parameters of the random dynamic graph can be estimated.

probability *p* when the number of the graph vertices *N V* is known.

*Let* **G** *be a random dynamic graph following the model* G*<sup>p</sup> V and note* 

*MLE*

*MLE*

*MLE*

*dynamic graph at the graph change timesTT T* 1 2 *<sup>s</sup> . Then* 

degree distribution in a given vertex u is

*p*0,1 , for all existing pair of vertices *u* and *v*

**Proposition 11** 

**Proof** 

i.e.

$$\Pr\left(\nu^{(k)}=n\_1,\,\mu^{(k)}=n\_2,\,\,\lambda^{(k)}=n\_3\right) = \frac{\binom{|V|}{2}!}{n\_1!n\_2!n\_3!} \left[p\left(1-p\right)\right]^{n\_1+n\_2} \left[p^2 + \left(1-p\right)^2\right]^{n\_3} \tag{35}$$

#### **Proof**

First, note that all pairs of vertices *u* and *v*, there are only three possible independent outcomes , <sup>1</sup> *<sup>k</sup> u v <sup>a</sup>* , , <sup>0</sup> *<sup>k</sup> u v <sup>a</sup>* and , <sup>1</sup> *<sup>k</sup> u v a* . Furthermore, we have

$$\Pr\left(\Delta \boldsymbol{a}\_{\boldsymbol{u},\boldsymbol{\upsilon}}^{(k)} = \mathbf{1}\right) + \Pr\left(\Delta \boldsymbol{a}\_{\boldsymbol{u},\boldsymbol{\upsilon}}^{(k)} = \mathbf{0}\right) + \Pr\left(\Delta \boldsymbol{a}\_{\boldsymbol{u},\boldsymbol{\upsilon}}^{(k)} = -\mathbf{1}\right) = \mathbf{1}$$

and all trials are independent. Subsequently, we have *V* discrete trials and since there are no other situations than those described above, the three measures of occurrence of graph edges *<sup>k</sup>* , *<sup>k</sup>* and *k* are interrelated and verify

$$\left|\nu^{(k)} + \mu^{(k)} + \mathcal{A}^{(k)}\right.\left. \left. \mathcal{A}^{(k)} \right| = \left|V\right|(\left|V\right|-1)/2\tag{36}$$

Each of the *V V* 1 2 trials (off-diagonal generic entries of the symmetric matrix *<sup>k</sup> A* ) matches to one of the three possible outcomes with respective probabilities

$$\Pr\left(\Delta a\_{u,v}^{(k)} = 1\right) = p\left(1 - p\right) \text{ \text{ } Pr\left(\Delta a\_{u,v}^{(k)} = 0\right) = p^2 + \left(1 - p\right)^2 \text{ and } \Pr\left(\Delta a\_{u,v}^{(k)} = -1\right) = \left(1 - p\right)p \quad \text{(37)}$$

Thus, by taking into account the results established by the equation (36) and the system (37), we can conclude that, *the triplet*  , , *kkk follows a trinomial distribution of parameters*  2 2 *VV p pp pp p* 1 2; 1 , 1 , 1 .

#### **Corollary 10**

*Under the assumptions of the proposition 8, the off-diagonal entries of the correlation matrix associated to*  , , *kk k are such that* 

$$\rho\left(\boldsymbol{\nu}^{(k)},\boldsymbol{\mu}^{(k)}\right) = \rho\left(\boldsymbol{\lambda}^{(k)},\boldsymbol{\mu}^{(k)}\right) = -\sqrt{\frac{\left(1-p\right)^2 + p^2}{2\left[\left(1-p\right)^2 + p\right]}} \text{ and } \;\rho\left(\boldsymbol{\lambda}^{(k)},\boldsymbol{\nu}^{(k)}\right) = -\frac{p\left(1-p\right)}{\left(1-p\right)^2 + p} \tag{38}$$

#### **Proof**

The corollary results from the general properties of the correlation matrix of a trinomial distribution of parameters 2 2 *VV p pp pp p* 1 2; 1 , 1 , 1 .

Note that the graph order *V V* 1 2 drop out of the off-diagonal entries of the correlation matrix associated to , , *kk k* .

### **5. Parameter estimation of the random dynamic graph model**

The ultimate objective in random graph dynamics analysis is the estimation of the graph model parameters. In some respects, nearly all types of dynamic changes can be interpreted in this way. In the empirical study, for reasons of traceability of the calculations, we restrict ourselves to an homogeneous model *<sup>t</sup>* G**<sup>P</sup>** such that, there exists a non-negative real

*p*0,1 , for all existing pair of vertices *u* and *v* , *k u v p p* .

Furthermore, we assume that by some means a vertex may deduct its neighborhood set directly from information exchanged as part of edge sensing. This section aims to show how the model parameters of the random dynamic graph can be estimated.

### **5.1 Dynamic graphs with known number of vertices and unknown edge probability**

The main goal here is to find the maximum-likelihood estimate (MLE) of the edge probability *p* when the number of the graph vertices *N V* is known.

#### **Proposition 11**

204 New Frontiers in Graph Theory

1 2 2 2 <sup>3</sup>

Pr , , 1 1

*u v <sup>a</sup>* and , <sup>1</sup> *<sup>k</sup>*

are interrelated and verify

matches to one of the three possible outcomes with respective probabilities

*k*

*u v a pp* , <sup>2</sup> <sup>2</sup> Pr 0 1 ,

 *are such that* 

distribution of parameters 2 2 *VV p pp pp p* 1 2; 1 , 1 , 1 .

! 2

(35)

*u v a* . Furthermore, we have

*V V* (36)

*u v a p p* (37)

 *follows a trinomial distribution of parameters* 

and

<sup>1</sup> , 1 *k k <sup>p</sup> <sup>p</sup> <sup>ν</sup>*

<sup>2</sup>

*p p*

(38)

*u v a pp* and Pr 1 1 , *<sup>k</sup>*

 

123

First, note that all pairs of vertices *u* and *v*, there are only three possible independent

 Pr 1 Pr 0 Pr 1 1 ,,, *kkk u v u v u v aaa*

and all trials are independent. Subsequently, we have *V* discrete trials and since there are no other situations than those described above, the three measures of occurrence of graph

1 2 *kk k*

Each of the *V V* 1 2 trials (off-diagonal generic entries of the symmetric matrix *<sup>k</sup> A* )

Thus, by taking into account the results established by the equation (36) and the system (37),

*Under the assumptions of the proposition 8, the off-diagonal entries of the correlation matrix* 

2 2 2

*p p*

The corollary results from the general properties of the correlation matrix of a trinomial

Note that the graph order *V V* 1 2 drop out of the off-diagonal entries of the

.

2 1

 

!!! *n n n kk k V*

*n n n pp p p nnn*

 

12 3

*u v <sup>a</sup>* , , <sup>0</sup> *<sup>k</sup>*

 and *k* 

Pr 1 1 , *<sup>k</sup>*

*associated to*  , , *kk k*

 

**Proof** 

 

correlation matrix associated to , , *kk k*

we can conclude that, *the triplet*  , , *kkk*

2 2 *VV p pp pp p* 1 2; 1 , 1 , 1 .

<sup>1</sup> , ,

*kk kk p p*

**Proof** 

edges *<sup>k</sup>* , *<sup>k</sup>* 

**Corollary 10**

outcomes , <sup>1</sup> *<sup>k</sup>*

*Let* **G** *be a random dynamic graph following the model* G*<sup>p</sup> V and note p V when p is small and V is large. Consider D the random variable counting the degree in a fixed vertex u of* **G** *and let*  1 2 , ,, *DD D <sup>s</sup> be a s-sample formed by the degrees of u for s different configurations of the random dynamic graph at the graph change timesTT T* 1 2 *<sup>s</sup> . Then* 

$$\begin{cases} \hat{p}\_{MLE} = \frac{1}{N-1} \overline{D} & \text{if } N \text{ is small} \\ \hat{\mathcal{L}}\_{MLE} = \overline{D} & \text{if } N \text{ is large} \end{cases} \tag{39}$$

#### **Proof**

If the graph order *N V* is small, from equation (11), the log-likelihood function of the degree distribution in a given vertex u is

$$\ell\left(p, N; D\_1, \dots, D\_s\right) = \sum\_{i=1}^s \log\binom{N-1}{D\_i} + \log\left(\frac{p}{1-p}\right) \sum\_{i=1}^s D\_i + s \cdot (N-1) \cdot \log(1-p)$$

The MLE of *p* is obtained by solving the partial differential equation , ,, <sup>1</sup> <sup>0</sup> *<sup>s</sup> p N;D D p* i.e.

$$\hat{p}\_{MLE} = \frac{\sum\_{i=1}^{s} D\_i}{s \left(N - 1\right)} = \frac{1}{N - 1} \ \overline{D}$$

Techniques for Analyzing Random Graph Dynamics and Their Applications 207

*Let G be a random dynamic graph following the model* G*<sup>p</sup> V and suppose that N V is small. Consider D the random variable counting the degree in a fixed vertex u of G and let* 1 2 , ,, *DD D <sup>s</sup> be a s-sample formed by the degrees of u for s different configurations of the random dynamic graph at the graph change timesTT T* 1 2 *<sup>s</sup> . Then the estimates of moments of the graph parameters are* 

2

*S*

ˆ 1

*<sup>p</sup> <sup>D</sup>*

*<sup>D</sup> <sup>N</sup>*

In this case, the method of moments supposes that the empirical moment *D* is a natural estimate of the theoretical moment of order 1 *E D* and the theoretical centralized moments

distribution of parameters *p* an *N* 1 and the method of moments in terms of the average

<sup>2</sup>

*N p p S*

1 1 *N pD*

<sup>ˆ</sup>*ME <sup>p</sup>* <sup>ˆ</sup>

*NME* evaluations for two simulated dynamic random graphs

*NME*

*ME*

and the variance of the observed degrees leads to the system of equations

1

ˆ 1

*ME*

2 2

*<sup>k</sup> ED D* can be estimated by their respective empirical centralized

. When *N V* is small, the degree follows a binomial

(40)

(41)

*D S*

**Proposition 12** 

*respectively* 

**Proof** 

of order *<sup>k</sup> <sup>k</sup>* 

moments

Fig. 3. ˆ*ME <sup>p</sup>* and <sup>ˆ</sup>

1

*k i i M D D s*

1 *<sup>s</sup> <sup>k</sup>*

Now, if *N* is large, from equation (13), the log-likelihood function of the degree distribution in a given vertex *u* is <sup>1</sup> 1 1 , , log log ! *s s s ii i i ;D D D Ds* 

The MLE of *p* is obtained by solving the partial differential equation <sup>1</sup> , , <sup>0</sup> *<sup>s</sup> ;D D* i.e.

$$\hat{\mathcal{L}}\_{MLE} = \frac{\sum\_{i=1}^{s} D\_i}{s} = \overline{D}$$

When *s* observations of the change of the random dynamic graph topology are accomplished, the variations of ˆ*MLE <sup>p</sup>* and <sup>ˆ</sup> *MLE* displayed in one vertex or another relates the local knowledge on the values of these parameters taking into account the observed neighborhood behavior at *u*.

Fig. 2. ˆ*MLE <sup>p</sup>* and <sup>ˆ</sup> *MLE* evaluations for two simulated random graphs of order 30 vertices

Indeed, since ˆ*MLE p* depends only on the observed number of neighbors of a selected vertex for different configurations of the random dynamic graph, this quantity is estimated differently in each vertex (see figure 2).

#### **5.2 Dynamic graphs with unknown number of vertices and edge probability**

In the statistical common sense, when the graph order is unknown the method proposed in the previous paragraph cannot be applied. Another resourceful method of point estimation called method of moments (Lehmann E. L. and Casella G., 1998) can be used when the number *N* of the graph vertices and the edge density parameter *p* are both unknown. Likewise, these parameters should be estimated on the basis of an *s*-sample 1 2 , ,, *DD D <sup>s</sup>* of the degree of a vertex *u* for *s* different instances of the random dynamic graph topology.

#### **Proposition 12**

206 New Frontiers in Graph Theory

Now, if *N* is large, from equation (13), the log-likelihood function of the degree distribution

, , log log !

The MLE of *p* is obtained by solving the partial differential equation

*s i i*

*D*

*s*

When *s* observations of the change of the random dynamic graph topology are

*MLE* 

the local knowledge on the values of these parameters taking into account the observed

<sup>ˆ</sup>*MLE <sup>p</sup>* <sup>ˆ</sup>

Indeed, since ˆ*MLE p* depends only on the observed number of neighbors of a selected vertex for different configurations of the random dynamic graph, this quantity is estimated

In the statistical common sense, when the graph order is unknown the method proposed in the previous paragraph cannot be applied. Another resourceful method of point estimation called method of moments (Lehmann E. L. and Casella G., 1998) can be used when the number *N* of the graph vertices and the edge density parameter *p* are both unknown. Likewise, these parameters should be estimated on the basis of an *s*-sample 1 2 , ,, *DD D <sup>s</sup>* of the degree of a vertex *u* for *s* different instances of the random dynamic graph topology.

**5.2 Dynamic graphs with unknown number of vertices and edge probability** 

evaluations for two simulated random graphs of order 30 vertices

*D*

ˆ <sup>1</sup>

 

*MLE*

1 1

*D Ds*

 

displayed in one vertex or another relates

*MLE* 

*s s s ii i i*

in a given vertex *u* is <sup>1</sup>

*;D D*

i.e.

accomplished, the variations of ˆ*MLE <sup>p</sup>* and <sup>ˆ</sup>

<sup>1</sup> , , <sup>0</sup> *<sup>s</sup>*

neighborhood behavior at *u*.

Fig. 2. ˆ*MLE <sup>p</sup>* and <sup>ˆ</sup>

*MLE* 

differently in each vertex (see figure 2).

 

 *;D D* 

*Let G be a random dynamic graph following the model* G*<sup>p</sup> V and suppose that N V is small. Consider D the random variable counting the degree in a fixed vertex u of G and let* 1 2 , ,, *DD D <sup>s</sup> be a s-sample formed by the degrees of u for s different configurations of the random dynamic graph at the graph change timesTT T* 1 2 *<sup>s</sup> . Then the estimates of moments of the graph parameters are respectively* 

$$\begin{cases} \hat{p}\_{ME} = 1 - \frac{S^2}{\overline{D}}\\ \hat{N}\_{ME} = 1 + \frac{\overline{D}^2}{\overline{D} - S^2} \end{cases} \tag{40}$$

#### **Proof**

In this case, the method of moments supposes that the empirical moment *D* is a natural estimate of the theoretical moment of order 1 *E D* and the theoretical centralized moments of order *<sup>k</sup> <sup>k</sup> <sup>k</sup> ED D* can be estimated by their respective empirical centralized moments 1 1 *<sup>s</sup> <sup>k</sup> k i i M D D s* . When *N V* is small, the degree follows a binomial distribution of parameters *p* an *N* 1 and the method of moments in terms of the average and the variance of the observed degrees leads to the system of equations

$$\begin{cases} (N-1)\ p = \overline{D} \\ \left(N-1\right)p\left(1-p\right) = \mathcal{S}^2 \end{cases} \tag{41}$$

Fig. 3. ˆ*ME <sup>p</sup>* and <sup>ˆ</sup> *NME* evaluations for two simulated dynamic random graphs

Techniques for Analyzing Random Graph Dynamics and Their Applications 209

Furthermore, the log-likelihood function of a sample 1 2 , ,, *DD D <sup>s</sup>* representing the degrees of a given vertex *u* of *G* for *s* different configurations of the random dynamic graph is given by

*;D D DD s*

The MLE is obtained by solving the partial differential equation <sup>1</sup> , , <sup>0</sup> *<sup>s</sup>*

ˆ <sup>1</sup>

(because is Poisson distributed with parameter )

*D*

*;D D <sup>s</sup> I E*

which is the lower bound of the Fréchet-Darmois-Cramer-Rao (FDCR) inequality.

1 1 2 2

*Let* **G** *be a random dynamic graph following the model*  G*<sup>p</sup> V and suppose that V is large and known. Consider D the random variable counting the degree in a fixed vertex u of* **G** *and let*  1 2 , ,, *DD D <sup>s</sup> be a s-sample formed by the degrees of u for s different configurations of the random dynamic graph at the graph change times TT T* 1 2 *<sup>s</sup> . Then, the average hopcount MLE is* 

 

*s i*

*s i*

*D*

*s i i D*

 

*s*

1 1 <sup>ˆ</sup> var var var (because are independent and identically distibuted to )

1 1 , , log ! log *s s s ii i i*

*D*

*D D D*

and <sup>2</sup>

, , 1

 

is unbiased and verifies the lower bound of the FDCR inequality, it is an

*E D*

*i*

*s*

 

1 1 2 2

*s i*

ˆ var

*s i*

 

*D*

, ,

is such that

 

 *;D D* 

 *;D D* 

 i.e

(43)

<sup>1</sup>

which shows the proposition *ii*. It follows, on one hand,

<sup>1</sup> <sup>1</sup> , ,

2

Thus, the Fisher information quantity of the parameter

*;D D*

**5.4 Routing performance metrics evaluation** 

**5.4.1 Average hopcount estimation** 

*s i*

*s*

<sup>2</sup>

*s s*

*i*

1

*i*

 

*s*

and on the other hand,

Then, since ˆ

**Proposition 14** 

*approximately* 

efficient estimate.

*s*

It results from the resolution of the system of equations (41) that the moment estimates of the unknown graph parameters

$$\begin{cases} \hat{\mathcal{P}}\_{ME} = 1 - \frac{S^2}{\overline{D}} \\ \hat{\mathcal{N}}\_{ME} = 1 + \frac{\overline{D}^2}{\overline{D} - S^2} \end{cases}$$

Depending on the neighbors met by each of the random dynamic graph vertices, the evaluation of the estimated parameters will be different.

#### **5.3 Expected degree number of vertices in wide random dynamic graphs**

Various random dynamic graph problems (Internet, out vehicle networks, wide ad hoc networks …) are analyzed and interpreted under the assumption that the order of the resulting graph may be relatively large (with some tens, hundreds or even thousands of vertices). Let be the average degree number

$$
\zeta = E(D) \tag{42}
$$

As a result of scaling, since we use an approximation of the degree distribution, it is very important to work with good estimates. This shows that the resulting computed values are most likely not due merely to chance.

#### **Proposition 13**

*Let G be a random dynamic graph following the model V* <sup>G</sup>*p and suppose that <sup>N</sup> V is large. Consider D the random variable counting the degree in a fixed vertex u of* **G** *and let* 1 2 , ,, *DD D <sup>s</sup> be a s-sample formed by the degrees of u for s different configurations of the random dynamic graph at the graph change timesTT T* 1 2 *<sup>s</sup> . Let be the Poisson distribution parameter of the degree. Then, the empirical moment of order 1* ˆ *D is a good estimate of the average degree. i.e.* 

*i. ˆ is unbiased. ii. ˆ realizes the maximum of the likelihood function. iii. ˆ is an efficient estimate of .* 

#### **Proof**

The first property results from

$$E\left(\overline{D}\right) = \frac{1}{s} \operatorname{E}\left(\sum\_{i=1}^{s} D\_i\right) = \frac{1}{s} \sum\_{i=1}^{s} E\left(D\_i\right) = E\left(D\right) = \zeta'$$

because 1 2 , ,, *DD D <sup>s</sup>* are independent and identically distributed to *D*.

Furthermore, the log-likelihood function of a sample 1 2 , ,, *DD D <sup>s</sup>* representing the degrees of a given vertex *u* of *G* for *s* different configurations of the random dynamic graph is given by

$$\ell\left(\mathcal{L}\left(\mathcal{J}; D\_{1'}, \dots, D\_s\right)\right) = -\sum\_{i=1}^s \log D\_i! + \sum\_{i=1}^s D\_i \log \zeta - s \lrcorner \zeta$$

The MLE is obtained by solving the partial differential equation <sup>1</sup> , , <sup>0</sup> *<sup>s</sup> ;D D* i.e

$$\hat{\tilde{\zeta}} = \frac{\sum\_{i=1}^{s} D\_i}{s} = \overline{D}$$

which shows the proposition *ii*. It follows, on one hand,

 <sup>2</sup> 1 1 1 <sup>ˆ</sup> var var var (because are independent and identically distibuted to ) (because is Poisson distributed with parameter ) *s i i D D D s s D s* 

and on the other hand,

208 New Frontiers in Graph Theory

It results from the resolution of the system of equations (41) that the moment estimates of

ˆ 1

*<sup>p</sup> <sup>D</sup>*

*<sup>D</sup> <sup>N</sup>*

 Depending on the neighbors met by each of the random dynamic graph vertices, the

Various random dynamic graph problems (Internet, out vehicle networks, wide ad hoc networks …) are analyzed and interpreted under the assumption that the order of the resulting graph may be relatively large (with some tens, hundreds or even thousands of

As a result of scaling, since we use an approximation of the degree distribution, it is very important to work with good estimates. This shows that the resulting computed values are

*Let G be a random dynamic graph following the model V* <sup>G</sup>*p and suppose that <sup>N</sup> V is large. Consider D the random variable counting the degree in a fixed vertex u of* **G** *and let* 1 2 , ,, *DD D <sup>s</sup> be a s-sample formed by the degrees of u for s different configurations of the random dynamic graph at* 

 1 1

*i i*

1 1 *s s*

 

because 1 2 , ,, *DD D <sup>s</sup>* are independent and identically distributed to *D*.

*i i ED E D ED ED s s*

 *realizes the maximum of the likelihood function.* 

*.*  *ME*

evaluation of the estimated parameters will be different.

be the average degree number

ˆ 1

*ME*

**5.3 Expected degree number of vertices in wide random dynamic graphs** 

2

*S*

2 2

*E D* (42)

*be the Poisson distribution parameter of the degree.* 

ˆ *D is a good estimate of the average degree. i.e.* 

*D S*

the unknown graph parameters

vertices). Let

**Proposition 13** 

*i.*

*ii.*

*iii.* 

**Proof** 

*ˆ*

*ˆ*

*ˆ*

most likely not due merely to chance.

*the graph change timesTT T* 1 2 *<sup>s</sup> . Let* 

*Then, the empirical moment of order 1*

 *is an efficient estimate of* 

The first property results from

 *is unbiased.* 

$$\frac{\partial \, \ell(\zeta : D\_1, \cdots, D\_s)}{\partial \, \zeta} = -s + \frac{\sum\_{i=1}^s D\_i}{\zeta} \text{ and } \frac{\partial^2 \, \ell(\zeta : D\_1, \cdots, D\_s)}{\partial \, \zeta^2} = -\frac{\sum\_{i=1}^s D\_i}{\zeta^2}$$

Thus, the Fisher information quantity of the parameter is such that

$$I(\boldsymbol{\zeta}^\*) = E\left[ -\frac{\partial^2 \, \ell(\boldsymbol{\zeta}^\*; D\_1, \dots, D\_s)}{\partial \left| \boldsymbol{\zeta}^2 \right.} \right] = \frac{\sum\_{i=1}^s E(D\_i)}{\left| \boldsymbol{\zeta}^2 \right.} = \frac{s}{\boldsymbol{\zeta}} = \frac{1}{\mathrm{var}\left(\hat{\boldsymbol{\zeta}}\right)}\tag{43}$$

which is the lower bound of the Fréchet-Darmois-Cramer-Rao (FDCR) inequality.

Then, since ˆ is unbiased and verifies the lower bound of the FDCR inequality, it is an efficient estimate.

#### **5.4 Routing performance metrics evaluation**

#### **5.4.1 Average hopcount estimation**

#### **Proposition 14**

*Let* **G** *be a random dynamic graph following the model*  G*<sup>p</sup> V and suppose that V is large and known. Consider D the random variable counting the degree in a fixed vertex u of* **G** *and let*  1 2 , ,, *DD D <sup>s</sup> be a s-sample formed by the degrees of u for s different configurations of the random dynamic graph at the graph change times TT T* 1 2 *<sup>s</sup> . Then, the average hopcount MLE is approximately* 

Techniques for Analyzing Random Graph Dynamics and Their Applications 211

Let us consider **G** a random dynamic graph following the model G*<sup>p</sup> V* and suppose that the graph order *V* is large and known. From the theory of Erdös-Rényi graphs, we know (Molloy and Reed, 1998) that the graph will almost surely have a unique giant component containing a positive fraction of the graph vertices if *p* 1 *V* (see figure 5) i.e. the average

*Let* **G** *be a random dynamic graph following the model*  G*<sup>p</sup> V and suppose that V is large and known. Consider D the random variable counting the degree in a fixed vertex u of* **G** *and let*  1 2 , ,, *DD D s be a s-sample formed by the degrees of u for s different configurations of the random dynamic graph at the graph change times TT T* 1 2 *<sup>s</sup> . Then, the average size MLE of the giant* 

<sup>1</sup> <sup>ˆ</sup> 1 LambertW exp *D D*

Let be the giant component size, for large order random graphs, is a solution of the

1 exp

<sup>1</sup> 1 LambertW exp

(46)

(47)

(48)

*D*

But, it is well known that there are two possible solutions to this equation

0

1

 

2

**5.4.2 Giant component size estimation** 

Fig. 5. Existence of the giant component of a graph

1 .

degree numbet

**Proposition 15** 

**Proof** 

equation

*component is approximately* 

$$
\hat{\eta}\_{MLE} \approx \frac{\log|V|}{\log \overline{D}} \tag{44}
$$

### **Proof**

Let be the average degree number. As each vertex in the random graph is connected to about other nodes, after hops, we expect that vertices must be reached. Thus all the vertices are reached for the value *<sup>V</sup>* such that *<sup>V</sup> V* . Since *V* and are both known constant parameters, the average hopcount log log *V V E* in large random graphs is

$$E[\eta\_V] \approx \frac{\log|V|}{\log \zeta} \tag{45}$$

From the proposition 11 and the equation (45), and because the MLE of a function of a parameter is equal to the function of the MLE of this parameter, the average hopcount MLE is made by

Fig. 4. Hopcount MLE evaluation for two simulated dynamic random graphs

This approximation holds because *D* is a good estimate of in the strict sense of the proposition 13. Under other assumptions than those suggested in this paragraph, different authors have led to further forms of the approximation of the average hopcount number (Mieghem et al., 2000; Bhamidi et al., 2010).

$$
\hat{\eta}\_{MLE} \approx \frac{\log \left| V \right|}{\log \overline{D}}
$$

#### **5.4.2 Giant component size estimation**

210 New Frontiers in Graph Theory

*V D*

be the average degree number. As each vertex in the random graph is connected to

log

*V*

> *V D*

*V*

. Since *V* and

(44)

vertices must be reached. Thus all the

(45)

in large random graphs is

in the strict sense of the

are both known

log <sup>ˆ</sup> log *MLE*

*<sup>V</sup>* such that *<sup>V</sup> V* 

> *E*

 log log

From the proposition 11 and the equation (45), and because the MLE of a function of a parameter is equal to the function of the MLE of this parameter, the average hopcount MLE

log <sup>ˆ</sup> log *MLE*

*V*

*E* 

Fig. 4. Hopcount MLE evaluation for two simulated dynamic random graphs

proposition 13. Under other assumptions than those suggested in this paragraph, different authors have led to further forms of the approximation of the average hopcount number

This approximation holds because *D* is a good estimate of

(Mieghem et al., 2000; Bhamidi et al., 2010).

*V*

hops, we expect that

**Proof**  Let 

about 

is made by

other nodes, after

vertices are reached for the value

constant parameters, the average hopcount log

Let us consider **G** a random dynamic graph following the model G*<sup>p</sup> V* and suppose that the graph order *V* is large and known. From the theory of Erdös-Rényi graphs, we know (Molloy and Reed, 1998) that the graph will almost surely have a unique giant component containing a positive fraction of the graph vertices if *p* 1 *V* (see figure 5) i.e. the average degree numbet 1 .

Fig. 5. Existence of the giant component of a graph

#### **Proposition 15**

*Let* **G** *be a random dynamic graph following the model*  G*<sup>p</sup> V and suppose that V is large and known. Consider D the random variable counting the degree in a fixed vertex u of* **G** *and let*  1 2 , ,, *DD D s be a s-sample formed by the degrees of u for s different configurations of the random dynamic graph at the graph change times TT T* 1 2 *<sup>s</sup> . Then, the average size MLE of the giant component is approximately* 

$$\hat{\Theta} = 1 + \frac{1}{\overline{D}} \text{LambertW} \left[ -\overline{D} \exp \left( -\overline{D} \right) \right] \tag{46}$$

#### **Proof**

Let be the giant component size, for large order random graphs, is a solution of the equation

$$
\Theta = 1 - \exp\left(-\zeta'\Theta\right) \tag{47}
$$

But, it is well known that there are two possible solutions to this equation

$$\begin{cases} \Theta\_1 = 0\\ \Theta\_2 = 1 + \frac{1}{\zeta'} \text{LambertW} \left[ -\zeta' \exp(-\zeta') \right] \end{cases} \tag{48}$$

Techniques for Analyzing Random Graph Dynamics and Their Applications 213

wireless mobile networks and social networks. Here, there are ways to implement in the generalized model the ability to prioritize connections to closest vertices. These advantages of modeling are generally not possible through the traditional random graphs of Erdös-Rényi. Also, we have described the global behavior between two consecutive configurations by calculating the probability of change. This is done in the case where the dynamic change concerns only the graph edges, as well as in the case where the dynamic change affects also

At the end of this chapter we have shown how the parameters of a dynamic random graph can be estimated under the assumptions of the Erdös-Rényi model. Thus, the estimation of these parameters has led to the estimates of the average degree of vertices, the average

Albert R., Jeong H., and Barabàsi A.L. (1999). Diameter of the Worldwide Web. Nature, vol.

Amaral L.A.N., Scala A., Barthélémy M., and Stanley H.E. (2000). Classes of small-world

Barabàsi A. L. and Albert R. (1999). Emergence of scaling in random networks, Science, vol.

Bhamidi S., van der Hofstad R. and Hooghiemstra G., (2010). First passage percolation on

Durrett R. (2006). Random Graph Dynamics. Cambridge University Press. Cambridge, U.K. Euler, L. (1736). Solutio problematis ad geometriam situs pertinentis. (The solution of a

Erdös P. and Rényi A. (1960). On the evolution of random graphs. Publications of the Mathematical Institute of the Hungarian Academy of Sciences, vol. 5, pp. 17–61. Faloutsos M., Faloutsos P., Faloutsos C. (1999). On the power-law relationship of the internet topology. Proceedings of SIGCOMM '99, New York, USA, pp 251–262 http://www.cis.upenn.edu/~mkearns/teaching/NetworkedLife/power-

Hamlili A. (2010). Adaptive Schemes for Estimating Random Graph Parameters in Dynamic

Hekmat R. and Van Mieghem P. (2003). Degree distribution and hopcount in wireless ad-

Hewer T., Nekovee M. and Coveney P. V. (2009). Parameter exploration in parallel for

(ICON 2003), Sydney, Australia, pp. 603–609, Sept. 28-Oct. 2003.

Random Networks' Modeling, Proceedings of IEEE/IFP Wireless days, Venice-

hoc networks. Proceedings of the 11th IEEE International Conference on Networks

dynamic vehicular network efficiency, International Conference on Advances in Computational Tools for Engineering Applications Proceedings (ACTEA '09), pp.

random graphs with finite mean degrees. The Annals of Applied Probability, Vol.

problem relating to the geometry of position). Commentarii Academiae

hopcount and the size of the giant component in large dynamic graphs.

networks. Proc. of Nat. Acad. Sci. USA 97, pp. 11149–11152.

20, No. 5, pp. 1907–1965, DOI: 10.1214/09-AAP666

Scientiarum Imperialis Petropolitanae, vol. 8, pp. 128–140.

Bollobàs B. (2001). Random Graphs. Cambridge studies in advanced mathematics.

http://polymer.bu.edu/hes/articles/asbs00.pdf

the graph vertices.

**7. References** 

401, pp.130–131.

286, pp. 509–512.

internet.pdf

Italy, 20 - 22 October, 2010.

16 – 20, 15-17 July 2009.

where LambertW is the classic "Lambert W " function. Since only the non-zero solution is adequate, the giant component size increases as a function of the average degree of the

graph vertices *G* following the curve <sup>1</sup> : 1 LambertW exp *<sup>z</sup> z z z* .

Fig. 6. Comparison of theoretic and empiric solutions and ˆ

Thus, from the proposition 11 and because the MLE of a function of an unknown parameter is equal to the function of the MLE of this parameter, when *V* is large the part of the graph occupied by the giant component can be estimated by

$$
\hat{\Theta} = 1 + \frac{1}{\overline{D}} \,\mathrm{LambertW} \Big[ -\overline{D} \,\exp\left( -\overline{D} \right) \Big],
$$

Elementary dissimilarities exist between random graph models and real-world graphs. Realworld graphs show strong clustering, but Erdös and Rényi's model does not. Many of the graphs, including Internet and World-Wide Web graphs, show a power-law degree distribution (Albert et al., 1999). This means that only a small part of the graph vertices can have a large degree. In fact, Erdös-Rényi assumptions can imply strong consequences on the behavior of the graph (Newman, 2003).

### **6. Conclusions**

In this chapter we have illustrated several basic tools for representing and analyzing dynamic random graph in a general context and a practical approach to estimate the parameters of classical models of such behaviors. The generalized model that we have proposed can describe not only classical real-world networks models but also situations with more complex constraints. In this model, random graph dynamics is outlined by introducing a random time process where the dynamic graph topology changes are recorded. Among the advantages of this model is the possibility to generate successive independent random graphs with potentially different sets of vertices but all belonging to the same basic set of vertices. Otherwise, the fact that the generalized model allows to consider probabilities which are not necessarily all equal gives the possibility to favor the establishment of certain connections over others. This kind of behavior is often observed in wireless mobile networks and social networks. Here, there are ways to implement in the generalized model the ability to prioritize connections to closest vertices. These advantages of modeling are generally not possible through the traditional random graphs of Erdös-Rényi. Also, we have described the global behavior between two consecutive configurations by calculating the probability of change. This is done in the case where the dynamic change concerns only the graph edges, as well as in the case where the dynamic change affects also the graph vertices.

At the end of this chapter we have shown how the parameters of a dynamic random graph can be estimated under the assumptions of the Erdös-Rényi model. Thus, the estimation of these parameters has led to the estimates of the average degree of vertices, the average hopcount and the size of the giant component in large dynamic graphs.

### **7. References**

212 New Frontiers in Graph Theory

where LambertW is the classic "Lambert W " function. Since only the non-zero solution is

*z*

.

and ˆ

Thus, from the proposition 11 and because the MLE of a function of an unknown parameter is equal to the function of the MLE of this parameter, when *V* is large the part of the graph

<sup>1</sup> <sup>ˆ</sup> 1 LambertW exp *D D*

Elementary dissimilarities exist between random graph models and real-world graphs. Realworld graphs show strong clustering, but Erdös and Rényi's model does not. Many of the graphs, including Internet and World-Wide Web graphs, show a power-law degree distribution (Albert et al., 1999). This means that only a small part of the graph vertices can have a large degree. In fact, Erdös-Rényi assumptions can imply strong consequences on the

In this chapter we have illustrated several basic tools for representing and analyzing dynamic random graph in a general context and a practical approach to estimate the parameters of classical models of such behaviors. The generalized model that we have proposed can describe not only classical real-world networks models but also situations with more complex constraints. In this model, random graph dynamics is outlined by introducing a random time process where the dynamic graph topology changes are recorded. Among the advantages of this model is the possibility to generate successive independent random graphs with potentially different sets of vertices but all belonging to the same basic set of vertices. Otherwise, the fact that the generalized model allows to consider probabilities which are not necessarily all equal gives the possibility to favor the establishment of certain connections over others. This kind of behavior is often observed in

*D*

of the

adequate, the giant component size increases as a function of the average degree

graph vertices *G* following the curve <sup>1</sup> : 1 LambertW exp *<sup>z</sup> z z*

Fig. 6. Comparison of theoretic and empiric solutions

occupied by the giant component can be estimated by

behavior of the graph (Newman, 2003).

**6. Conclusions** 


**1. Introduction**

\*

†Corresponding Author

such that *b* ∈ *C*<sup>3</sup> ⊆ (*C*<sup>1</sup> ∪ *C*2) − {*a*}.

exists *e*� ∈ *B*� \ *B* such that (*B* \ {*e*}) ∪ {*e*�

Let *E* be a finite set of elements. For *S*1, *S*<sup>2</sup> ⊆ *E*, set *S*<sup>1</sup> − *S*<sup>2</sup> = {*x*|*x* ∈ *S*<sup>1</sup> *and x* ∈/ *S*2}. Let C be

**The Properties of Graphs of Matroids\***

*1Department of Mathematics, West Virginia University, Morgantown, WV 2School of Mathematics and System Science, Shandong University, Jinan* 

(**C2**) If *a* ∈ *C*<sup>1</sup> ∩ *C*<sup>2</sup> and *b* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> where *C*1, *C*<sup>2</sup> ∈ C and *a*, *b* ∈ *E*, then there exists a *C*<sup>3</sup> ∈ C

Then *M* = (*E*, C) is called a matroid on *E*. We refer to the members of C as circuits of matroid *M*. The set of bases of a matroid *M* is a nonempty collection B of subsets of *E* such that the

of B is called a base of *M*. The rank *r* of a matroid is the number of elements in a base and the co-rank *r*<sup>∗</sup> is the number of its basic circuits. If *e* ∈ *E* \ *B*, then *B* ∪ {*e*} contains a unique basic circuit and denoted by *C*(*e*, *B*). For a given base *B* of *M*, the set of basic circuits with respect to *B* is denoted by C*B*. We use B*<sup>e</sup>* and B*<sup>e</sup>* to denote the set of bases containing *e* and avoiding *e*, respectively. Let *M* = (*E*, C) be a matroid. If *X* ⊆ *E*, then the matroid on *E* − *X* whose circuits are those of *M* which are contained in *E* − *X* is called the restriction of *M* to *E* − *X* (or the matroid obtained by deleting *X* from *M*) and is denoted by *M*\*X* or *M*|(*E* − *X*). There is another derived matroid of importance. If *X* ⊆ *E*, then the family of minimal non-empty intersections of *E* − *X* with circuits of *M* is the family of circuits of a matroid on *E* − *X* called the contraction of *M* to *E* − *X*. If *X* = {*e*}, we use *M*\*e* and *M*/*e* to denote the matroid obtained from *M* by deleting and contracting *e*, respectively. A matroid obtained from *M* by limited times of contractions and limited times of deletions is called a minor of *M*. A subset *S* of *E* is called a separator of *M* if every circuit of *M* is either contained in *S* or *E* − *S*. Union and intersection of two separators of *M* is also a separator of *M*. If ∅ and *E* are the only separators of *M*, then *M* is said to be connected. The minimal non-empty separators of *M* are called the


Ping Li1 and Guizhen Liu2,†

}∈B, We also write as *M* = (*E*, B). Each member

, there

**10**

*1USA 2China* 

a collection of non-null subsets of *E* which satisfies the following two axioms.

(**C1**) A proper subset of a member of C is not a member of C.

following condition is satisfied. For any *B*, *B*� ∈ B, |*B*| = |*B*�

This research was supported by NNSF(61070230) of China.


## **The Properties of Graphs of Matroids\***

Ping Li1 and Guizhen Liu2,†

*1Department of Mathematics, West Virginia University, Morgantown, WV 2School of Mathematics and System Science, Shandong University, Jinan 1USA 2China* 

### **1. Introduction**

214 New Frontiers in Graph Theory

Janson S., Lucak T., and Rucinski A. (2000). Random Graphs, John Wiley and Sons, New

Jurdak R. (2007). Wireless Ad Hoc and Sensor Networks: A Cross-Layer Design Perspective,

Kawahigashi H., Terashima Y., Miyauchi N. and Nakakawaji T. (2005). Modeling ad hoc

Molloy M. and Reed B. (1998). The size of the giant component of a random graph with a

Newman M. E. J., Strogatz S. H., Watts D. J. (2001). Random graphs with arbitrary degree

Newman M. E. J. (2003). Random graphs as models of networks, in Handbook of Graphs and Networks*,* Bornholdt S. and Schuster H. G. (eds.), Wiley-VCH, Berlin. Onat F. A., Stojmenovic I. and Yanikomeroglu H. (2008). Generating random graphs for the

Penrose M. D. (1999). On *k*-connectivity for a geometric random graph, Random Structures

Trullols O., Fiore M., Casetti C., Chiasserini C. F., and Barcelo Ordinas J. M. (2010). Planning

Communications and Networking Conference (CCNC'05), pp.104 – 109. Lehmann E. L. and Casella G. (1998). Theory of Point Estimation. Second Edition, Springer. Mieghem P.V., Hooghiemstra G., van der Hofstadh R. (2000). A Scaling Law for the

http://wwwtvs.et.tudelft.nl/people/piet/telconference.html

http://arxiv.org/PS\_cache/cond-mat/pdf/0007/0007235v2.pdf

Steele M. (1997). Probability theory and combinatorial optimization. Vol. 69, SIAM.

Transportation Systems. Comput. Commun., 33(4):432-442.

and Mobile Computing, Vol. 4, Issue 5, pp. 597-615.

and Algorithms, vol. 15, pp. 145–164.

sensor networks using random graph theory, Proceedings of Consumer

Hopcount, Report 2000125. Delft University of Technology, Delft, The Netherlands.

given degree sequence, Combinatorics, Probability and Computing, vol. 7, pp. 295–

distributions and their applications. Physical Review E 64, 026118.

simulation of wireless ad hoc, actuator, sensor, and internet networks, Pervasive

Roadside Infrastructure for Information Dissemination in Intelligent

York.

305.

Springer.

Let *E* be a finite set of elements. For *S*1, *S*<sup>2</sup> ⊆ *E*, set *S*<sup>1</sup> − *S*<sup>2</sup> = {*x*|*x* ∈ *S*<sup>1</sup> *and x* ∈/ *S*2}. Let C be a collection of non-null subsets of *E* which satisfies the following two axioms.

(**C1**) A proper subset of a member of C is not a member of C.

(**C2**) If *a* ∈ *C*<sup>1</sup> ∩ *C*<sup>2</sup> and *b* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> where *C*1, *C*<sup>2</sup> ∈ C and *a*, *b* ∈ *E*, then there exists a *C*<sup>3</sup> ∈ C such that *b* ∈ *C*<sup>3</sup> ⊆ (*C*<sup>1</sup> ∪ *C*2) − {*a*}.

Then *M* = (*E*, C) is called a matroid on *E*. We refer to the members of C as circuits of matroid *M*. The set of bases of a matroid *M* is a nonempty collection B of subsets of *E* such that the following condition is satisfied. For any *B*, *B*� ∈ B, |*B*| = |*B*� | and for any *e* ∈ *B* \ *B*� , there exists *e*� ∈ *B*� \ *B* such that (*B* \ {*e*}) ∪ {*e*� }∈B, We also write as *M* = (*E*, B). Each member of B is called a base of *M*. The rank *r* of a matroid is the number of elements in a base and the co-rank *r*<sup>∗</sup> is the number of its basic circuits. If *e* ∈ *E* \ *B*, then *B* ∪ {*e*} contains a unique basic circuit and denoted by *C*(*e*, *B*). For a given base *B* of *M*, the set of basic circuits with respect to *B* is denoted by C*B*. We use B*<sup>e</sup>* and B*<sup>e</sup>* to denote the set of bases containing *e* and avoiding *e*, respectively. Let *M* = (*E*, C) be a matroid. If *X* ⊆ *E*, then the matroid on *E* − *X* whose circuits are those of *M* which are contained in *E* − *X* is called the restriction of *M* to *E* − *X* (or the matroid obtained by deleting *X* from *M*) and is denoted by *M*\*X* or *M*|(*E* − *X*). There is another derived matroid of importance. If *X* ⊆ *E*, then the family of minimal non-empty intersections of *E* − *X* with circuits of *M* is the family of circuits of a matroid on *E* − *X* called the contraction of *M* to *E* − *X*. If *X* = {*e*}, we use *M*\*e* and *M*/*e* to denote the matroid obtained from *M* by deleting and contracting *e*, respectively. A matroid obtained from *M* by limited times of contractions and limited times of deletions is called a minor of *M*. A subset *S* of *E* is called a separator of *M* if every circuit of *M* is either contained in *S* or *E* − *S*. Union and intersection of two separators of *M* is also a separator of *M*. If ∅ and *E* are the only separators of *M*, then *M* is said to be connected. The minimal non-empty separators of *M* are called the

<sup>\*</sup> This research was supported by NNSF(61070230) of China. †Corresponding Author

Lemma 2.3. [17] Let *C* and *C* be any circuit and co-circuit of a matroid *M*. Then

Lemma 2.5. [17] A critical matroid of rank 2 contains a co-circuit of cardinality two.

Lemma 2.4. [1] If *a* ∈ *C*<sup>1</sup> ∩ *C*<sup>2</sup> and *b* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> where *C*1, *C*<sup>2</sup> ∈ C, then there exists a *C*<sup>3</sup> ∈ C

The Properties of Graphs of Matroids 217

Let *M* = (*E*, C) be a connected matroid. An element *e* of *E* is called an essential element if *M*\*e* is disconnected. Otherwise it is called an inessential element. A connected matroid each of whose elements is essential is called a critically connected matroid or simply a critical matroid.

A matroid *M* is trivial if it has no circuits. In the following matroids will be nontrivial. Next we will discuss the properties of the matroid circuit graph. To prove the main results we firstly

Lemma 2.6. [17] Let *M* be any nontrivial matroid on *E* and *e* ∈ *E*. If *GC* and *GCe* are circuit graphs of *M* and *M*\*e*, respectively, then *GCe* is a subgraph of *G* induced by *V*<sup>1</sup> where *V*<sup>1</sup> =

Obviously the subgraph *GC*<sup>2</sup> of *G* induced by *V*<sup>2</sup> = *V* − *V*<sup>1</sup> is a complete graph. By Lemma 2.6 *GC*<sup>1</sup> and *GC*<sup>2</sup> are induced subgraphs of *G* and *V*(*GC*1) and *V*(*GC*2) partition *V*(*G*).

Lemma 2.7. [17] For any matroid *M* = (*E*, C) which has a 2-cocircuit {*a*, *b*}, the circuit graph

*Proof*. Since |*C* ∩ {*a*, *b*}| �= 1 for any circuit *C*, by Lemma 2.3, the circuits of *M* can be partitioned into two classes, those circuits containing both *a* and *b* and those circuits containing neither *a* nor *b*. Likewise, the circuits of *M*/*a* can be partitioned into two classes: those containing *b* and those not containing *b*, clearly there is a bijection between C (*M*) and

Lemma 2.8. [17] Suppose that *M* = (*E*, C) is a connected matroid with an element *e* such that the matroid *M*\*e* is connected and *G* = *GC*(*M*) is the circuit graph of matroid *M*. Let *G*<sup>1</sup> = *G*(*M*\*e*) be the circuit graph of *M*\*e* and *G*<sup>2</sup> be the subgraph of *G* induced by *V*<sup>2</sup> where *V*<sup>2</sup> = {*C* | *C* ∈ C,*e* ∈ *C*}. If the matroid *M*\*e* has more than one circuit, then for any edge *C*1*C*<sup>2</sup> ∈ *E*(*G*), there exists a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in graph *G* such that one edge of the 4-cycle

**Proof.** By Lemma 2.6, *V*(*G*1) and *V*(*G*2) partition *V*(*G*). There are three cases to distinguish. **Case 1.** *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2). Thus *C*1*C*<sup>2</sup> is an edge of *M*\*e*. By Lemma 2.1, there are at least three vertices in *G*(*M*\*e*). There is an element *e*<sup>1</sup> such that *e*<sup>1</sup> ∈ *C*<sup>1</sup> ∩ *C*2. Let *G*<sup>1</sup> and *G*<sup>2</sup> be the graphs defined as above. Note that *G*<sup>2</sup> is a complete graph. By Lemma 2.1, there is a vertex *C*<sup>3</sup> in *G*<sup>2</sup> containing both *e*<sup>1</sup> and *e*. Thus in *G*, *C*<sup>3</sup> is adjacent to both *C*<sup>1</sup> and *C*2. Since *C*<sup>1</sup> �⊂ *C*3, there exists *e*<sup>2</sup> such that *e*<sup>2</sup> ∈ *C*1, but *e*<sup>2</sup> ∈/ *C*3. By Lemma 2.1, there is a circuit *C*<sup>4</sup> in *G*<sup>2</sup> containing *e*<sup>2</sup>

**Case 2.** *e* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e* ∈ *C*<sup>2</sup> − *C*1. Suppose that *e* ∈ *C*<sup>2</sup> − *C*1, *e*<sup>1</sup> ∈ *C*<sup>1</sup> ∩ *C*2. By Lemma 2.4, there is a circuit *C*<sup>3</sup> ⊆ (*C*<sup>1</sup> ∪ *C*2) − {*e*1} containing *e*. We assume that *e*<sup>2</sup> ∈ *C*<sup>1</sup> ∩ *C*3, *e*<sup>3</sup> ∈ *E* − (*C*<sup>1</sup> ∪ {*e*}). Note that *e*<sup>3</sup> exists because, by hypothesis, *M*\*e* has more than one

belongs to *E*(*G*1) and one belongs to *E*(*G*2) and *C*1, *C*<sup>2</sup> are both adjacent to *C*3.

<sup>|</sup>*<sup>C</sup>* <sup>∩</sup> *<sup>C</sup>*| �<sup>=</sup> 1.

{*C* | *C* ∈ C,*e* ∈/ *C*}.

such that *b* ∈ *C*<sup>3</sup> ⊆ (*C*<sup>1</sup> ∪ *C*2) − {*a*}.

of *M* is isomorphic to that of *M*/*a*.

present the following result which is clearly true.

C (*M*/*a*). Hence *G*(*M*) ∼= *G*(*M*/*a*), the lemma is proved.

and *e* and *C*<sup>3</sup> �= *C*4. Thus *C*<sup>4</sup> is adjacent to *C*1.

components of *M*. The base graph of matroid *M* is a graph *GB*(*M*) with vertex set *V*(*GB*) and edge set *E*(*GB*) such that *V*(*GB*) = B and *E*(*GB*) = {*BB*� | *B*, *B*� ∈ B, | |*B* − *B*� | = 1}.

Let *G* be a graph. The vertex set and edge set of a graph *G* are denoted by *V*(*G*) and *E*(*G*), respectively. If *A* ⊆ *V*(*G*), then *G*[*A*] denotes the induced subgraph of *G* by *A*. A *k*-path is a path of *k*-edges and denoted by *Pk*. A *k*-circuit is a circuit of *k*-edges and denoted by *Ck*. *Kn* denotes the complete graph of order *n*. A graph is *Hamiltonian connected* if for any two vertices there is a Hamilton path connects them. A graph is *Hamiltonian* if it contains a Hamilton circuit. A graph *<sup>G</sup>* is positively Hamiltonian, written *<sup>G</sup>* <sup>∈</sup> *<sup>H</sup>*+, if for every edge of *G*, there is a Hamilton circuit containing it. *G* is negatively Hamiltonian, written *G* ∈ *H*−, if for every edge of *<sup>G</sup>*, there is a Hamilton circuit avoiding it. When *<sup>G</sup>* <sup>∈</sup> *<sup>H</sup>*<sup>+</sup> and *<sup>G</sup>* <sup>∈</sup> *<sup>H</sup>*−, we say that *G* is *uniformly Hamiltonian*. If for every edge *e* of *G*, there is a *k*-circuit containing it for any *k*, 3 ≤ *k* ≤ |*V*(*G*)|, then *G* is called edge-pancyclic. A graph *G* is called *E*2-Hamiltonian if every two edges of *G* are contained in a Hamilton cycle of *G*. Let *G* be a simple graph of order at least 3 vertices. Then graph *G* is called *p*3-Hamilton, if for any path *P* with 3 vertices, there exists a Hamilton cycle of *G* which contains *P*. If for any two vertices *v*<sup>1</sup> and *v*<sup>2</sup> and any edge *v*2*v*<sup>3</sup> where *v*<sup>1</sup> �= *v*3, graph *G* has a Hamilton path from *v*<sup>1</sup> to *v*<sup>2</sup> and such that edge *v*2*v*<sup>3</sup> in this path, then we say that graph *G* is 1-Hamilton connected. Terminology and notations not defined here can be found in [1] and [2].

Maurer defined the base graph of a matroid , and discussed the graphical properties of the base graph of a matroid [3-4]. Cummins showed that every matroid base graph with at least three vertices has a Hamilton circuit [5]. Holzmann and Harary showed that for every edge in a base graph there is a Hamilton circuit containing it and another Hamilton circuit avoiding it [6]. Alspach and Liu studied the properties of paths and circuits in base graphs of matroids [7]. The connectivity of the base graph of matroids is investigated by Liu [8]. The other graphical properties of the base graphs of matroid have also been investigated by Liu [9-16].

Now we give a new concept as follows. The circuit graph of a matroid *M* is a graph *GC* = *G*(*M*) with vertex set *V*(*GC*) and edge set *E*(*GC*) such that *V*(*GC*) = C and *E*(*GC*) = {*CC*� | *C*, *C*� ∈ C, | *C* ∩ *C*� |�= 0} , where the same notation is used for the vertices of *G* and the circuits of *M*. We give another new graph related to the bases of matroids as follows. The intersection graph of bases of matroid *M* = (*E*, B) is a graph *GI*(*M*) with vertex set *V*(*GI*) and edge set *E*(*GI*) such that *V*(*GI*) = B and *E*(*GI*) = {*BB*� : |*B* ∩ *B*� | �= 0, *B*, *B*� ∈ B(*M*)}, where the same notation is used for the vertex of *GI* and the base of *M*. The properties of paths , cycles and the connectivity of circuit graphs of matroids are discussed in this chapter. In particular, some new results obtained by us are given.

#### **2. Preliminary results**

To prove the main theorem we need the following preliminary results.

Lemma 2.1. [17] A matroid *M* is connected if and only if for every pair *e*1, *e*<sup>2</sup> of distinct elements of *E*, there is a circuit containing both *e*<sup>1</sup> and *e*2.

Lemma 2.2. [17] If *M* is a connected matroid, then for every *e* ∈ *E*, either *M*/*e* or *M*\*e* is also connected.

components of *M*. The base graph of matroid *M* is a graph *GB*(*M*) with vertex set *V*(*GB*) and

216 New Frontiers in Graph Theory

Let *G* be a graph. The vertex set and edge set of a graph *G* are denoted by *V*(*G*) and *E*(*G*), respectively. If *A* ⊆ *V*(*G*), then *G*[*A*] denotes the induced subgraph of *G* by *A*. A *k*-path is a path of *k*-edges and denoted by *Pk*. A *k*-circuit is a circuit of *k*-edges and denoted by *Ck*. *Kn* denotes the complete graph of order *n*. A graph is *Hamiltonian connected* if for any two vertices there is a Hamilton path connects them. A graph is *Hamiltonian* if it contains a Hamilton circuit. A graph *<sup>G</sup>* is positively Hamiltonian, written *<sup>G</sup>* <sup>∈</sup> *<sup>H</sup>*+, if for every edge of *G*, there is a Hamilton circuit containing it. *G* is negatively Hamiltonian, written *G* ∈ *H*−, if for every edge of *<sup>G</sup>*, there is a Hamilton circuit avoiding it. When *<sup>G</sup>* <sup>∈</sup> *<sup>H</sup>*<sup>+</sup> and *<sup>G</sup>* <sup>∈</sup> *<sup>H</sup>*−, we say that *G* is *uniformly Hamiltonian*. If for every edge *e* of *G*, there is a *k*-circuit containing it for any *k*, 3 ≤ *k* ≤ |*V*(*G*)|, then *G* is called edge-pancyclic. A graph *G* is called *E*2-Hamiltonian if every two edges of *G* are contained in a Hamilton cycle of *G*. Let *G* be a simple graph of order at least 3 vertices. Then graph *G* is called *p*3-Hamilton, if for any path *P* with 3 vertices, there exists a Hamilton cycle of *G* which contains *P*. If for any two vertices *v*<sup>1</sup> and *v*<sup>2</sup> and any edge *v*2*v*<sup>3</sup> where *v*<sup>1</sup> �= *v*3, graph *G* has a Hamilton path from *v*<sup>1</sup> to *v*<sup>2</sup> and such that edge *v*2*v*<sup>3</sup> in this path, then we say that graph *G* is 1-Hamilton connected. Terminology and notations not

Maurer defined the base graph of a matroid , and discussed the graphical properties of the base graph of a matroid [3-4]. Cummins showed that every matroid base graph with at least three vertices has a Hamilton circuit [5]. Holzmann and Harary showed that for every edge in a base graph there is a Hamilton circuit containing it and another Hamilton circuit avoiding it [6]. Alspach and Liu studied the properties of paths and circuits in base graphs of matroids [7]. The connectivity of the base graph of matroids is investigated by Liu [8]. The other graphical

Now we give a new concept as follows. The circuit graph of a matroid *M* is a graph *GC* = *G*(*M*) with vertex set *V*(*GC*) and edge set *E*(*GC*) such that *V*(*GC*) = C and *E*(*GC*) = {*CC*� | *C*, *C*� ∈ C, | *C* ∩ *C*� |�= 0} , where the same notation is used for the vertices of *G* and the circuits of *M*. We give another new graph related to the bases of matroids as follows. The intersection graph of bases of matroid *M* = (*E*, B) is a graph *GI*(*M*) with vertex set *V*(*GI*) and edge set

notation is used for the vertex of *GI* and the base of *M*. The properties of paths , cycles and the connectivity of circuit graphs of matroids are discussed in this chapter. In particular, some

Lemma 2.1. [17] A matroid *M* is connected if and only if for every pair *e*1, *e*<sup>2</sup> of distinct

Lemma 2.2. [17] If *M* is a connected matroid, then for every *e* ∈ *E*, either *M*/*e* or *M*\*e* is also

properties of the base graphs of matroid have also been investigated by Liu [9-16].



edge set *E*(*GB*) such that *V*(*GB*) = B and *E*(*GB*) = {*BB*� | *B*, *B*� ∈ B, | |*B* − *B*�

defined here can be found in [1] and [2].

*E*(*GI*) such that *V*(*GI*) = B and *E*(*GI*) = {*BB*� : |*B* ∩ *B*�

elements of *E*, there is a circuit containing both *e*<sup>1</sup> and *e*2.

To prove the main theorem we need the following preliminary results.

new results obtained by us are given.

**2. Preliminary results**

connected.

Lemma 2.3. [17] Let *C* and *C* be any circuit and co-circuit of a matroid *M*. Then <sup>|</sup>*<sup>C</sup>* <sup>∩</sup> *<sup>C</sup>*| �<sup>=</sup> 1.

Lemma 2.4. [1] If *a* ∈ *C*<sup>1</sup> ∩ *C*<sup>2</sup> and *b* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> where *C*1, *C*<sup>2</sup> ∈ C, then there exists a *C*<sup>3</sup> ∈ C such that *b* ∈ *C*<sup>3</sup> ⊆ (*C*<sup>1</sup> ∪ *C*2) − {*a*}.

Let *M* = (*E*, C) be a connected matroid. An element *e* of *E* is called an essential element if *M*\*e* is disconnected. Otherwise it is called an inessential element. A connected matroid each of whose elements is essential is called a critically connected matroid or simply a critical matroid.

Lemma 2.5. [17] A critical matroid of rank 2 contains a co-circuit of cardinality two.

A matroid *M* is trivial if it has no circuits. In the following matroids will be nontrivial. Next we will discuss the properties of the matroid circuit graph. To prove the main results we firstly present the following result which is clearly true.

Lemma 2.6. [17] Let *M* be any nontrivial matroid on *E* and *e* ∈ *E*. If *GC* and *GCe* are circuit graphs of *M* and *M*\*e*, respectively, then *GCe* is a subgraph of *G* induced by *V*<sup>1</sup> where *V*<sup>1</sup> = {*C* | *C* ∈ C,*e* ∈/ *C*}.

Obviously the subgraph *GC*<sup>2</sup> of *G* induced by *V*<sup>2</sup> = *V* − *V*<sup>1</sup> is a complete graph. By Lemma 2.6 *GC*<sup>1</sup> and *GC*<sup>2</sup> are induced subgraphs of *G* and *V*(*GC*1) and *V*(*GC*2) partition *V*(*G*).

Lemma 2.7. [17] For any matroid *M* = (*E*, C) which has a 2-cocircuit {*a*, *b*}, the circuit graph of *M* is isomorphic to that of *M*/*a*.

*Proof*. Since |*C* ∩ {*a*, *b*}| �= 1 for any circuit *C*, by Lemma 2.3, the circuits of *M* can be partitioned into two classes, those circuits containing both *a* and *b* and those circuits containing neither *a* nor *b*. Likewise, the circuits of *M*/*a* can be partitioned into two classes: those containing *b* and those not containing *b*, clearly there is a bijection between C (*M*) and C (*M*/*a*). Hence *G*(*M*) ∼= *G*(*M*/*a*), the lemma is proved.

Lemma 2.8. [17] Suppose that *M* = (*E*, C) is a connected matroid with an element *e* such that the matroid *M*\*e* is connected and *G* = *GC*(*M*) is the circuit graph of matroid *M*. Let *G*<sup>1</sup> = *G*(*M*\*e*) be the circuit graph of *M*\*e* and *G*<sup>2</sup> be the subgraph of *G* induced by *V*<sup>2</sup> where *V*<sup>2</sup> = {*C* | *C* ∈ C,*e* ∈ *C*}. If the matroid *M*\*e* has more than one circuit, then for any edge *C*1*C*<sup>2</sup> ∈ *E*(*G*), there exists a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in graph *G* such that one edge of the 4-cycle belongs to *E*(*G*1) and one belongs to *E*(*G*2) and *C*1, *C*<sup>2</sup> are both adjacent to *C*3.

**Proof.** By Lemma 2.6, *V*(*G*1) and *V*(*G*2) partition *V*(*G*). There are three cases to distinguish.

**Case 1.** *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2). Thus *C*1*C*<sup>2</sup> is an edge of *M*\*e*. By Lemma 2.1, there are at least three vertices in *G*(*M*\*e*). There is an element *e*<sup>1</sup> such that *e*<sup>1</sup> ∈ *C*<sup>1</sup> ∩ *C*2. Let *G*<sup>1</sup> and *G*<sup>2</sup> be the graphs defined as above. Note that *G*<sup>2</sup> is a complete graph. By Lemma 2.1, there is a vertex *C*<sup>3</sup> in *G*<sup>2</sup> containing both *e*<sup>1</sup> and *e*. Thus in *G*, *C*<sup>3</sup> is adjacent to both *C*<sup>1</sup> and *C*2. Since *C*<sup>1</sup> �⊂ *C*3, there exists *e*<sup>2</sup> such that *e*<sup>2</sup> ∈ *C*1, but *e*<sup>2</sup> ∈/ *C*3. By Lemma 2.1, there is a circuit *C*<sup>4</sup> in *G*<sup>2</sup> containing *e*<sup>2</sup> and *e* and *C*<sup>3</sup> �= *C*4. Thus *C*<sup>4</sup> is adjacent to *C*1.

**Case 2.** *e* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e* ∈ *C*<sup>2</sup> − *C*1. Suppose that *e* ∈ *C*<sup>2</sup> − *C*1, *e*<sup>1</sup> ∈ *C*<sup>1</sup> ∩ *C*2. By Lemma 2.4, there is a circuit *C*<sup>3</sup> ⊆ (*C*<sup>1</sup> ∪ *C*2) − {*e*1} containing *e*. We assume that *e*<sup>2</sup> ∈ *C*<sup>1</sup> ∩ *C*3, *e*<sup>3</sup> ∈ *E* − (*C*<sup>1</sup> ∪ {*e*}). Note that *e*<sup>3</sup> exists because, by hypothesis, *M*\*e* has more than one

such that *C*<sup>3</sup> � *C*<sup>1</sup> and *C*<sup>3</sup> � *C*2. By Lemma 2.8, there is a 4-cycle *C*1*C*3*C*4*C*<sup>5</sup> in *G* such that *C*4*C*<sup>5</sup> ∈ *E*(*G*1) and *C*1*C*3*C*<sup>4</sup> is a 3-cycle of *G*. By induction, for any *k*, 1 ≤ *k* ≤ *n*<sup>1</sup> − 1, there is a *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*5. Note that *G*<sup>2</sup> is a complete graph. Let *P*<sup>1</sup> be the *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*<sup>5</sup> and *P*<sup>2</sup> be the Hamilton path in *G*<sup>2</sup> connecting *C*<sup>1</sup> and *C*<sup>2</sup> which traverses the edge *C*1*C*3. Let *P*<sup>2</sup> = *C*1*C*<sup>3</sup> + *P*3. *C*1*C*<sup>4</sup> + *C*4*C*<sup>3</sup> + *P*<sup>3</sup> is a *n*2-path that connects *C*<sup>1</sup>

The Properties of Graphs of Matroids 219

*Case 2*. The matroid *M* is critically connected. By Lemma 2.2, for any element *e* in *M*, *M*/*e* is connected. By Lemma 2.5, *M* has a 2-cocircuit {*a*, *b*}. By Lemma 2.7, the circuit graph of *M*/*a*

Lemma 2.10. [2] A graph *G* is *k*-edge-connected if and only if any two distinct vertices of *G*

We have known that a matroid *M* is connected if and only if for every pair *e*1, *e*<sup>2</sup> of distinct elements of *E*, there is a circuit containing both *e*<sup>1</sup> and *e*2. The following results are the new

**Theorem 3.1.** [17] For any connected matroid *M* = (*E*, C) which has at least three circuits, the circuit graph *G* = *G*(*M*) is positively Hamiltonian, that is, for every edge of *G*, there is a

We shall prove the theorem by induction on |*E*|. When |*E*| = 3, each element in *M* is parallel to another. It is easy to see that *G* = *K*3. The theorem is clearly true. Suppose that the result is true for |*E*| = *n* − 1. We prove that the result is also true for |*E*| = *n* > 3. Let *C*1*C*<sup>2</sup> be any

**Case 1.** There is an element *e* in *M* such that *M*\*e* is connected. Let *G*<sup>1</sup> and *G*<sup>2</sup> be the graphs

**Subcase 1.1.** *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2). Thus *C*1*C*<sup>2</sup> is an edge of *M*\*e*. By Lemma 2.4, there are at least three vertices in *G*(*M*\*e*). By induction, *G*(*M*\*e*) is edge-pancyclic. For any *m*, 3 ≤ *m* ≤ *n*1,

<sup>1</sup>. Note that *G*<sup>2</sup> is a complete graph. Let *P*<sup>1</sup> be the Hamilton path connecting *C*�

<sup>2</sup> in *G*(*M*\*e*) which traverses *C*1*C*<sup>2</sup> and *P*<sup>2</sup> be the *k*-path connecting *C*<sup>3</sup> and *C*<sup>4</sup> in *G*<sup>2</sup>

<sup>1</sup> is a *n*<sup>1</sup> + *k* + 1-cycle of *G*(*M*) that contains *C*1*C*2. **Subcase 1.2.** *e* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e* ∈ *C*<sup>2</sup> − *C*1. Suppose that *e* ∈ *C*<sup>2</sup> − *C*1. Thus *C*<sup>1</sup> ∈ *V*(*G*1), *C*<sup>2</sup> ∈ *V*(*G*2). By Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*2) and *C*<sup>4</sup> ∈ *V*(*G*1) and *C*1*C*2*C*<sup>3</sup> is a 3-cycle of *G*. By induction, for any *k*1, 1 ≤ *k*<sup>1</sup> ≤ *n*<sup>1</sup> − 1, there is a *k*1-path

<sup>2</sup> � *C*1*C*2, there is a 4-cycle *C*�

<sup>2</sup>*C*<sup>3</sup> is a 3-cycle in *G*. If there are only three vertices in *G*(*M*\*e*),

1*C*�

<sup>2</sup>*C*<sup>3</sup> + *C*3*C*�

1*C*�

<sup>1</sup> is a *n*<sup>1</sup> + 1-cycle of *G*(*M*) that contains *C*1*C*2.

1*C*�

<sup>2</sup> in the Hamilton

<sup>2</sup>*C*3*C*<sup>4</sup> in *G* such

1

defined as above. We assume that |*V*(*G*1)| = *n*<sup>1</sup> and |*V*(*G*2)| = *n*2.

there is a cycle of length *m* containing *C*1*C*2. By Lemma 2.8, for any edge *C*�

and *C*2. *C*1*C*<sup>5</sup> + *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>3</sup> is the *n*<sup>2</sup> + *k*-path we wanted.

Thus the theorem follows by induction.

results obtained by Li and Liu.

Hamilton circuit containing it.

There are two cases to distinguish.

There are three subcases to distinguish.

cycle of *G*(*M*\*e*) containing *C*1*C*<sup>2</sup> where *C*�

(1 ≤ *k* ≤ *n*<sup>2</sup> − 1 ), respectively. *P*<sup>1</sup> + *C*�

1*C*�

that *C*3*C*<sup>4</sup> ∈ *E*(*G*2) and *C*�

<sup>2</sup>*C*<sup>3</sup> + *P*<sup>2</sup> + *C*4*C*�

edge in *G*.

let *C*<sup>1</sup> = *C*�

and *C*�

*P*<sup>1</sup> + *C*�

are connected by at least *k* edge- disjoint paths.

**3. The properties of circuit graphs of matroids**

is isomorphic to that of *M*. By induction hypothesis, the result holds.

circuit. By Lemma 2.1, in *G*<sup>1</sup> = *G*(*M*\*e*) there is a circuit *C*<sup>4</sup> containing *e*<sup>2</sup> and *e*3. *C*1*C*2*C*3*C*<sup>4</sup> is the 4-cycle we wanted. *C*<sup>1</sup> and *C*<sup>2</sup> are both adjacent to *C*3.

**Case 3.** *e* ∈ *C*<sup>1</sup> ∩ *C*2. *C*<sup>1</sup> and *C*<sup>2</sup> are both in *G*2. If there are only two circuits containing *e*, it is easy to see that *C*<sup>1</sup> ∪ *C*<sup>2</sup> = *E*(*M*) by Lemma 2.6. We prove that *C*<sup>1</sup> ∩ *C*<sup>2</sup> = {*e*}. If *C*<sup>1</sup> ∩ *C*<sup>2</sup> = {*e*,*e*� }, then {*e*,*e*� } is a co-circuit of *M* because by Lemma 2.4, if there is a circuit containing *e*� does not contain *e*, then there is a circuit containing *e* does not contain *e*� ; which is a contradiction to the hypothesis. Thus *C*<sup>1</sup> ∩ *C*<sup>2</sup> = {*e*}. Then there is only one circuit *C*� <sup>3</sup> = (*C*<sup>1</sup> ∪ *C*2) − {*e*} in *M*\*e*. For if there is a circuit *C*� <sup>4</sup> �= *C*� <sup>3</sup> in *M*\*e*, then there exists *e*<sup>1</sup> ∈ *E*(*M*) − ({*e*} ∪ *C*� <sup>4</sup>) and *e*<sup>1</sup> ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e*<sup>1</sup> ∈ *C*<sup>2</sup> − *C*1. We assume that *e*<sup>1</sup> ∈ *C*<sup>1</sup> − *C*2. By Lemma 2.4, there is a circuit *C*<sup>5</sup> such that *e* ∈ *C*<sup>5</sup> ⊆ (*C*<sup>2</sup> ∪ *C*� <sup>4</sup>) − {*e*2} where *e*<sup>2</sup> ∈ *C*<sup>2</sup> ∩ *C*� 4. *e*<sup>1</sup> ∈/ *C*5, *C*<sup>5</sup> �= *C*1, thus there are at least three circuits containing *e*, a contradiction. So there are more than two circuits containing *e*, we assume that *e*<sup>3</sup> ∈ *C*<sup>1</sup> − *C*2. By Lemma 2.4, there is *C*<sup>3</sup> in *G*<sup>1</sup> such that *e*<sup>3</sup> ∈ *C*<sup>3</sup> ⊆ (*C*<sup>1</sup> ∪ *C*2) − {*e*}. By Lemma 2.1, there is a vertex *C*<sup>4</sup> in *G*<sup>1</sup> containing *e*<sup>3</sup> and *e*<sup>4</sup> where *e*<sup>4</sup> ∈ *E* − (*C*<sup>3</sup> ∪ {*e*}). We get the 4-cycle *C*1*C*2*C*3*C*4. The proof is completed.

Lemma 2.9. [17] Suppose that *M* = (*E*, C) is a connected matroid with an element *e* such that the matroid *M*\*e* is connected and *G* = *G*(*M*) is the circuit graph of matroid *M*. Let *G*<sup>1</sup> = *G*(*M*\*e*) be the circuit graph of *M*\*e* and *G*<sup>2</sup> be the subgraph of *G* induced by *V*<sup>2</sup> where *V*<sup>2</sup> = {*C* | *C* ∈ C,*e* ∈ *C*}. If *C*<sup>1</sup> ∈ *V*(*G*1), *C*<sup>2</sup> ∈ *V*(*G*2) and *d*(*C*1, *C*2) = 2, there exists a 3-path *C*1*C*3*C*4*C*<sup>2</sup> in graph *G* such that *C*<sup>3</sup> ∈ *V*(*G*1), *C*<sup>4</sup> ∈ *V*(*G*2) and *C*1, *C*<sup>2</sup> are both adjacent to *C*<sup>3</sup> and *C*4.

*Proof*. By Lemma 2.6, *V*(*G*1) and *V*(*G*2) partition *V*(*G*). By assumption, |*C*<sup>1</sup> ∩ *C*2| = 0. We assume that *e*<sup>1</sup> ∈ *C*1, *e*<sup>2</sup> ∈ *C*2. By Lemma 2.1, there is *C*<sup>4</sup> in *G*<sup>2</sup> containing both *e*<sup>1</sup> and *e*. Thus in *G*, *C*<sup>4</sup> is adjacent to *C*<sup>1</sup> and *C*2. By Lemma 2.1, there is *C*<sup>3</sup> in *G*<sup>1</sup> containing both *e*<sup>1</sup> and *e*2. Thus in *G*, *C*<sup>3</sup> is adjacent to *C*1, *C*<sup>2</sup> and *C*<sup>4</sup>

Let *P*<sup>4</sup> be the Hamilton path connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*(*M*\*e*) which traverses *C*� 1*C*� <sup>2</sup> and *P*<sup>2</sup> be the *m*-path connecting *C*<sup>3</sup> and *C*<sup>4</sup> in *G*<sup>2</sup> (1 ≤ *m* ≤ *n*<sup>2</sup> − 1), respectively. *P*<sup>3</sup> + *C*� <sup>1</sup>*C*<sup>3</sup> + *C*3*C*� <sup>2</sup> + *P*<sup>4</sup> is a *n*1-path of *G*(*M*) that joins *C*<sup>1</sup> and *C*2. *P*<sup>3</sup> + *C*� <sup>1</sup>*C*<sup>4</sup> + *P*<sup>2</sup> + *C*3*C*� <sup>2</sup> + *P*<sup>4</sup> is a *n*<sup>1</sup> + *m*-path of *G*(*M*) that joins *C*<sup>1</sup> and *C*2.

*Subcase 1.2*. *e* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e* ∈ *C*<sup>2</sup> − *C*1. Suppose that *e* ∈ *C*<sup>2</sup> − *C*1. Thus *C*<sup>1</sup> ∈ *V*(*G*1), *C*<sup>2</sup> ∈ *V*(*G*2). If *d*(*C*1, *C*2) = 1, by Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*2) and *C*<sup>4</sup> ∈ *V*(*G*1) and *C*1*C*2*C*<sup>3</sup> is a 3-cycle of *G*. By induction, for any *k*1, 1 ≤ *k*<sup>1</sup> ≤ *n*<sup>1</sup> − 1, there is a *k*1-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*1. Note that *G*<sup>2</sup> is a complete graph. For any *k*2, 1 ≤ *k*<sup>2</sup> ≤ *n*<sup>2</sup> − 1, there is a *k*2-path in *G*<sup>2</sup> connecting *C*<sup>2</sup> and *C*3. Let *P*<sup>1</sup> be the *k*1-path in *G*<sup>1</sup> connecting *C*<sup>1</sup> and *C*<sup>4</sup> and *P*<sup>2</sup> be the *k*2-path in *G*<sup>2</sup> connecting *C*<sup>3</sup> and *C*2, respectively. *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>2</sup> is a *k*<sup>1</sup> + *k*<sup>2</sup> + 1-path of *G*(*M*) that connects *C*<sup>1</sup> and *C*2. If *d*(*C*1, *C*2) = 2 and *e* ∈ *C*<sup>2</sup> − *C*1, by Lemma 2.9, there is a 3-path *C*1*C*3*C*4*C*<sup>2</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*1) and *C*<sup>4</sup> ∈ *V*(*G*2) and *C*1*C*3*C*<sup>2</sup> is a 2-path of *G*. Then the proof is similar to the case when *d*(*C*1, *C*2) = 1.

*Subcase 1.3*. *e* ∈ *C*<sup>1</sup> ∩ *C*2. Thus *d*(*C*1, *C*2) = 1. If there are only two circuits containing *e*, then there is only one circuit in *M*\*e*. The result holds obviously because *G* = *K*3. Assume that there are more than two circuits containing *e*. Note that *G*<sup>2</sup> is a complete graph. For any *m*, 1 ≤ *m* ≤ *n*<sup>2</sup> − 1, there is a path of length *m* connecting *C*<sup>1</sup> and *C*2. Choose *C*<sup>3</sup> ∈ *V*(*G*2) circuit. By Lemma 2.1, in *G*<sup>1</sup> = *G*(*M*\*e*) there is a circuit *C*<sup>4</sup> containing *e*<sup>2</sup> and *e*3. *C*1*C*2*C*3*C*<sup>4</sup> is

218 New Frontiers in Graph Theory

**Case 3.** *e* ∈ *C*<sup>1</sup> ∩ *C*2. *C*<sup>1</sup> and *C*<sup>2</sup> are both in *G*2. If there are only two circuits containing *e*, it is easy to see that *C*<sup>1</sup> ∪ *C*<sup>2</sup> = *E*(*M*) by Lemma 2.6. We prove that *C*<sup>1</sup> ∩ *C*<sup>2</sup> = {*e*}. If

is a contradiction to the hypothesis. Thus *C*<sup>1</sup> ∩ *C*<sup>2</sup> = {*e*}. Then there is only one circuit

*e*<sup>1</sup> ∈/ *C*5, *C*<sup>5</sup> �= *C*1, thus there are at least three circuits containing *e*, a contradiction. So there are more than two circuits containing *e*, we assume that *e*<sup>3</sup> ∈ *C*<sup>1</sup> − *C*2. By Lemma 2.4, there is *C*<sup>3</sup> in *G*<sup>1</sup> such that *e*<sup>3</sup> ∈ *C*<sup>3</sup> ⊆ (*C*<sup>1</sup> ∪ *C*2) − {*e*}. By Lemma 2.1, there is a vertex *C*<sup>4</sup> in *G*<sup>1</sup> containing *e*<sup>3</sup> and *e*<sup>4</sup> where *e*<sup>4</sup> ∈ *E* − (*C*<sup>3</sup> ∪ {*e*}). We get the 4-cycle *C*1*C*2*C*3*C*4. The proof is

Lemma 2.9. [17] Suppose that *M* = (*E*, C) is a connected matroid with an element *e* such that the matroid *M*\*e* is connected and *G* = *G*(*M*) is the circuit graph of matroid *M*. Let *G*<sup>1</sup> = *G*(*M*\*e*) be the circuit graph of *M*\*e* and *G*<sup>2</sup> be the subgraph of *G* induced by *V*<sup>2</sup> where *V*<sup>2</sup> = {*C* | *C* ∈ C,*e* ∈ *C*}. If *C*<sup>1</sup> ∈ *V*(*G*1), *C*<sup>2</sup> ∈ *V*(*G*2) and *d*(*C*1, *C*2) = 2, there exists a 3-path *C*1*C*3*C*4*C*<sup>2</sup> in graph *G* such that *C*<sup>3</sup> ∈ *V*(*G*1), *C*<sup>4</sup> ∈ *V*(*G*2) and *C*1, *C*<sup>2</sup> are both adjacent to *C*<sup>3</sup>

*Proof*. By Lemma 2.6, *V*(*G*1) and *V*(*G*2) partition *V*(*G*). By assumption, |*C*<sup>1</sup> ∩ *C*2| = 0. We assume that *e*<sup>1</sup> ∈ *C*1, *e*<sup>2</sup> ∈ *C*2. By Lemma 2.1, there is *C*<sup>4</sup> in *G*<sup>2</sup> containing both *e*<sup>1</sup> and *e*. Thus in *G*, *C*<sup>4</sup> is adjacent to *C*<sup>1</sup> and *C*2. By Lemma 2.1, there is *C*<sup>3</sup> in *G*<sup>1</sup> containing both *e*<sup>1</sup> and *e*2.

*Subcase 1.2*. *e* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e* ∈ *C*<sup>2</sup> − *C*1. Suppose that *e* ∈ *C*<sup>2</sup> − *C*1. Thus *C*<sup>1</sup> ∈ *V*(*G*1), *C*<sup>2</sup> ∈ *V*(*G*2). If *d*(*C*1, *C*2) = 1, by Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*2) and *C*<sup>4</sup> ∈ *V*(*G*1) and *C*1*C*2*C*<sup>3</sup> is a 3-cycle of *G*. By induction, for any *k*1, 1 ≤ *k*<sup>1</sup> ≤ *n*<sup>1</sup> − 1, there is a *k*1-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*1. Note that *G*<sup>2</sup> is a complete graph. For any *k*2, 1 ≤ *k*<sup>2</sup> ≤ *n*<sup>2</sup> − 1, there is a *k*2-path in *G*<sup>2</sup> connecting *C*<sup>2</sup> and *C*3. Let *P*<sup>1</sup> be the *k*1-path in *G*<sup>1</sup> connecting *C*<sup>1</sup> and *C*<sup>4</sup> and *P*<sup>2</sup> be the *k*2-path in *G*<sup>2</sup> connecting *C*<sup>3</sup> and *C*2, respectively. *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>2</sup> is a *k*<sup>1</sup> + *k*<sup>2</sup> + 1-path of *G*(*M*) that connects *C*<sup>1</sup> and *C*2. If *d*(*C*1, *C*2) = 2 and *e* ∈ *C*<sup>2</sup> − *C*1, by Lemma 2.9, there is a 3-path *C*1*C*3*C*4*C*<sup>2</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*1) and *C*<sup>4</sup> ∈ *V*(*G*2) and *C*1*C*3*C*<sup>2</sup> is a

*Subcase 1.3*. *e* ∈ *C*<sup>1</sup> ∩ *C*2. Thus *d*(*C*1, *C*2) = 1. If there are only two circuits containing *e*, then there is only one circuit in *M*\*e*. The result holds obviously because *G* = *K*3. Assume that there are more than two circuits containing *e*. Note that *G*<sup>2</sup> is a complete graph. For any *m*, 1 ≤ *m* ≤ *n*<sup>2</sup> − 1, there is a path of length *m* connecting *C*<sup>1</sup> and *C*2. Choose *C*<sup>3</sup> ∈ *V*(*G*2)

Let *P*<sup>4</sup> be the Hamilton path connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*(*M*\*e*) which traverses *C*�

the *m*-path connecting *C*<sup>3</sup> and *C*<sup>4</sup> in *G*<sup>2</sup> (1 ≤ *m* ≤ *n*<sup>2</sup> − 1), respectively. *P*<sup>3</sup> + *C*�

2-path of *G*. Then the proof is similar to the case when *d*(*C*1, *C*2) = 1.

containing *e*� does not contain *e*, then there is a circuit containing *e* does not contain *e*�

} is a co-circuit of *M* because by Lemma 2.4, if there is a circuit

<sup>4</sup> �= *C*�

<sup>4</sup>) and *e*<sup>1</sup> ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e*<sup>1</sup> ∈ *C*<sup>2</sup> − *C*1. We assume that *e*<sup>1</sup> ∈ *C*<sup>1</sup> − *C*2.

<sup>1</sup>*C*<sup>4</sup> + *P*<sup>2</sup> + *C*3*C*�

; which

4.

<sup>3</sup> in *M*\*e*, then there exists

1*C*�

<sup>2</sup> + *P*<sup>4</sup> is a *n*<sup>1</sup> + *m*-path of

<sup>1</sup>*C*<sup>3</sup> + *C*3*C*�

<sup>2</sup> and *P*<sup>2</sup> be

<sup>2</sup> + *P*<sup>4</sup>

<sup>4</sup>) − {*e*2} where *e*<sup>2</sup> ∈ *C*<sup>2</sup> ∩ *C*�

the 4-cycle we wanted. *C*<sup>1</sup> and *C*<sup>2</sup> are both adjacent to *C*3.

<sup>3</sup> = (*C*<sup>1</sup> ∪ *C*2) − {*e*} in *M*\*e*. For if there is a circuit *C*�

By Lemma 2.4, there is a circuit *C*<sup>5</sup> such that *e* ∈ *C*<sup>5</sup> ⊆ (*C*<sup>2</sup> ∪ *C*�

}, then {*e*,*e*�

Thus in *G*, *C*<sup>3</sup> is adjacent to *C*1, *C*<sup>2</sup> and *C*<sup>4</sup>

*G*(*M*) that joins *C*<sup>1</sup> and *C*2.

is a *n*1-path of *G*(*M*) that joins *C*<sup>1</sup> and *C*2. *P*<sup>3</sup> + *C*�

*C*<sup>1</sup> ∩ *C*<sup>2</sup> = {*e*,*e*�

completed.

and *C*4.

*e*<sup>1</sup> ∈ *E*(*M*) − ({*e*} ∪ *C*�

*C*�

such that *C*<sup>3</sup> � *C*<sup>1</sup> and *C*<sup>3</sup> � *C*2. By Lemma 2.8, there is a 4-cycle *C*1*C*3*C*4*C*<sup>5</sup> in *G* such that *C*4*C*<sup>5</sup> ∈ *E*(*G*1) and *C*1*C*3*C*<sup>4</sup> is a 3-cycle of *G*. By induction, for any *k*, 1 ≤ *k* ≤ *n*<sup>1</sup> − 1, there is a *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*5. Note that *G*<sup>2</sup> is a complete graph. Let *P*<sup>1</sup> be the *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*<sup>5</sup> and *P*<sup>2</sup> be the Hamilton path in *G*<sup>2</sup> connecting *C*<sup>1</sup> and *C*<sup>2</sup> which traverses the edge *C*1*C*3. Let *P*<sup>2</sup> = *C*1*C*<sup>3</sup> + *P*3. *C*1*C*<sup>4</sup> + *C*4*C*<sup>3</sup> + *P*<sup>3</sup> is a *n*2-path that connects *C*<sup>1</sup> and *C*2. *C*1*C*<sup>5</sup> + *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>3</sup> is the *n*<sup>2</sup> + *k*-path we wanted.

*Case 2*. The matroid *M* is critically connected. By Lemma 2.2, for any element *e* in *M*, *M*/*e* is connected. By Lemma 2.5, *M* has a 2-cocircuit {*a*, *b*}. By Lemma 2.7, the circuit graph of *M*/*a* is isomorphic to that of *M*. By induction hypothesis, the result holds.

Thus the theorem follows by induction.

Lemma 2.10. [2] A graph *G* is *k*-edge-connected if and only if any two distinct vertices of *G* are connected by at least *k* edge- disjoint paths.

### **3. The properties of circuit graphs of matroids**

We have known that a matroid *M* is connected if and only if for every pair *e*1, *e*<sup>2</sup> of distinct elements of *E*, there is a circuit containing both *e*<sup>1</sup> and *e*2. The following results are the new results obtained by Li and Liu.

**Theorem 3.1.** [17] For any connected matroid *M* = (*E*, C) which has at least three circuits, the circuit graph *G* = *G*(*M*) is positively Hamiltonian, that is, for every edge of *G*, there is a Hamilton circuit containing it.

We shall prove the theorem by induction on |*E*|. When |*E*| = 3, each element in *M* is parallel to another. It is easy to see that *G* = *K*3. The theorem is clearly true. Suppose that the result is true for |*E*| = *n* − 1. We prove that the result is also true for |*E*| = *n* > 3. Let *C*1*C*<sup>2</sup> be any edge in *G*.

There are two cases to distinguish.

**Case 1.** There is an element *e* in *M* such that *M*\*e* is connected. Let *G*<sup>1</sup> and *G*<sup>2</sup> be the graphs defined as above. We assume that |*V*(*G*1)| = *n*<sup>1</sup> and |*V*(*G*2)| = *n*2.

There are three subcases to distinguish.

**Subcase 1.1.** *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2). Thus *C*1*C*<sup>2</sup> is an edge of *M*\*e*. By Lemma 2.4, there are at least three vertices in *G*(*M*\*e*). By induction, *G*(*M*\*e*) is edge-pancyclic. For any *m*, 3 ≤ *m* ≤ *n*1, there is a cycle of length *m* containing *C*1*C*2. By Lemma 2.8, for any edge *C*� 1*C*� <sup>2</sup> in the Hamilton cycle of *G*(*M*\*e*) containing *C*1*C*<sup>2</sup> where *C*� 1*C*� <sup>2</sup> � *C*1*C*2, there is a 4-cycle *C*� 1*C*� <sup>2</sup>*C*3*C*<sup>4</sup> in *G* such that *C*3*C*<sup>4</sup> ∈ *E*(*G*2) and *C*� 1*C*� <sup>2</sup>*C*<sup>3</sup> is a 3-cycle in *G*. If there are only three vertices in *G*(*M*\*e*), let *C*<sup>1</sup> = *C*� <sup>1</sup>. Note that *G*<sup>2</sup> is a complete graph. Let *P*<sup>1</sup> be the Hamilton path connecting *C*� 1 and *C*� <sup>2</sup> in *G*(*M*\*e*) which traverses *C*1*C*<sup>2</sup> and *P*<sup>2</sup> be the *k*-path connecting *C*<sup>3</sup> and *C*<sup>4</sup> in *G*<sup>2</sup> (1 ≤ *k* ≤ *n*<sup>2</sup> − 1 ), respectively. *P*<sup>1</sup> + *C*� <sup>2</sup>*C*<sup>3</sup> + *C*3*C*� <sup>1</sup> is a *n*<sup>1</sup> + 1-cycle of *G*(*M*) that contains *C*1*C*2. *P*<sup>1</sup> + *C*� <sup>2</sup>*C*<sup>3</sup> + *P*<sup>2</sup> + *C*4*C*� <sup>1</sup> is a *n*<sup>1</sup> + *k* + 1-cycle of *G*(*M*) that contains *C*1*C*2.

**Subcase 1.2.** *e* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e* ∈ *C*<sup>2</sup> − *C*1. Suppose that *e* ∈ *C*<sup>2</sup> − *C*1. Thus *C*<sup>1</sup> ∈ *V*(*G*1), *C*<sup>2</sup> ∈ *V*(*G*2). By Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*2) and *C*<sup>4</sup> ∈ *V*(*G*1) and *C*1*C*2*C*<sup>3</sup> is a 3-cycle of *G*. By induction, for any *k*1, 1 ≤ *k*<sup>1</sup> ≤ *n*<sup>1</sup> − 1, there is a *k*1-path

**Subcase 1.3.** If *e* ∈ *C*<sup>1</sup> ∩ *C*2, as in the proof of subcase 1.3 in Theorem 3.1, let *C*<sup>2</sup> = *C*<sup>3</sup> and *P*<sup>2</sup> be a Hamilton path connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*2, then *P*<sup>1</sup> + *C*4*C*<sup>2</sup> + *P*<sup>2</sup> + *C*1*C*<sup>5</sup> is a Hamilton cycle

The Properties of Graphs of Matroids 221

**Case 2.** For every *e* ∈ *E*(*M*), *M*\*e* is disconnected. Then the matroid *M* is critically connected. By Lemma 2.2, for any element *e* in *M*, *M*/*e* is connected. By Lemma 2.5, *M* has a cocircuit

**Corollary 3.3.** For any connected matroid *M*, the circuit graph *GC*(*M*) is uniformly Hamilton whenever *GC*(*M*) contains at least four vertices. That is for any edge *e* of *GC*(*M*), there is a

**Theorem 3.4.** [20] Let *G* = *G*(*M*) be the circuit graph of a connected matroid *M* = (*E*, C). If |*V*(*G*)| = *n* and *C*1, *C*<sup>2</sup> ∈ *V*(*G*) with *d*(*C*1, *C*2) = *r* , then there is a path of length *k* joining *C*<sup>1</sup>

**Proof.** We shall prove the theorem by induction on |*E*|. When |*E*| = 3, each element in *M* is parallel to another. It is easy to see that *G* = *K*3. The theorem is clearly true. Suppose that the result is true for |*E*| = *n* − 1. We prove that the result is also true for |*E*| = *n* > 3. It is easy to see that for any vertices *C*1, *C*<sup>2</sup> in *V*(*G*), we have *d*(*C*1, *C*2) = *r* where *r* = 1 or *r* = 2 by the

**Case 1.** There is an element *e* in *M* such that *M*\*e* is connected. Let *G*<sup>1</sup> and *G*<sup>2</sup> be the graphs

**Subcase 1.1.** *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2). Thus *C*<sup>1</sup> ∈ *V*(*G*1), *C*<sup>2</sup> ∈ *V*(*G*1). Clearly, there are at least three vertices in *G*(*M*\*e*). By induction, for any *k*, *r* ≤ *k* ≤ *n*<sup>1</sup> − 1, there is a path of length *k* joining

<sup>2</sup> + *P*<sup>4</sup> is a *n*1-path of *G*(*M*) that joins *C*<sup>1</sup> and *C*2. *P*<sup>3</sup> + *C*�

**Subcase 1.2.** *e* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e* ∈ *C*<sup>2</sup> − *C*1. Suppose that *e* ∈ *C*<sup>2</sup> − *C*1. Thus *C*<sup>1</sup> ∈ *V*(*G*1), *C*<sup>2</sup> ∈ *V*(*G*2). If *d*(*C*1, *C*2) = 1, by Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*2) and *C*<sup>4</sup> ∈ *V*(*G*1) and *C*1*C*2*C*<sup>3</sup> is a 3-cycle of *G*. By induction, for any *k*1, 1 ≤ *k*<sup>1</sup> ≤ *n*<sup>1</sup> − 1, there is a *k*1-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*1. Note that *G*<sup>2</sup> is a complete graph. For any *k*2, 1 ≤ *k*<sup>2</sup> ≤ *n*<sup>2</sup> − 1, there is a *k*2-path in *G*<sup>2</sup> connecting *C*<sup>2</sup> and *C*3. Let *P*<sup>1</sup> be the *k*1-path in *G*<sup>1</sup> connecting *C*<sup>1</sup> and *C*<sup>4</sup> and *P*<sup>2</sup> be the *k*2-path in *G*<sup>2</sup> connecting *C*<sup>3</sup> and *C*2, respectively.

1*C*�

1*C*�

<sup>2</sup> and *P*<sup>2</sup> be the *m*-path connecting *C*<sup>3</sup> and *C*<sup>4</sup> in *G*<sup>2</sup> (1 ≤ *m* ≤ *n*<sup>2</sup> −1), respectively.

<sup>2</sup>*C*3*C*<sup>4</sup> in *G* such that *C*3*C*<sup>4</sup> ∈ *E*(*G*2) and *C*�

<sup>2</sup> + *P*<sup>4</sup> be the Hamilton path connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*(*M*\*e*) which

<sup>2</sup> in the Hamilton path connecting *C*<sup>1</sup>

<sup>1</sup>. Note that *G*<sup>2</sup> is a complete

<sup>1</sup>*C*<sup>4</sup> + *P*<sup>2</sup> + *C*3*C*�

1*C*� <sup>2</sup>*C*<sup>3</sup> is a

<sup>2</sup> + *P*<sup>4</sup>

{*a*, *b*}. By Lemma 2.7, *G*(*M*) ∼= *G*(*M*/*a*). By induction hypothesis, the result holds.

Hamilton cycle containing *e* and there is another Hamilton cycle excluding *e*.

defined as above. We assume that |*V*(*G*1)| = *n*<sup>1</sup> and |*V*(*G*2)| = *n*2.

3-cycle in *G*. If there are only three vertices in *G*(*M*\*e*), let *C*<sup>1</sup> = *C*�

*P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>2</sup> is a *k*<sup>1</sup> + *k*<sup>2</sup> + 1-path of *G*(*M*) that connects *C*<sup>1</sup> and *C*2.

*C*<sup>1</sup> and *C*<sup>2</sup> in *G*(*M*\*e*). By Lemma 2.8, for any edge *C*�

1*C*�

is a *n*<sup>1</sup> + *m*-path of *G*(*M*) that joins *C*<sup>1</sup> and *C*<sup>2</sup> .

we wanted.

The proof of the theorem is completed.

and *C*<sup>2</sup> for any *k* satisfying *r* ≤ *k* ≤ *n* − 1.

definition of the circuit graph of a matroid.

There are two cases to distinguish.

There are three subcases to distinguish.

and *C*<sup>2</sup> in *G*(*M*\*e*), there is a 4-cycle *C*�

graph. Let *P*<sup>1</sup> = *P*<sup>3</sup> + *C*�

1*C*�

<sup>1</sup>*C*<sup>3</sup> + *C*3*C*�

traverses *C*�

*P*<sup>3</sup> + *C*�

in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*1. Note that *G*<sup>2</sup> is a complete graph. For any *k*2, 1 ≤ *k*<sup>2</sup> ≤ *n*<sup>2</sup> − 1, there is a *k*2-path in *G*<sup>2</sup> connecting *C*<sup>2</sup> and *C*3. Let *P*<sup>1</sup> be the *k*1-path in *G*<sup>1</sup> connecting *C*<sup>1</sup> and *C*<sup>4</sup> and *P*<sup>2</sup> be the *k*2-path in *G*<sup>2</sup> connecting *C*<sup>3</sup> and *C*2, respectively. *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>2</sup> + *C*2*C*<sup>1</sup> is a *k*<sup>1</sup> + *k*<sup>2</sup> + 2-cycle of *G*(*M*) that contains *C*1*C*2.

**Subcase 1.3.** *e* ∈ *C*<sup>1</sup> ∩ *C*2. If there are only two circuits containing *e*, then there is only one circuit in *M*\*e*. The result holds obviously because *G* = *K*3. Assume that there are more than two circuits containing *e*. Note that *G*<sup>2</sup> is a complete graph. For any *m*, 3 ≤ *m* ≤ *n*2, there is a cycle of length *m* containing *C*1*C*2. Choose *C*<sup>3</sup> ∈ *V*(*G*2) such that *C*<sup>3</sup> �= *C*<sup>1</sup> and *C*<sup>3</sup> �= *C*2. By Lemma 2.8, there is a 4-cycle *C*1*C*3*C*4*C*<sup>5</sup> in *G* such that *C*4*C*<sup>5</sup> ∈ *E*(*G*1) and *C*1*C*3*C*<sup>4</sup> is a 3-cycle of *G*. By induction, for any *k*, 1 ≤ *k* ≤ *n*<sup>1</sup> − 1, there is a *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*5. Note that *G*<sup>2</sup> is a complete graph. Let *P*<sup>1</sup> be the *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*<sup>5</sup> and *P*<sup>2</sup> be the Hamilton path in *G*<sup>2</sup> connecting *C*<sup>3</sup> and *C*<sup>1</sup> which traverses the edge *C*2*C*1. *C*4*C*<sup>3</sup> + *P*<sup>2</sup> + *C*1*C*<sup>4</sup> is a *n*<sup>2</sup> + 1-cycle that contains *C*1*C*2. *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>2</sup> + *C*1*C*<sup>5</sup> is the *n*<sup>2</sup> + *k* + 1-cycle we wanted.

**Case 2.** The matroid *M* is critically connected. By Lemma 2.2, for any element *e* in *M*, *M*/*e* is connected. By Lemma 2.5, *M* has a 2-cocircuit {*a*, *b*}. By Lemma 2.7, the circuit graph of *M*/*a* is isomorphic to that of *M*. By induction hypothesis, the result holds.

Thus the theorem follows by induction.

**Theorem 3.2.** [21] Let *M* be any connected matroid which has at least four circuits and let *G* = *G*(*M*) be the circuit graph of *M*. Then for each edge of *G* = *G*(*M*) there is a Hamilton cycle avoiding it. that is, the circuit graph *G* = *G*(*M*) is negatively Hamiltonian.

**Proof.** We prove the theorem by induction on |*E*| . It is easy to see that |*E*| 4. When |*E*| = 4 and *r*(*M*) = 1, *M* = *U*1,4 [1]. It is easy to see that *G*(*M*) ∈ *H*−. When |*E*| = 4 and *r*(*M*) = 2, *M* has at most three circuits except when *M* = *U*2,4. Obviously *G*(*U*2,4) = *K*<sup>4</sup> and *K*<sup>4</sup> ∈ *H*−. Then suppose that the theorem is true for |*E*| = *n* − 1. We shall prove the theorem holds for |*E*| = *n* > 4. Let *C*1*C*<sup>2</sup> be any edge of *G*. There are two cases to consider.

**Case 1.** There exists an element *e* such that *M*\*e* is connected. Let *G*<sup>1</sup> and *G*<sup>2</sup> be the graphs defined as above.

There are three subcases to consider.

**Subcase 1.1.** If *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2), then *C*1*C*<sup>2</sup> is an edge of *G*(*M*\*e*). By Theorem 3.1, there is a Hamilton cycle in *G*(*M*\*e*) containing *C*1*C*2. By the proof of Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*3*C*<sup>4</sup> ∈ *E*(*G*2). As in the proof of Theorem 3.1, let *P*<sup>1</sup> be a Hamilton path in *G*<sup>1</sup> connecting *C*<sup>1</sup> and *C*<sup>2</sup> and *P*<sup>2</sup> be a Hamilton path in *G*<sup>2</sup> connecting *C*<sup>3</sup> and *C*4, respectively. Then the cycle *P*<sup>1</sup> + *C*2*C*<sup>3</sup> + *P*<sup>2</sup> + *C*4*C*<sup>1</sup> is a Hamilton cycle of *G* avoiding *C*1*C*2.

**Subcase 1.2.** Let *e* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e* ∈ *C*<sup>2</sup> − *C*1. It is easy to see that there are more than two vertices in *G*(*M*\*e*), and there are at least three vertices in *G*2. We assume that *e* ∈ *C*<sup>2</sup> − *C*<sup>1</sup> and *e*<sup>1</sup> ∈ *C*<sup>1</sup> − *C*2. By Lemma 2.1, there is *C*<sup>3</sup> in *G*<sup>2</sup> containing *e* and *e*1. By the proof of Lemma 2.8, in *G* there is a 4-cycle *C*1*C*3*C*4*C*<sup>5</sup> such that *C*<sup>4</sup> ∈ *V*(*G*2), *C*<sup>5</sup> ∈ *V*(*G*1). Let *P*<sup>1</sup> be a Hamilton path in *G*(*M*\*e*) connecting *C*<sup>1</sup> and *C*<sup>5</sup> and *P*<sup>2</sup> be a Hamilton path in *G*<sup>2</sup> connecting *C*<sup>4</sup> and *C*3, respectively. *P*<sup>1</sup> + *C*5*C*<sup>4</sup> + *P*<sup>2</sup> + *C*3*C*<sup>1</sup> is a Hamilton cycle avoiding *C*1*C*2.

in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*1. Note that *G*<sup>2</sup> is a complete graph. For any *k*2, 1 ≤ *k*<sup>2</sup> ≤ *n*<sup>2</sup> − 1, there is a *k*2-path in *G*<sup>2</sup> connecting *C*<sup>2</sup> and *C*3. Let *P*<sup>1</sup> be the *k*1-path in *G*<sup>1</sup> connecting *C*<sup>1</sup> and *C*<sup>4</sup> and *P*<sup>2</sup> be the *k*2-path in *G*<sup>2</sup> connecting *C*<sup>3</sup> and *C*2, respectively. *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>2</sup> + *C*2*C*<sup>1</sup> is a

220 New Frontiers in Graph Theory

**Subcase 1.3.** *e* ∈ *C*<sup>1</sup> ∩ *C*2. If there are only two circuits containing *e*, then there is only one circuit in *M*\*e*. The result holds obviously because *G* = *K*3. Assume that there are more than two circuits containing *e*. Note that *G*<sup>2</sup> is a complete graph. For any *m*, 3 ≤ *m* ≤ *n*2, there is a cycle of length *m* containing *C*1*C*2. Choose *C*<sup>3</sup> ∈ *V*(*G*2) such that *C*<sup>3</sup> �= *C*<sup>1</sup> and *C*<sup>3</sup> �= *C*2. By Lemma 2.8, there is a 4-cycle *C*1*C*3*C*4*C*<sup>5</sup> in *G* such that *C*4*C*<sup>5</sup> ∈ *E*(*G*1) and *C*1*C*3*C*<sup>4</sup> is a 3-cycle of *G*. By induction, for any *k*, 1 ≤ *k* ≤ *n*<sup>1</sup> − 1, there is a *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*5. Note that *G*<sup>2</sup> is a complete graph. Let *P*<sup>1</sup> be the *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*<sup>5</sup> and *P*<sup>2</sup> be the Hamilton path in *G*<sup>2</sup> connecting *C*<sup>3</sup> and *C*<sup>1</sup> which traverses the edge *C*2*C*1. *C*4*C*<sup>3</sup> + *P*<sup>2</sup> + *C*1*C*<sup>4</sup> is a *n*<sup>2</sup> + 1-cycle that contains *C*1*C*2. *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>2</sup> + *C*1*C*<sup>5</sup> is the *n*<sup>2</sup> + *k* + 1-cycle we wanted. **Case 2.** The matroid *M* is critically connected. By Lemma 2.2, for any element *e* in *M*, *M*/*e* is connected. By Lemma 2.5, *M* has a 2-cocircuit {*a*, *b*}. By Lemma 2.7, the circuit graph of *M*/*a*

**Theorem 3.2.** [21] Let *M* be any connected matroid which has at least four circuits and let *G* = *G*(*M*) be the circuit graph of *M*. Then for each edge of *G* = *G*(*M*) there is a Hamilton

**Proof.** We prove the theorem by induction on |*E*| . It is easy to see that |*E*| 4. When |*E*| = 4 and *r*(*M*) = 1, *M* = *U*1,4 [1]. It is easy to see that *G*(*M*) ∈ *H*−. When |*E*| = 4 and *r*(*M*) = 2, *M* has at most three circuits except when *M* = *U*2,4. Obviously *G*(*U*2,4) = *K*<sup>4</sup> and *K*<sup>4</sup> ∈ *H*−. Then suppose that the theorem is true for |*E*| = *n* − 1. We shall prove the theorem holds for

**Case 1.** There exists an element *e* such that *M*\*e* is connected. Let *G*<sup>1</sup> and *G*<sup>2</sup> be the graphs

**Subcase 1.1.** If *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2), then *C*1*C*<sup>2</sup> is an edge of *G*(*M*\*e*). By Theorem 3.1, there is a Hamilton cycle in *G*(*M*\*e*) containing *C*1*C*2. By the proof of Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*3*C*<sup>4</sup> ∈ *E*(*G*2). As in the proof of Theorem 3.1, let *P*<sup>1</sup> be a Hamilton path in *G*<sup>1</sup> connecting *C*<sup>1</sup> and *C*<sup>2</sup> and *P*<sup>2</sup> be a Hamilton path in *G*<sup>2</sup> connecting *C*<sup>3</sup> and *C*4, respectively. Then the cycle *P*<sup>1</sup> + *C*2*C*<sup>3</sup> + *P*<sup>2</sup> + *C*4*C*<sup>1</sup> is a Hamilton cycle of *G* avoiding *C*1*C*2.

**Subcase 1.2.** Let *e* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e* ∈ *C*<sup>2</sup> − *C*1. It is easy to see that there are more than two vertices in *G*(*M*\*e*), and there are at least three vertices in *G*2. We assume that *e* ∈ *C*<sup>2</sup> − *C*<sup>1</sup> and *e*<sup>1</sup> ∈ *C*<sup>1</sup> − *C*2. By Lemma 2.1, there is *C*<sup>3</sup> in *G*<sup>2</sup> containing *e* and *e*1. By the proof of Lemma 2.8, in *G* there is a 4-cycle *C*1*C*3*C*4*C*<sup>5</sup> such that *C*<sup>4</sup> ∈ *V*(*G*2), *C*<sup>5</sup> ∈ *V*(*G*1). Let *P*<sup>1</sup> be a Hamilton path in *G*(*M*\*e*) connecting *C*<sup>1</sup> and *C*<sup>5</sup> and *P*<sup>2</sup> be a Hamilton path in *G*<sup>2</sup> connecting *C*<sup>4</sup> and *C*3,

cycle avoiding it. that is, the circuit graph *G* = *G*(*M*) is negatively Hamiltonian.


respectively. *P*<sup>1</sup> + *C*5*C*<sup>4</sup> + *P*<sup>2</sup> + *C*3*C*<sup>1</sup> is a Hamilton cycle avoiding *C*1*C*2.

is isomorphic to that of *M*. By induction hypothesis, the result holds.

*k*<sup>1</sup> + *k*<sup>2</sup> + 2-cycle of *G*(*M*) that contains *C*1*C*2.

Thus the theorem follows by induction.

There are three subcases to consider.

defined as above.

**Subcase 1.3.** If *e* ∈ *C*<sup>1</sup> ∩ *C*2, as in the proof of subcase 1.3 in Theorem 3.1, let *C*<sup>2</sup> = *C*<sup>3</sup> and *P*<sup>2</sup> be a Hamilton path connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*2, then *P*<sup>1</sup> + *C*4*C*<sup>2</sup> + *P*<sup>2</sup> + *C*1*C*<sup>5</sup> is a Hamilton cycle we wanted.

**Case 2.** For every *e* ∈ *E*(*M*), *M*\*e* is disconnected. Then the matroid *M* is critically connected. By Lemma 2.2, for any element *e* in *M*, *M*/*e* is connected. By Lemma 2.5, *M* has a cocircuit {*a*, *b*}. By Lemma 2.7, *G*(*M*) ∼= *G*(*M*/*a*). By induction hypothesis, the result holds.

The proof of the theorem is completed.

**Corollary 3.3.** For any connected matroid *M*, the circuit graph *GC*(*M*) is uniformly Hamilton whenever *GC*(*M*) contains at least four vertices. That is for any edge *e* of *GC*(*M*), there is a Hamilton cycle containing *e* and there is another Hamilton cycle excluding *e*.

**Theorem 3.4.** [20] Let *G* = *G*(*M*) be the circuit graph of a connected matroid *M* = (*E*, C). If |*V*(*G*)| = *n* and *C*1, *C*<sup>2</sup> ∈ *V*(*G*) with *d*(*C*1, *C*2) = *r* , then there is a path of length *k* joining *C*<sup>1</sup> and *C*<sup>2</sup> for any *k* satisfying *r* ≤ *k* ≤ *n* − 1.

**Proof.** We shall prove the theorem by induction on |*E*|. When |*E*| = 3, each element in *M* is parallel to another. It is easy to see that *G* = *K*3. The theorem is clearly true. Suppose that the result is true for |*E*| = *n* − 1. We prove that the result is also true for |*E*| = *n* > 3. It is easy to see that for any vertices *C*1, *C*<sup>2</sup> in *V*(*G*), we have *d*(*C*1, *C*2) = *r* where *r* = 1 or *r* = 2 by the definition of the circuit graph of a matroid.

There are two cases to distinguish.

**Case 1.** There is an element *e* in *M* such that *M*\*e* is connected. Let *G*<sup>1</sup> and *G*<sup>2</sup> be the graphs defined as above. We assume that |*V*(*G*1)| = *n*<sup>1</sup> and |*V*(*G*2)| = *n*2.

There are three subcases to distinguish.

**Subcase 1.1.** *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2). Thus *C*<sup>1</sup> ∈ *V*(*G*1), *C*<sup>2</sup> ∈ *V*(*G*1). Clearly, there are at least three vertices in *G*(*M*\*e*). By induction, for any *k*, *r* ≤ *k* ≤ *n*<sup>1</sup> − 1, there is a path of length *k* joining *C*<sup>1</sup> and *C*<sup>2</sup> in *G*(*M*\*e*). By Lemma 2.8, for any edge *C*� 1*C*� <sup>2</sup> in the Hamilton path connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*(*M*\*e*), there is a 4-cycle *C*� 1*C*� <sup>2</sup>*C*3*C*<sup>4</sup> in *G* such that *C*3*C*<sup>4</sup> ∈ *E*(*G*2) and *C*� 1*C*� <sup>2</sup>*C*<sup>3</sup> is a 3-cycle in *G*. If there are only three vertices in *G*(*M*\*e*), let *C*<sup>1</sup> = *C*� <sup>1</sup>. Note that *G*<sup>2</sup> is a complete graph. Let *P*<sup>1</sup> = *P*<sup>3</sup> + *C*� 1*C*� <sup>2</sup> + *P*<sup>4</sup> be the Hamilton path connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*(*M*\*e*) which traverses *C*� 1*C*� <sup>2</sup> and *P*<sup>2</sup> be the *m*-path connecting *C*<sup>3</sup> and *C*<sup>4</sup> in *G*<sup>2</sup> (1 ≤ *m* ≤ *n*<sup>2</sup> −1), respectively. *P*<sup>3</sup> + *C*� <sup>1</sup>*C*<sup>3</sup> + *C*3*C*� <sup>2</sup> + *P*<sup>4</sup> is a *n*1-path of *G*(*M*) that joins *C*<sup>1</sup> and *C*2. *P*<sup>3</sup> + *C*� <sup>1</sup>*C*<sup>4</sup> + *P*<sup>2</sup> + *C*3*C*� <sup>2</sup> + *P*<sup>4</sup> is a *n*<sup>1</sup> + *m*-path of *G*(*M*) that joins *C*<sup>1</sup> and *C*<sup>2</sup> .

**Subcase 1.2.** *e* ∈ *C*<sup>1</sup> − *C*<sup>2</sup> or *e* ∈ *C*<sup>2</sup> − *C*1. Suppose that *e* ∈ *C*<sup>2</sup> − *C*1. Thus *C*<sup>1</sup> ∈ *V*(*G*1), *C*<sup>2</sup> ∈ *V*(*G*2). If *d*(*C*1, *C*2) = 1, by Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*2) and *C*<sup>4</sup> ∈ *V*(*G*1) and *C*1*C*2*C*<sup>3</sup> is a 3-cycle of *G*. By induction, for any *k*1, 1 ≤ *k*<sup>1</sup> ≤ *n*<sup>1</sup> − 1, there is a *k*1-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*1. Note that *G*<sup>2</sup> is a complete graph. For any *k*2, 1 ≤ *k*<sup>2</sup> ≤ *n*<sup>2</sup> − 1, there is a *k*2-path in *G*<sup>2</sup> connecting *C*<sup>2</sup> and *C*3. Let *P*<sup>1</sup> be the *k*1-path in *G*<sup>1</sup> connecting *C*<sup>1</sup> and *C*<sup>4</sup> and *P*<sup>2</sup> be the *k*2-path in *G*<sup>2</sup> connecting *C*<sup>3</sup> and *C*2, respectively. *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>2</sup> is a *k*<sup>1</sup> + *k*<sup>2</sup> + 1-path of *G*(*M*) that connects *C*<sup>1</sup> and *C*2.

graph, so *Ai* is adjacent to *Dj*(*i* = 1, 2, ··· , *m*; *j* = 1, 2, ··· , *n*). Here maybe *Ai* = *Dj* for some 1 ≤ *i* ≤ *m*; 1 ≤ *j* ≤ *n*. Let *q* = *min*{*m*, *n*}. *C*1*AiDiC*2(*i* = 1, 2, ··· , *q*) are *q* edge-disjoint paths in *G*. It is easy to see that *d*(*C*1) = *d*1(*C*1) + *m*, *d*(*C*2) = *d*1(*C*2) + *n* and *d* = *min*{*d*(*C*1), *d*(*C*2)} = *min*{*d*1(*C*1) + *m*, *d*1(*C*2) + *n*} = *d*1(*C*1) + *min*{*m*, *n*} = *d*1(*C*1) + *q*. P = P<sup>1</sup> ∪ {*C*1*A*1*D*1*C*2, *C*1*A*2*D*2*C*2, ··· , *C*1*AqDqC*2} are *d* edge-disjoint paths connecting *C*<sup>1</sup>

The Properties of Graphs of Matroids 223

**Subcase 2.1 b.** *d*1(*C*1) > *d*1(*C*2). By induction, in *G*<sup>1</sup> there are *d*<sup>1</sup> = *min*{*d*1(*C*1), *d*1(*C*2)} = *d*1(*C*2) edge -disjoint paths connecting *C*<sup>1</sup> and *C*2. Let P<sup>1</sup> = {*P*1, *P*2, ··· , *Pd*1(*C*2)} be the family of shortest edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*1. It is obvious that each *Pi*(*i* = 1, 2, ··· , *d*1(*C*2)) contains exactly one vertex adjacent to *C*<sup>1</sup> and one vertex adjacent to *C*2. Let *<sup>A</sup>*1, *<sup>A</sup>*2, ··· , *Ad*1(*C*1)−*d*1(*C*2) be the vertices in *<sup>G</sup>*<sup>1</sup> that are adjacent to *<sup>C</sup>*<sup>1</sup> but not contained in *<sup>d</sup>*<sup>1</sup> edge-disjoint paths. By Lemma 2.1, for any element *e*� in *Ai* (*i* = 1, 2, ··· , *d*1(*C*1) − *d*1(*C*2))

, thus *AiA*�

*Di* = *Dj*(*i* �= *j*; *i*, *j* = 1, 2, ··· , *m*). *d*(*C*2) = *d*1(*C*2) + *m* ≤ *d*1(*C*1) < *d*(*C*1), thus *d* =

are *d* edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*. If *m* > *d*1(*C*1) − *d*1(*C*2), let

<sup>2</sup>*D*2*C*2, ··· , *<sup>C</sup>*1*Ad*1(*C*1)−*d*1(*C*2)*A*�

1, 2, ··· , *d*1(*C*1) − *d*1(*C*2)). Let *L*1, *L*2, ··· , *Ln* denote the vertices in *G*<sup>2</sup> that is adjacent to *C*1. *G*<sup>2</sup> is a complete graph, so *Li* is adjacent to *Dj*(*i* = 1, 2, ··· , *n*; *j* = *d*1(*C*1) − *d*1(*C*2) + 1, *d*1(*C*1) − *d*1(*C*2) + 2, ··· , *m*). If *m* > *n* + *d*1(*C*1) − *d*1(*C*2), *d*(*C*1) = *d*1(*C*1) + *n* ≤ *d*1(*C*2) + *m* < *d*(*C*2), thus *<sup>d</sup>* <sup>=</sup> *min*{*d*(*C*1), *<sup>d</sup>*(*C*2)} <sup>=</sup> *<sup>d</sup>*(*C*1). <sup>P</sup><sup>3</sup> <sup>=</sup> *<sup>C</sup>*1*LiDd*1(*C*1)−*d*1(*C*2)+*iC*<sup>2</sup> are *<sup>n</sup>* edge-disjoint paths connecting *<sup>C</sup>*<sup>1</sup> and *<sup>C</sup>*<sup>2</sup> where *Li* can be *Dd*1(*C*1)−*d*1(*C*2)+*<sup>i</sup>* (*<sup>i</sup>* <sup>=</sup> 1, 2, ··· , *<sup>n</sup>*). Thus <sup>P</sup> <sup>=</sup> P<sup>1</sup> ∪ P<sup>2</sup> ∪ P<sup>3</sup> are *d* = *d*(*C*1) edge-disjoint paths in *G*. If *d*1(*C*1) − *d*1(*C*2) < *m* ≤ *n* +

connecting *<sup>C</sup>*<sup>1</sup> and *<sup>C</sup>*<sup>2</sup> where *Li* can be *Dd*1(*C*1)−*d*1(*C*2)+*<sup>i</sup>* (*<sup>i</sup>* <sup>=</sup> 1, 2, ··· , *<sup>m</sup>* <sup>−</sup> (*d*1(*C*1) <sup>−</sup> *<sup>d</sup>*1(*C*2)) but *Dd*1(*C*1)−*d*1(*C*2)+*<sup>i</sup>* �<sup>=</sup> *Dd*1(*C*1)−*d*1(*C*2)+*<sup>j</sup>* (*<sup>i</sup>* �<sup>=</sup> *<sup>j</sup>*; *<sup>i</sup>*, *<sup>j</sup>* <sup>=</sup> 1, 2, ··· , *<sup>m</sup>* <sup>−</sup> (*d*1(*C*1) <sup>−</sup> *<sup>d</sup>*1(*C*2)). *<sup>d</sup>*(*C*2) = *d*1(*C*2) + *m* ≤ *d*1(*C*1) + *n* = *d*(*C*1), thus *d* = *min*{*d*(*C*1), *d*(*C*2)} = *d*(*C*2). P = P<sup>1</sup> ∪ P<sup>2</sup> ∪ P�

**Subcase 2.2.** There is no element *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2) such that *M*\*e* is connected. If *E* − (*C*<sup>1</sup> ∪ *C*2) = {*e*} and *M e* is disconnected, it is easy to see that *C*<sup>1</sup> ∩ *C*<sup>2</sup> = ∅ and *C*1, *C*<sup>2</sup> are the two components of *M*\*e*. Thus any circuit of *M* intersecting both *C*<sup>1</sup> and *C*<sup>2</sup> contains *e*. Then *C*<sup>1</sup> and *C*<sup>2</sup> are both adjacent to any circuit in C − {*C*<sup>1</sup> ∪ *C*2} and the conclusion is obviously true. Suppose that |*E* − (*C*<sup>1</sup> ∪ *C*2)| ≥ 2 and for any *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2), *M*\*e* is disconnected. By Lemma 2.5, *M* has a 2-cocircuit {*a*, *b*}. By Lemma 2.7, the circuit graph of *M*/*a* is isomorphic to that of *M*. By induction hypothesis, the result holds. Thus the theorem follows by induction.

**Corollary 3.6.** Suppose that *G* = *G*(*M*) is the circuit graph of a connected matroid *M* with

are *d* = *d*(*C*2) edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*. The conclusion holds.

(*i* �= *j*; *i*, *j* = 1, 2, ··· , *d*1(*C*1) − *d*1(*C*2)). But it is forbidden that

<sup>1</sup>*D*1*C*2, *C*1*A*2*A*�

<sup>3</sup> <sup>=</sup> *<sup>C</sup>*1*LiDd*1(*C*1)−*d*1(*C*2)+*iC*<sup>2</sup> are *<sup>m</sup>* <sup>−</sup> (*d*1(*C*1) <sup>−</sup> *<sup>d</sup>*1(*C*2) edge-disjoint paths

(*G*) = *δ*(*G*).

denote the vertices in *G*<sup>2</sup> that is adjacent to *C*2. *G*<sup>2</sup> is a complete graph, so *A*�

*d*1(*C*1) − *d*1(*C*2) edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> where *A*�

*Dj*(*i* = 1, 2, ··· , *d*1(*C*1) − *d*1(*C*2); *j* = 1, 2, ··· , *m*). If *m* ≤ *d*1(*C*1) − *d*1(*C*2), *C*1*AiA*�

*<sup>i</sup>* is an edge in *G*(*M*). Let *D*1, *D*2, ··· , *Dm*

*<sup>i</sup>* can be *Di* (*i* = 1, 2, ··· , *m*). Here it

<sup>2</sup>*D*2*C*2, ··· , *C*1*Am A*�

*<sup>d</sup>*1(*C*1)−*d*1(*C*2)*Dd*1(*C*1)−*d*1(*C*2)*C*2} be

*<sup>i</sup>* is adjacent to

*DiC*<sup>2</sup> are

*mDmC*2}

3

*i*

*<sup>i</sup>* can be *Di* (*i* =

*<sup>i</sup>* in *G*<sup>2</sup> containing *e* and *e*�

*m* edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> where *A*�

*min*{*d*(*C*1), *d*(*C*2)} = *d*(*C*2). P = P<sup>1</sup> ∪ {*C*1*A*1*A*�

By Theorem 3.5, we can get the following corollary.

minimum degree *δ*(*G*). Then the edge connectivity *κ*�

<sup>1</sup>*D*1*C*2, *C*1*A*2*A*�

*<sup>i</sup>* = *A*� *j*

and *C*<sup>2</sup> in *G*.

there is a circuit *A*�

is possible that *A*�

P<sup>2</sup> = {*C*1*A*1*A*�

*d*1(*C*1) − *d*1(*C*2), P�

If *d*(*C*1, *C*2) = 2 and *e* ∈ *C*<sup>2</sup> − *C*1, by Lemma 2.9, there is a 3-path *C*1*C*3*C*4*C*<sup>2</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*1) and *C*<sup>4</sup> ∈ *V*(*G*2) and *C*1*C*3*C*<sup>2</sup> is a 2-path of *G*. Then the proof is similar to the case when *d*(*C*1, *C*2) = 1.

*Subcase 1.3*. *e* ∈ *C*<sup>1</sup> ∩ *C*2. Thus *d*(*C*1, *C*2) = 1. If there are only two circuits containing *e*, then there is only one circuit in *M*\*e*. The result holds obviously because *G* = *K*3. Assume that there are more than two circuits containing *e*. Note that *G*<sup>2</sup> is a complete graph. For any *m*, 1 ≤ *m* ≤ *n*<sup>2</sup> − 1, there is a path of length *m* connecting *C*<sup>1</sup> and *C*2. Choose *C*<sup>3</sup> ∈ *V*(*G*2) such that *C*<sup>3</sup> �= *C*<sup>1</sup> and *C*<sup>3</sup> �= *C*2. By Lemma 2.8, there is a 4-cycle *C*1*C*3*C*4*C*<sup>5</sup> in *G* such that *C*4*C*<sup>5</sup> ∈ *E*(*G*1) and *C*1*C*3*C*<sup>4</sup> is a 3-cycle of *G*. By induction, for any *k*, 1 ≤ *k* ≤ *n*<sup>1</sup> − 1, there is a *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*5. Note that *G*<sup>2</sup> is a complete graph. Let *P*<sup>1</sup> be the *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*<sup>5</sup> and *P*<sup>2</sup> be the Hamilton path in *G*<sup>2</sup> connecting *C*<sup>1</sup> and *C*<sup>2</sup> which traverses the edge *C*1*C*3. Let *P*<sup>2</sup> = *C*1*C*<sup>3</sup> + *P*3. *C*1*C*<sup>4</sup> + *C*4*C*<sup>3</sup> + *P*<sup>3</sup> is a *n*2-path that connects *C*<sup>1</sup> and *C*2. *C*1*C*<sup>5</sup> + *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>3</sup> is the *n*<sup>2</sup> + *k*-path we wanted.

**Case 2.** The matroid *M* is critically connected. By Lemma 2.2, for any element *e* in *M*, *M*/*e* is connected. By Lemma 2.5, *M* has a 2-cocircuit {*a*, *b*}. By Lemma 2.7, the circuit graph of *M*/*a* is isomorphic to that of *M*. By induction hypothesis, the result holds.

Thus the theorem follows by induction.

**Theorem 3.5.** [20] Suppose that *G* = *GC*(*M*) is the circuit graph of a connected matroid *M* and *C*<sup>1</sup> and *C*<sup>2</sup> are distinct vertices of *G*. Then *C*<sup>1</sup> and *C*<sup>2</sup> are connected by *d* = *min*{*d*(*C*1), *d*(*C*2)} edge -disjoint paths where *d*(*C*1) and *d*(*C*2) denote the degree of vertices *C*<sup>1</sup> and *C*<sup>2</sup> in *G*, respectively.

**Proof**. We shall prove the theorem by induction on |*E*|. When |*E*| = 3, each element in *M* is parallel to another. It is easy to see that *G* = *K*3. The theorem is clearly true. Suppose that the result is true for |*E*| = *n* − 1. We prove that the result is also true for |*E*| = *n* > 3. Let *C*<sup>1</sup> and *C*<sup>2</sup> be any two vertices in *G*.

There are two cases to distinguish.

**Case 1.** (*C*<sup>1</sup> ∪ *C*2) = *E*. It is easy to see that *C*<sup>1</sup> and *C*<sup>2</sup> are both adjacent to any circuit in C − {*C*<sup>1</sup> ∪ *C*2} and the conclusion is obviously true.

**Case 2.** (*C*<sup>1</sup> ∪ *C*2) �= *E*.

There are two subcases to distinguish.

**Subcase 2.1.** There is an element *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2) such that *M*\*e* is connected. Let *G*<sup>1</sup> = *G*(*M*\*e*) be the circuit graph of *M*\*e* and *G*<sup>2</sup> be the subgraph of *G* induced by *V*<sup>1</sup> where *V*<sup>1</sup> = {*C* | *C* ∈ C ,*e* ∈ *C*} . Thus *C*<sup>1</sup> and *C*<sup>2</sup> are in *G*1. By induction, in *G*1, *C*1, *C*<sup>2</sup> are connected by *d*<sup>1</sup> = *min*{*d*1(*C*1), *d*1(*C*2)} edge-disjoint paths where *d*1(*C*1) and *d*1(*C*2) denote the degree of vertices *C*<sup>1</sup> and *C*<sup>2</sup> in *G*1, respectively. Let P<sup>1</sup> = {*P*1, *P*2, ··· , *Pd*<sup>1</sup> } be the family of shortest edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*1. Without loss of generality, we may assume that *d*1(*C*1) ≥ *d*1(*C*2). There are two subcases to distinguish.

**Subcase 2.1 a.** *d*1(*C*1) = *d*1(*C*2). Thus *d*<sup>1</sup> = *min*{*d*1(*C*1), *d*1(*C*2)} = *d*1(*C*1) = *d*1(*C*2). We assume that there are *m* vertices *A*1, *A*2, ··· , *Am* in *G*<sup>2</sup> that are adjacent to *C*<sup>1</sup> and *n* vertices *D*1, *D*2, ··· , *Dn* in *G*<sup>2</sup> that are adjacent to *C*<sup>2</sup> where *m*, *n* are integers. *G*<sup>2</sup> is a complete If *d*(*C*1, *C*2) = 2 and *e* ∈ *C*<sup>2</sup> − *C*1, by Lemma 2.9, there is a 3-path *C*1*C*3*C*4*C*<sup>2</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*1) and *C*<sup>4</sup> ∈ *V*(*G*2) and *C*1*C*3*C*<sup>2</sup> is a 2-path of *G*. Then the proof is similar to the case

222 New Frontiers in Graph Theory

*Subcase 1.3*. *e* ∈ *C*<sup>1</sup> ∩ *C*2. Thus *d*(*C*1, *C*2) = 1. If there are only two circuits containing *e*, then there is only one circuit in *M*\*e*. The result holds obviously because *G* = *K*3. Assume that there are more than two circuits containing *e*. Note that *G*<sup>2</sup> is a complete graph. For any *m*, 1 ≤ *m* ≤ *n*<sup>2</sup> − 1, there is a path of length *m* connecting *C*<sup>1</sup> and *C*2. Choose *C*<sup>3</sup> ∈ *V*(*G*2) such that *C*<sup>3</sup> �= *C*<sup>1</sup> and *C*<sup>3</sup> �= *C*2. By Lemma 2.8, there is a 4-cycle *C*1*C*3*C*4*C*<sup>5</sup> in *G* such that *C*4*C*<sup>5</sup> ∈ *E*(*G*1) and *C*1*C*3*C*<sup>4</sup> is a 3-cycle of *G*. By induction, for any *k*, 1 ≤ *k* ≤ *n*<sup>1</sup> − 1, there is a *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*5. Note that *G*<sup>2</sup> is a complete graph. Let *P*<sup>1</sup> be the *k*-path in *G*<sup>1</sup> connecting *C*<sup>4</sup> and *C*<sup>5</sup> and *P*<sup>2</sup> be the Hamilton path in *G*<sup>2</sup> connecting *C*<sup>1</sup> and *C*<sup>2</sup> which traverses the edge *C*1*C*3. Let *P*<sup>2</sup> = *C*1*C*<sup>3</sup> + *P*3. *C*1*C*<sup>4</sup> + *C*4*C*<sup>3</sup> + *P*<sup>3</sup> is a *n*2-path that connects *C*<sup>1</sup>

**Case 2.** The matroid *M* is critically connected. By Lemma 2.2, for any element *e* in *M*, *M*/*e* is connected. By Lemma 2.5, *M* has a 2-cocircuit {*a*, *b*}. By Lemma 2.7, the circuit graph of *M*/*a*

**Theorem 3.5.** [20] Suppose that *G* = *GC*(*M*) is the circuit graph of a connected matroid *M* and *C*<sup>1</sup> and *C*<sup>2</sup> are distinct vertices of *G*. Then *C*<sup>1</sup> and *C*<sup>2</sup> are connected by *d* = *min*{*d*(*C*1), *d*(*C*2)} edge -disjoint paths where *d*(*C*1) and *d*(*C*2) denote the degree of vertices *C*<sup>1</sup> and *C*<sup>2</sup> in *G*,

**Proof**. We shall prove the theorem by induction on |*E*|. When |*E*| = 3, each element in *M* is parallel to another. It is easy to see that *G* = *K*3. The theorem is clearly true. Suppose that the result is true for |*E*| = *n* − 1. We prove that the result is also true for |*E*| = *n* > 3. Let *C*<sup>1</sup> and

**Case 1.** (*C*<sup>1</sup> ∪ *C*2) = *E*. It is easy to see that *C*<sup>1</sup> and *C*<sup>2</sup> are both adjacent to any circuit in

**Subcase 2.1.** There is an element *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2) such that *M*\*e* is connected. Let *G*<sup>1</sup> = *G*(*M*\*e*) be the circuit graph of *M*\*e* and *G*<sup>2</sup> be the subgraph of *G* induced by *V*<sup>1</sup> where *V*<sup>1</sup> = {*C* | *C* ∈ C ,*e* ∈ *C*} . Thus *C*<sup>1</sup> and *C*<sup>2</sup> are in *G*1. By induction, in *G*1, *C*1, *C*<sup>2</sup> are connected by *d*<sup>1</sup> = *min*{*d*1(*C*1), *d*1(*C*2)} edge-disjoint paths where *d*1(*C*1) and *d*1(*C*2) denote the degree of vertices *C*<sup>1</sup> and *C*<sup>2</sup> in *G*1, respectively. Let P<sup>1</sup> = {*P*1, *P*2, ··· , *Pd*<sup>1</sup> } be the family of shortest edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*1. Without loss of generality, we may assume

**Subcase 2.1 a.** *d*1(*C*1) = *d*1(*C*2). Thus *d*<sup>1</sup> = *min*{*d*1(*C*1), *d*1(*C*2)} = *d*1(*C*1) = *d*1(*C*2). We assume that there are *m* vertices *A*1, *A*2, ··· , *Am* in *G*<sup>2</sup> that are adjacent to *C*<sup>1</sup> and *n* vertices *D*1, *D*2, ··· , *Dn* in *G*<sup>2</sup> that are adjacent to *C*<sup>2</sup> where *m*, *n* are integers. *G*<sup>2</sup> is a complete

and *C*2. *C*1*C*<sup>5</sup> + *P*<sup>1</sup> + *C*4*C*<sup>3</sup> + *P*<sup>3</sup> is the *n*<sup>2</sup> + *k*-path we wanted.

Thus the theorem follows by induction.

is isomorphic to that of *M*. By induction hypothesis, the result holds.

when *d*(*C*1, *C*2) = 1.

respectively.

*C*<sup>2</sup> be any two vertices in *G*.

**Case 2.** (*C*<sup>1</sup> ∪ *C*2) �= *E*.

There are two cases to distinguish.

There are two subcases to distinguish.

C − {*C*<sup>1</sup> ∪ *C*2} and the conclusion is obviously true.

that *d*1(*C*1) ≥ *d*1(*C*2). There are two subcases to distinguish.

graph, so *Ai* is adjacent to *Dj*(*i* = 1, 2, ··· , *m*; *j* = 1, 2, ··· , *n*). Here maybe *Ai* = *Dj* for some 1 ≤ *i* ≤ *m*; 1 ≤ *j* ≤ *n*. Let *q* = *min*{*m*, *n*}. *C*1*AiDiC*2(*i* = 1, 2, ··· , *q*) are *q* edge-disjoint paths in *G*. It is easy to see that *d*(*C*1) = *d*1(*C*1) + *m*, *d*(*C*2) = *d*1(*C*2) + *n* and *d* = *min*{*d*(*C*1), *d*(*C*2)} = *min*{*d*1(*C*1) + *m*, *d*1(*C*2) + *n*} = *d*1(*C*1) + *min*{*m*, *n*} = *d*1(*C*1) + *q*. P = P<sup>1</sup> ∪ {*C*1*A*1*D*1*C*2, *C*1*A*2*D*2*C*2, ··· , *C*1*AqDqC*2} are *d* edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*.

**Subcase 2.1 b.** *d*1(*C*1) > *d*1(*C*2). By induction, in *G*<sup>1</sup> there are *d*<sup>1</sup> = *min*{*d*1(*C*1), *d*1(*C*2)} = *d*1(*C*2) edge -disjoint paths connecting *C*<sup>1</sup> and *C*2. Let P<sup>1</sup> = {*P*1, *P*2, ··· , *Pd*1(*C*2)} be the family of shortest edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*1. It is obvious that each *Pi*(*i* = 1, 2, ··· , *d*1(*C*2)) contains exactly one vertex adjacent to *C*<sup>1</sup> and one vertex adjacent to *C*2. Let *<sup>A</sup>*1, *<sup>A</sup>*2, ··· , *Ad*1(*C*1)−*d*1(*C*2) be the vertices in *<sup>G</sup>*<sup>1</sup> that are adjacent to *<sup>C</sup>*<sup>1</sup> but not contained in *<sup>d</sup>*<sup>1</sup> edge-disjoint paths. By Lemma 2.1, for any element *e*� in *Ai* (*i* = 1, 2, ··· , *d*1(*C*1) − *d*1(*C*2)) there is a circuit *A*� *<sup>i</sup>* in *G*<sup>2</sup> containing *e* and *e*� , thus *AiA*� *<sup>i</sup>* is an edge in *G*(*M*). Let *D*1, *D*2, ··· , *Dm* denote the vertices in *G*<sup>2</sup> that is adjacent to *C*2. *G*<sup>2</sup> is a complete graph, so *A*� *<sup>i</sup>* is adjacent to *Dj*(*i* = 1, 2, ··· , *d*1(*C*1) − *d*1(*C*2); *j* = 1, 2, ··· , *m*). If *m* ≤ *d*1(*C*1) − *d*1(*C*2), *C*1*AiA*� *i DiC*<sup>2</sup> are *m* edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> where *A*� *<sup>i</sup>* can be *Di* (*i* = 1, 2, ··· , *m*). Here it is possible that *A*� *<sup>i</sup>* = *A*� *j* (*i* �= *j*; *i*, *j* = 1, 2, ··· , *d*1(*C*1) − *d*1(*C*2)). But it is forbidden that *Di* = *Dj*(*i* �= *j*; *i*, *j* = 1, 2, ··· , *m*). *d*(*C*2) = *d*1(*C*2) + *m* ≤ *d*1(*C*1) < *d*(*C*1), thus *d* = *min*{*d*(*C*1), *d*(*C*2)} = *d*(*C*2). P = P<sup>1</sup> ∪ {*C*1*A*1*A*� <sup>1</sup>*D*1*C*2, *C*1*A*2*A*� <sup>2</sup>*D*2*C*2, ··· , *C*1*Am A*� *mDmC*2} are *d* edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*. If *m* > *d*1(*C*1) − *d*1(*C*2), let P<sup>2</sup> = {*C*1*A*1*A*� <sup>1</sup>*D*1*C*2, *C*1*A*2*A*� <sup>2</sup>*D*2*C*2, ··· , *<sup>C</sup>*1*Ad*1(*C*1)−*d*1(*C*2)*A*� *<sup>d</sup>*1(*C*1)−*d*1(*C*2)*Dd*1(*C*1)−*d*1(*C*2)*C*2} be *d*1(*C*1) − *d*1(*C*2) edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> where *A*� *<sup>i</sup>* can be *Di* (*i* = 1, 2, ··· , *d*1(*C*1) − *d*1(*C*2)). Let *L*1, *L*2, ··· , *Ln* denote the vertices in *G*<sup>2</sup> that is adjacent to *C*1. *G*<sup>2</sup> is a complete graph, so *Li* is adjacent to *Dj*(*i* = 1, 2, ··· , *n*; *j* = *d*1(*C*1) − *d*1(*C*2) + 1, *d*1(*C*1) − *d*1(*C*2) + 2, ··· , *m*). If *m* > *n* + *d*1(*C*1) − *d*1(*C*2), *d*(*C*1) = *d*1(*C*1) + *n* ≤ *d*1(*C*2) + *m* < *d*(*C*2), thus *<sup>d</sup>* <sup>=</sup> *min*{*d*(*C*1), *<sup>d</sup>*(*C*2)} <sup>=</sup> *<sup>d</sup>*(*C*1). <sup>P</sup><sup>3</sup> <sup>=</sup> *<sup>C</sup>*1*LiDd*1(*C*1)−*d*1(*C*2)+*iC*<sup>2</sup> are *<sup>n</sup>* edge-disjoint paths connecting *<sup>C</sup>*<sup>1</sup> and *<sup>C</sup>*<sup>2</sup> where *Li* can be *Dd*1(*C*1)−*d*1(*C*2)+*<sup>i</sup>* (*<sup>i</sup>* <sup>=</sup> 1, 2, ··· , *<sup>n</sup>*). Thus <sup>P</sup> <sup>=</sup> P<sup>1</sup> ∪ P<sup>2</sup> ∪ P<sup>3</sup> are *d* = *d*(*C*1) edge-disjoint paths in *G*. If *d*1(*C*1) − *d*1(*C*2) < *m* ≤ *n* + *d*1(*C*1) − *d*1(*C*2), P� <sup>3</sup> <sup>=</sup> *<sup>C</sup>*1*LiDd*1(*C*1)−*d*1(*C*2)+*iC*<sup>2</sup> are *<sup>m</sup>* <sup>−</sup> (*d*1(*C*1) <sup>−</sup> *<sup>d</sup>*1(*C*2) edge-disjoint paths connecting *<sup>C</sup>*<sup>1</sup> and *<sup>C</sup>*<sup>2</sup> where *Li* can be *Dd*1(*C*1)−*d*1(*C*2)+*<sup>i</sup>* (*<sup>i</sup>* <sup>=</sup> 1, 2, ··· , *<sup>m</sup>* <sup>−</sup> (*d*1(*C*1) <sup>−</sup> *<sup>d</sup>*1(*C*2)) but *Dd*1(*C*1)−*d*1(*C*2)+*<sup>i</sup>* �<sup>=</sup> *Dd*1(*C*1)−*d*1(*C*2)+*<sup>j</sup>* (*<sup>i</sup>* �<sup>=</sup> *<sup>j</sup>*; *<sup>i</sup>*, *<sup>j</sup>* <sup>=</sup> 1, 2, ··· , *<sup>m</sup>* <sup>−</sup> (*d*1(*C*1) <sup>−</sup> *<sup>d</sup>*1(*C*2)). *<sup>d</sup>*(*C*2) = *d*1(*C*2) + *m* ≤ *d*1(*C*1) + *n* = *d*(*C*1), thus *d* = *min*{*d*(*C*1), *d*(*C*2)} = *d*(*C*2). P = P<sup>1</sup> ∪ P<sup>2</sup> ∪ P� 3 are *d* = *d*(*C*2) edge-disjoint paths connecting *C*<sup>1</sup> and *C*<sup>2</sup> in *G*. The conclusion holds.

**Subcase 2.2.** There is no element *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2) such that *M*\*e* is connected. If *E* − (*C*<sup>1</sup> ∪ *C*2) = {*e*} and *M e* is disconnected, it is easy to see that *C*<sup>1</sup> ∩ *C*<sup>2</sup> = ∅ and *C*1, *C*<sup>2</sup> are the two components of *M*\*e*. Thus any circuit of *M* intersecting both *C*<sup>1</sup> and *C*<sup>2</sup> contains *e*. Then *C*<sup>1</sup> and *C*<sup>2</sup> are both adjacent to any circuit in C − {*C*<sup>1</sup> ∪ *C*2} and the conclusion is obviously true. Suppose that |*E* − (*C*<sup>1</sup> ∪ *C*2)| ≥ 2 and for any *e* ∈ *E* − (*C*<sup>1</sup> ∪ *C*2), *M*\*e* is disconnected. By Lemma 2.5, *M* has a 2-cocircuit {*a*, *b*}. By Lemma 2.7, the circuit graph of *M*/*a* is isomorphic to that of *M*. By induction hypothesis, the result holds. Thus the theorem follows by induction.

By Theorem 3.5, we can get the following corollary.

**Corollary 3.6.** Suppose that *G* = *G*(*M*) is the circuit graph of a connected matroid *M* with minimum degree *δ*(*G*). Then the edge connectivity *κ*� (*G*) = *δ*(*G*).

*G*<sup>2</sup> is a complete graph. The subgraph induced by *V*(*G*2) − *V*(*P*2) is also a complete graph.

The Properties of Graphs of Matroids 225

**Case 2.** The matroid *M* is critically connected. By Lemma 2.2, for any element *e* in *M*, *M*/*e* is connected. By Lemma 2.5, *M* has a 2-cocircuit {*a*, *b*}. By Lemma 2.7, the circuit graph of *M*/*a*

**Theorem 3.8.** Let *G* = *G*(*M*) be the circuit graph of a connected matroid *M* = (*E*, C). If |*V*(*G*)| = *n* and *k*<sup>1</sup> + *k*<sup>2</sup> + ··· + *kp* = *n* where *ki* is an integer and *ki* ≥ 3, *i* = 1, 2, . . . , *p*, then *G* has a 2-factor *F* containing *p* vertex-disjoint cycles *D*1, *D*2,..., *Dp* such that the length of *Di* is

By the similar methods we can prove that the above theorems also holds for the intersection

**Problem 1.** Let *G* = *G*(*M*) be the circuit graph of a connected matroid *M* = (*E*, C). If |*V*(*G*)| = *n* and *C*1, *C*<sup>2</sup> ∈ *V*(*G*) with *d*(*C*1, *C*2) = *r*, how many Hamilton paths connect *C*<sup>1</sup> and

**Problem 2.** Let *G* = *G*(*M*) be the intersection graph of bases of matroid *M* = (*E*, B). If |*V*(*G*)| = *n* and *B*1, *B*<sup>2</sup> ∈ *V*(*G*) with *d*(*B*1, *B*2) = *r*, how many Hamilton paths connect *B*<sup>1</sup> and

[2] J. A. Bondy, U. S. R. Murty, Graph Theory With Applications, American Elsevier, New

[5] R. L. Cummins, Hamilton circuits in tree graphs. *IEEE Trans Circuit theory*, 1 (1966),

[6] C. A. Holzmann, P. G. Norton and M. D. Tobey. A graphical representation of matroids.

[7] B. Alspach and G. Liu. Paths and cycles in matroid base graphs, *Graphs and*

[8] G. Liu. The connectivities of matroid base graphs, *J. Operations Research,* 3(1) (1984),

[9] G. Liu, Matroids complexes–geometrical representations on matroids. *Acta Math.*

*C*<sup>2</sup> in *G*? Furthermore, how many *k*-paths connect *C*<sup>1</sup> and *C*<sup>2</sup> in *G* (*r* ≤ *k* ≤ *n* − 1)?

*B*<sup>2</sup> in *G*? Furthermore, how many *k*-paths connect *B*<sup>1</sup> and *B*<sup>2</sup> in *G* (*r* ≤ *k* ≤ *n* − 1)?

[1] J. G. Oxley, Matroid theroy, Oxford University Press, New York, 1992.

[3] S. B. Maurer, Matroid basis graphs I, *J.Comb. Theory B*, 14 (1973), 216-240. [4] S. B. Maurer, Matroid basis graphs II, *J. Comb. Theory B*, 15 (1973) 121-145.

is isomorphic to that of *M*. By induction hypothesis, the result holds.

Finally, We present the following open problems to be considered.

Other related results of graphs on matroids can be found in [22-60].

*SIAM J Appl Math.,* 29 (1973), 618-672.

*combinatorics,* 1989, 5(3), 207-211.

*Scientia,* 5 (1985), 35-42.

From Theorem 3.7 we have the following theorem holds.

Thus the result holds.

*ki* (*i* = 1, 2, . . . , *p*).

**4. References**

York, 1976.

82-90.

67-68.

graph of bases of matroids.

Thus the theorem follows by induction.

**Proof.** By Theorem 3.5, we know that *κ*� (*G*) ≥ *δ*(*G*). Since for any graph *G*, we have *κ*� (*G*) ≤ *δ*(*G*), then *κ*� (*G*) = *δ*(*G*).

**Theorem 3.7.** [20] Let *G* be the circuit graph of a connected matroid *M* = (*E*, C ). If |*V*(*G*)| = *n* and *k*<sup>1</sup> + *k*<sup>2</sup> + ··· + *kp* = *n* where *ki* is an integer, *i* = 1, 2, . . . , *p*, then there is a partition of *V*(*G*) into *p* parts *V*1, *V*2,..., *Vp* such that |*Vi*| = *ki* and the subgraph *Hi* induced by *Vi* contains a *ki* -cycle when *ki* ≥ 3, *Hi* is isomorphic to *K*<sup>2</sup> when *ki* = 2, *Hi* is a single vertex when *ki* = 1.

**Proof.** We shall prove the theorem by induction on |*E*|. When |*E*| = 3 and |*V*(*G*)| = 1, the result holds clearly. When |*E*| = 3 and |*V*(*G*)| = 3, *M* = *U*1,3[1]. It is easy to see that *G* = *K*3. The theorem is clearly true. Suppose that the result is true for |*E*| = *m* − 1. We prove that the result is also true for |*E*| = *m* > 3.

**Case 1.** There is an element *e* in *M* such that *M*\*e* is connected. Let *G*<sup>1</sup> and *G*<sup>2</sup> be the graphs defined as above. We assume that |*V*(*G*1)| = *n*<sup>1</sup> and |*V*(*G*2)| = *n*2. There exists an *<sup>q</sup>* such that *<sup>k</sup>*<sup>1</sup> + *<sup>k</sup>*<sup>2</sup> + ··· + *kq*−<sup>1</sup> < *<sup>n</sup>*<sup>1</sup> and *<sup>k</sup>*<sup>1</sup> + *<sup>k</sup>*<sup>2</sup> + ··· + *kq* ≥ *<sup>n</sup>*1. By induction, the vertices of *G*(*M*\*e*) can be partitioned into *q* parts *V*1, *V*2,..., *V*� *<sup>q</sup>* such that |*V*1| = *k*1, |*V*2| = *<sup>k</sup>*2,..., |*Vq*−1| = *kq*−1, |*V*� *<sup>q</sup>* | = *<sup>n</sup>*<sup>1</sup> − (*k*<sup>1</sup> + *<sup>k</sup>*<sup>2</sup> + ··· + *kq*−1) = *<sup>k</sup>*� *<sup>q</sup>* and the subgraph *Hi* (*H*� *q*) induced by *Vi* (*i* = 1, 2, . . . , *q* − 1) (*V*� *<sup>q</sup>* ) contains a *ki* (*k*� *<sup>q</sup>*) -cycle when *ki* ≥ 3 (*k*� *<sup>q</sup>* ≥ 3), *Hi* (*H*� *q*) is isomorphic to *K*<sup>2</sup> when *ki* = 2 (*k*� *<sup>q</sup>* = 2), *Hi* (*H*� *<sup>q</sup>*) is a single point when *ki* = 1 (*k*� *<sup>q</sup>* = 1). When *kq* = *k*� *<sup>q</sup>*, the result holds clearly because *G*<sup>2</sup> is a complete graph. When *kq* > *k*� *<sup>q</sup>*, there are three subcases to consider.

**Subcase 1.1.** *k*� *<sup>q</sup>* = 1. Suppose that *C*<sup>1</sup> is the subgraph in *G*(*M*\*e*) induced by *V*� *<sup>q</sup>*. When *kq* = 2, obviously there is a vertex in *G*<sup>2</sup> that is adjacent to *C*1. When *kq* ≥ 3, we prove that there is a 3-cycle *C*1*C*2*C*<sup>3</sup> in *G* such that *C*2*C*<sup>3</sup> ∈ *E*(*G*2). For any *e*<sup>1</sup> ∈ *C*1, by Lemma 2.1, there is a circuit *C*<sup>2</sup> ∈ *G*<sup>2</sup> containing *e*<sup>1</sup> and *e*. Let *e*<sup>2</sup> ∈ *C*<sup>1</sup> − *C*2. There is a circuit *C*<sup>3</sup> ∈ *G*<sup>2</sup> containing *e*<sup>2</sup> and *e*. We get the 3-cycle *C*1*C*2*C*3. Note that *G*<sup>2</sup> is a complete graph. In *G*<sup>2</sup> there is a *kq* − 2 path *P* connecting *C*<sup>2</sup> and *C*3. *C*1*C*<sup>2</sup> + *P* + *C*3*C*<sup>1</sup> is a *kq* -cycle in *G*. Because *G*<sup>2</sup> is a complete graph, the subgraph induced by *V*(*G*2) − *V*(*P*) is also a complete graph. Thus the vertices of the subgraph induced by *V*(*G*2) − *V*(*P*) can be partitioned into *p* − *q* parts *Vq*+1, *Vq*+2,..., *Vp* such that |*Vi*| = *ki*, *i* = *q* + 1, *q* + 2, . . . , *p*, and the subgraph *Hi* induced by *Vi* contains a *ki* -cycle when *ki* ≥ 3, *Hi* is isomorphic to *K*<sup>2</sup> when *ki* = 2, *Hi* is a single point when *ki* = 1. The result holds.

**Subcase 1.2.** *k*� *<sup>q</sup>* = 2. Suppose that *C*1*C*<sup>2</sup> is the subgraph in *G*(*M*\*e*) induced by *V*� *<sup>q</sup>*. When *kq* = 3, by Lemma 2.8, the result holds. When *kq* ≥ 4, by Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*2) and *C*<sup>4</sup> ∈ *V*(*G*2) and *C*1*C*2*C*<sup>3</sup> is a 3-cycle of *G*. In *G*<sup>2</sup> there is a *kq* − 3 -path *P* connecting *C*<sup>3</sup> and *C*4. *C*1*C*<sup>2</sup> + *C*2*C*<sup>3</sup> + *P* + *C*4*C*<sup>1</sup> is a *kq* -cycle in *G*. Because *G*<sup>2</sup> is a complete graph, the subgraph induced by *V*(*G*2) − *V*(*P*) is also a complete graph. Thus the result holds.

**Subcase 1.3.** *k*� *<sup>q</sup>* > 2. The subgraph *H*� *<sup>q</sup>* in *G*(*M*\*e*) induced by *V*� *<sup>q</sup>* contains a *k*� *<sup>q</sup>* -cycle. Let *C*1*C*<sup>2</sup> be any edge in this cycle and *P*<sup>1</sup> be the Hamilton path in *H*� *<sup>q</sup>* connecting *C*<sup>1</sup> and *C*2. By Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*3*C*<sup>4</sup> ∈ *E*(*G*2) and *C*1*C*2*C*<sup>3</sup> is a 3-cycle of *G*. When *kq* − *k*� *<sup>q</sup>* = 1, *P*<sup>1</sup> + *C*2*C*<sup>3</sup> + *C*3*C*<sup>1</sup> is a *kq* -cycle in *G*. When *kq* − *k*� *<sup>q</sup>* ≥ 2, in *G*<sup>2</sup> there is a *kq* − *k*� *<sup>q</sup>* − 1 -path *P*<sup>2</sup> connecting *C*<sup>3</sup> and *C*4. *P*<sup>1</sup> + *C*2*C*<sup>3</sup> + *P*<sup>2</sup> + *C*4*C*<sup>1</sup> is a *kq* -cycle in *G*. Note that **Proof.** By Theorem 3.5, we know that *κ*�

(*G*) = *δ*(*G*).

result is also true for |*E*| = *m* > 3.

induced by *Vi* (*i* = 1, 2, . . . , *q* − 1) (*V*�

is isomorphic to *K*<sup>2</sup> when *ki* = 2 (*k*�

*<sup>k</sup>*2,..., |*Vq*−1| = *kq*−1, |*V*�

are three subcases to consider.

When *kq* = *k*�

result holds.

**Subcase 1.2.** *k*�

**Subcase 1.3.** *k*�

of *G*. When *kq* − *k*�

*kq* − *k*�

graph. Thus the result holds.

*<sup>q</sup>* > 2. The subgraph *H*�

*C*1*C*<sup>2</sup> be any edge in this cycle and *P*<sup>1</sup> be the Hamilton path in *H*�

**Subcase 1.1.** *k*�

*δ*(*G*), then *κ*�

(*G*) ≥ *δ*(*G*). Since for any graph *G*, we have *κ*�

**Theorem 3.7.** [20] Let *G* be the circuit graph of a connected matroid *M* = (*E*, C ). If |*V*(*G*)| = *n* and *k*<sup>1</sup> + *k*<sup>2</sup> + ··· + *kp* = *n* where *ki* is an integer, *i* = 1, 2, . . . , *p*, then there is a partition of *V*(*G*) into *p* parts *V*1, *V*2,..., *Vp* such that |*Vi*| = *ki* and the subgraph *Hi* induced by *Vi* contains a *ki* -cycle when *ki* ≥ 3, *Hi* is isomorphic to *K*<sup>2</sup> when *ki* = 2, *Hi* is a single vertex when *ki* = 1. **Proof.** We shall prove the theorem by induction on |*E*|. When |*E*| = 3 and |*V*(*G*)| = 1, the result holds clearly. When |*E*| = 3 and |*V*(*G*)| = 3, *M* = *U*1,3[1]. It is easy to see that *G* = *K*3. The theorem is clearly true. Suppose that the result is true for |*E*| = *m* − 1. We prove that the

224 New Frontiers in Graph Theory

**Case 1.** There is an element *e* in *M* such that *M*\*e* is connected. Let *G*<sup>1</sup> and *G*<sup>2</sup> be the graphs defined as above. We assume that |*V*(*G*1)| = *n*<sup>1</sup> and |*V*(*G*2)| = *n*2. There exists an *<sup>q</sup>* such that *<sup>k</sup>*<sup>1</sup> + *<sup>k</sup>*<sup>2</sup> + ··· + *kq*−<sup>1</sup> < *<sup>n</sup>*<sup>1</sup> and *<sup>k</sup>*<sup>1</sup> + *<sup>k</sup>*<sup>2</sup> + ··· + *kq* ≥ *<sup>n</sup>*1. By induction, the

*<sup>q</sup>* | = *<sup>n</sup>*<sup>1</sup> − (*k*<sup>1</sup> + *<sup>k</sup>*<sup>2</sup> + ··· + *kq*−1) = *<sup>k</sup>*�

*<sup>q</sup>* = 2), *Hi* (*H*�

*<sup>q</sup>* ) contains a *ki* (*k*�

*kq* = 2, obviously there is a vertex in *G*<sup>2</sup> that is adjacent to *C*1. When *kq* ≥ 3, we prove that there is a 3-cycle *C*1*C*2*C*<sup>3</sup> in *G* such that *C*2*C*<sup>3</sup> ∈ *E*(*G*2). For any *e*<sup>1</sup> ∈ *C*1, by Lemma 2.1, there is a circuit *C*<sup>2</sup> ∈ *G*<sup>2</sup> containing *e*<sup>1</sup> and *e*. Let *e*<sup>2</sup> ∈ *C*<sup>1</sup> − *C*2. There is a circuit *C*<sup>3</sup> ∈ *G*<sup>2</sup> containing *e*<sup>2</sup> and *e*. We get the 3-cycle *C*1*C*2*C*3. Note that *G*<sup>2</sup> is a complete graph. In *G*<sup>2</sup> there is a *kq* − 2 path *P* connecting *C*<sup>2</sup> and *C*3. *C*1*C*<sup>2</sup> + *P* + *C*3*C*<sup>1</sup> is a *kq* -cycle in *G*. Because *G*<sup>2</sup> is a complete graph, the subgraph induced by *V*(*G*2) − *V*(*P*) is also a complete graph. Thus the vertices of the subgraph induced by *V*(*G*2) − *V*(*P*) can be partitioned into *p* − *q* parts *Vq*+1, *Vq*+2,..., *Vp* such that |*Vi*| = *ki*, *i* = *q* + 1, *q* + 2, . . . , *p*, and the subgraph *Hi* induced by *Vi* contains a *ki* -cycle when *ki* ≥ 3, *Hi* is isomorphic to *K*<sup>2</sup> when *ki* = 2, *Hi* is a single point when *ki* = 1. The

*<sup>q</sup>*, the result holds clearly because *G*<sup>2</sup> is a complete graph. When *kq* > *k*�

*<sup>q</sup>* = 1. Suppose that *C*<sup>1</sup> is the subgraph in *G*(*M*\*e*) induced by *V*�

*<sup>q</sup>* = 2. Suppose that *C*1*C*<sup>2</sup> is the subgraph in *G*(*M*\*e*) induced by *V*�

*<sup>q</sup>* in *G*(*M*\*e*) induced by *V*�

*kq* = 3, by Lemma 2.8, the result holds. When *kq* ≥ 4, by Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*<sup>3</sup> ∈ *V*(*G*2) and *C*<sup>4</sup> ∈ *V*(*G*2) and *C*1*C*2*C*<sup>3</sup> is a 3-cycle of *G*. In *G*<sup>2</sup> there is a *kq* − 3 -path *P* connecting *C*<sup>3</sup> and *C*4. *C*1*C*<sup>2</sup> + *C*2*C*<sup>3</sup> + *P* + *C*4*C*<sup>1</sup> is a *kq* -cycle in *G*. Because *G*<sup>2</sup> is a complete graph, the subgraph induced by *V*(*G*2) − *V*(*P*) is also a complete

Lemma 2.8, there is a 4-cycle *C*1*C*2*C*3*C*<sup>4</sup> in *G* such that *C*3*C*<sup>4</sup> ∈ *E*(*G*2) and *C*1*C*2*C*<sup>3</sup> is a 3-cycle

*<sup>q</sup>* − 1 -path *P*<sup>2</sup> connecting *C*<sup>3</sup> and *C*4. *P*<sup>1</sup> + *C*2*C*<sup>3</sup> + *P*<sup>2</sup> + *C*4*C*<sup>1</sup> is a *kq* -cycle in *G*. Note that

*<sup>q</sup>* = 1, *P*<sup>1</sup> + *C*2*C*<sup>3</sup> + *C*3*C*<sup>1</sup> is a *kq* -cycle in *G*. When *kq* − *k*�

vertices of *G*(*M*\*e*) can be partitioned into *q* parts *V*1, *V*2,..., *V*�

(*G*) ≤

*q*)

*q*)

*<sup>q</sup>* = 1).

*<sup>q</sup>*, there

*<sup>q</sup>*. When

*<sup>q</sup>*. When

*<sup>q</sup>* -cycle. Let

*<sup>q</sup>* such that |*V*1| = *k*1, |*V*2| =

*<sup>q</sup>* and the subgraph *Hi* (*H*�

*<sup>q</sup>* contains a *k*�

*<sup>q</sup>* connecting *C*<sup>1</sup> and *C*2. By

*<sup>q</sup>* ≥ 2, in *G*<sup>2</sup> there is a

*<sup>q</sup>* ≥ 3), *Hi* (*H*�

*<sup>q</sup>*) -cycle when *ki* ≥ 3 (*k*�

*<sup>q</sup>*) is a single point when *ki* = 1 (*k*�

*G*<sup>2</sup> is a complete graph. The subgraph induced by *V*(*G*2) − *V*(*P*2) is also a complete graph. Thus the result holds.

**Case 2.** The matroid *M* is critically connected. By Lemma 2.2, for any element *e* in *M*, *M*/*e* is connected. By Lemma 2.5, *M* has a 2-cocircuit {*a*, *b*}. By Lemma 2.7, the circuit graph of *M*/*a* is isomorphic to that of *M*. By induction hypothesis, the result holds.

Thus the theorem follows by induction.

From Theorem 3.7 we have the following theorem holds.

**Theorem 3.8.** Let *G* = *G*(*M*) be the circuit graph of a connected matroid *M* = (*E*, C). If |*V*(*G*)| = *n* and *k*<sup>1</sup> + *k*<sup>2</sup> + ··· + *kp* = *n* where *ki* is an integer and *ki* ≥ 3, *i* = 1, 2, . . . , *p*, then *G* has a 2-factor *F* containing *p* vertex-disjoint cycles *D*1, *D*2,..., *Dp* such that the length of *Di* is *ki* (*i* = 1, 2, . . . , *p*).

By the similar methods we can prove that the above theorems also holds for the intersection graph of bases of matroids.

Finally, We present the following open problems to be considered.

**Problem 1.** Let *G* = *G*(*M*) be the circuit graph of a connected matroid *M* = (*E*, C). If |*V*(*G*)| = *n* and *C*1, *C*<sup>2</sup> ∈ *V*(*G*) with *d*(*C*1, *C*2) = *r*, how many Hamilton paths connect *C*<sup>1</sup> and *C*<sup>2</sup> in *G*? Furthermore, how many *k*-paths connect *C*<sup>1</sup> and *C*<sup>2</sup> in *G* (*r* ≤ *k* ≤ *n* − 1)?

**Problem 2.** Let *G* = *G*(*M*) be the intersection graph of bases of matroid *M* = (*E*, B). If |*V*(*G*)| = *n* and *B*1, *B*<sup>2</sup> ∈ *V*(*G*) with *d*(*B*1, *B*2) = *r*, how many Hamilton paths connect *B*<sup>1</sup> and *B*<sup>2</sup> in *G*? Furthermore, how many *k*-paths connect *B*<sup>1</sup> and *B*<sup>2</sup> in *G* (*r* ≤ *k* ≤ *n* − 1)?

Other related results of graphs on matroids can be found in [22-60].

#### **4. References**


[34] J. R. Edmonds, Matroids and the greedy algorithm, *Math Programming,* 1, (1971),

The Properties of Graphs of Matroids 227

[35] V. Estivill-Castro, M. Noy and J. Urrutia, On the chromatic number of tree graphs.

[36] J. Gao, Quasi-1-Hamilton connectedness of tree graphs. *Math. Res. and Exposition*, 7(3)

[37] J. Gao, 1-Hamilton connectedness of tree graphs. *Mathematica Applicata.,* 6(2) (1993),

[38] H. Harary, R. J. Mokken and M. J. Plantholt, Interpolation theorem for diameters of

[39] F. Harary and M. J. Plantholt, Classification of interpolation theorems for spanning trees and other families of spanning subgraphs. *J. Graph Theory,* 13(6)(1989), 703-712. [40] R. Rado, A theorem on independence relations. *Quart. J. Math. Oxford Ser.*, 13 (1942),

[41] C. A. Holzmann, F. Harary, On the tree graph of a matroid. *SIAM J. Appl. Math.,* 22

[42] A. W. Ingleton, Gammoids and transversal matroids, *J. Comb. Theory,* 15 (1973), 51-68. [43] T. Kamae. The existence of Hamilton circuit in a tree graph. *IEEE Trans Circuit theory*,

[44] G. Kishi and Y. Kajitani. On Hamilton circuits in a tree graphs. *IEEE Trans Circuit theory*,

[46] L. Li, The Hamilton properties of tree graphs. *J. Shandong Unv. of Technology*, 27 (3)

[47] L. Li and G. Liu, The connectivities of the adjacency leaf exchange forest graphs, *J.*

[48] L. Li, Q. Bian and G. Liu, The matroid incidence graphs, *J. Shandong University*, 40 (2)

[50] X. Li. The connectivities of the *SEE*-graph and the *AEE*-graph for the connected

[51] X. Li, V. Neumann-Lara and E. Rivera-Campo, Two Approaches for the Generalization of Leaf Edge Exchange Graphs on Spanning Trees to Connected Spanning k-Edge

[52] L. Lovasz, A. Recski, On the sum of Matroids, *Acta Math. Acad. Sci. Hung,* 24 (1973),

[53] S. B. Maurer, Intervals in matroid basis graphs. *Discrete Math.*, 11 (1975), 147-159. [54] U. S. R. Murty, On the number of bases of matroid, *Proc. Second Louisiana Conference on*

[55] U.S.R. Murty, Extremal critically connected matroids, *Discrete Math.*, 8 (1974), 49-58. [56] D. Naddef and W. R. Pulleyblank. Hamiltonicity and combinatorial polyhedra. *J.*

[57] C. St. J. A. Nash-Williams, Edge-disjiont spanning trees of finite graphs. *J. London Math.*

[49] L. Li, Matroids and Graphs, Ph.D. Dissertation, Shandong University, (2005).

spanning *k*-edge subgraphs of a graph *Discete Math.,* 183 (1998), 237-245.

spanning trees. *IEEE Trans Circuits and System,* 30 (1983), 429-432.

[45] E. Lawler. Combinatorial Optimization. *John Wiley, New York*, 1972.

*Shandong University*, 39 (6) (2004), 49-51.(in Chinese)

Subgraphs of a Graph. *Ars. combin.*, 75 (2005), 257-265.

127-136.

(1987), 498.

136-144.

83-89.

(1972), 187-193.

14 (1967), 279-283.

15 (1968), 42-50.

(1997), 261-263.

329-333.

(2005), 24-40.(in Chinese)

*Combinatorics*, (1971), 387-410.

*Soc.*, 36 (1961), 445-450.

*Combin. theory B*, 31 (1981), 279-312.

*Discrete Math.,* 223 (2000), 363-366.


[10] G. Liu, The Connectivities of Adjacent Tree Graphs. *Acta Mathematicae Applicatae Sinica*,

226 New Frontiers in Graph Theory

[11] G. Liu. A lower bound on connectivities of matroid base graphs, *Discrete Math.,* 69(1)

[12] G. Liu. On connectivities of base graph of some matroids, *J. Sys. Sci. and Math. Scis.,*

[14] G. Liu, The proof of a conjecture on matroid basis graphs. *Scince Sinica,* 1990: 593-599. [15] Liu Guizhen and Chen Qinghua, Matroids, Publishing House of National University

[16] Guizhen Liu and L. Zhang, Forest graphs of graphs, Chinese Journal of Engineering

[17] P. Li, Guizhen Liu, Cycles in circuit graphs of matroids, *Graphs and Combinatorics* 23

[18] Yinghao Zhang and Guizhen Liu, On Properties of the intersection graphs of matroids,

[19] H. Deng and F. Xia. The *P*3-Hamiltonian property of matroid base graphs. *Jour Nat Sci*

[20] D. Deng and R. Li. The 1-Hamiltonian property of matroid base graphs. *Acta. Scinat*

[22] Ping Li, Guizhen Liu , Hamilton cycle in circuit graphs of matroids, Computer and

[23] Ping Li, Some Properties of Circuit Graphs of Matroids, Doctoral Dissertation,

[24] B. Bollobas, A lower bound for the number of nonisomorphic Matroids, *J. Comb. Theory,*

[25] J. A. Bondy, Transversal matroids, base orderable matroids and graphs, *Quart. J. Math.,*

[27] R. A. Brualdi, On foundamental transversal matroids, *Proc. Amer. Math. Soc.,* 45 (1974),

[28] R. A. Brualdi, G. W. Dinolt, Characterization of transversal matroids and their

[29] M. Cai, A solution of Chartand's problem on spanning trees, *Acta Mathematicae*

[30] P. A. Catlin, J. W. Grossman, A. M. Hobbs, and H. J. Lai. Fractional arboricity, strength, and principal partitions in graphs and matroids. *Disc. Appl. Math.*, 40(1992), 285-302. [31] H. H. Crapo, Single element extensions of Matroids, *J. Res. Nat. Bur. Stand.,* 69B (1965),

[32] J. Donald, C. Holzmann and M. Tobey. A characterization of complete matroid base

[33] J. R. Edmonds, Minimum partition of a matroid into indedent subsets. *J.Res. Natl. Bur.*

[21] L. Li, Matroids and Graphs, Ph.D. Dissertation, Shandong University, (2005).

[26] J. A. Bondy, A.W. Ingleton, Pancyclic graph II, *J.Comb. Theory*, B20,1976, 41-46

[13] G. Liu, On connectivities of tree graphs, *J. Graph Theory,* 12(3) (1988), 453-459.

Defense Technology, Changsha, (in chinese) 1994.

Mathmatics, 22 (6) (2005), 1100-1109.

to appear in *Frontiers of Mathematics.*

*Univ. Norm. Hunan.*, 22 (3) (1999), 1-5..

mathematics with Applications 55 (2008), 654-659

presentations, *J. Comb. Theory,* 12 (1972), 268-286.

*Applicatae Sinica* (English Ser.), 1:2 (1984), 97-98.

graphs, *J. Comb. Theory Ser.*, 22B (1977), 139-193.

*Hunan Norm Uni.*, 1 (2000), 5-8.

Shandong University, (2010)

1969, 7, 366-368.

1972, 23, 81-89.

151-156.

57-65.

*Stand.,* 69B(1965), 67-72.

3(4) (1987), 313-317.

(1988), 55-60.

1(1) (1988), 18-21.

(2007), 425-431.


**11** 

Georgi A. Nenov

 *Bulgaria* 

**Symbolic Determination of** 

*Higher School of Transport "T. Kableshkov", Sofia,* 

**Jacobian and Hessian Matrices** 

 **and Sensitivities of Active Linear Networks** 

Every network synthesis procedure normally includes a first-order or (more rarely) secondorder network sensitivity analysis. The main problem here is the evaluation of the corresponding first- or second-order derivatives of network functions with respect to the circuit element values. These derivatives form the network Jacobian (**J**) and Hessian (**H**) matrices, respectively. A variety of methods exist for such an evaluation but most of them are intended for the sensitivity of one network transfer function only. Besides this in many cases it is desirable to find the symbolic expressions of the sensitivities because such a presentation facilitates the element value influence determination. An other useful and important application of the matrices **J** and **H** is in the tasks for optimization of synthesized networks with respect to their sensitivities or other parameters (Korn & Korn, 1968;

As it is well known all linear active networks can be modeled by using passive elements and nullator-norator pairs (nullors). The presented paper deals with the application of Chan-Mai signal-flow graphs (CMG) to the determination of the matrices **J** and **H** elements, having in mind the peculiarities of nullors and their influence on the passive element network admittance matrix and on the corresponding CMG. The method developed here is an improved and enlarged version of the approach in (Nenov, 2004). One demonstrates that the method reduces to the obtaining of two (for the elements of **J**) or four (for the elements of **H**)

It was introduced in graph theory in 1967 (Chan & Mai, 1967). Compared with other kinds of oriented graphs (especially Mason and Coates graphs) the Chan-Mai graph (CMG) holds out a simplest way to the representation the relationships between the dependent and independent quantities in an algebraic equation set. In order to make easier the understanding of the following sections of the paper further we give the procedure for

**1. Introduction** 

Wilde,1978).

isomorphic Chan-Mai signal-flow graphs.

drawing of CMG and the basic formulae related.

**2. Chan-Mai signal flow graph** 

 **by Using Chan-Mai Signal-Flow Graphs** 


## **Symbolic Determination of Jacobian and Hessian Matrices and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs**

Georgi A. Nenov *Higher School of Transport "T. Kableshkov", Sofia, Bulgaria* 

### **1. Introduction**

[58] C. St. J. A. Nash-Williams, Decompositions of finite graphs. *J. London Math. Soc.*, 39

228 New Frontiers in Graph Theory

[60] M. J. Piff, An upper bound for the number of matroids. *J. Comb. Theory,* 13 (1973),

[59] J. G. Oxley, Matroid Theory, Oxford University Press, New York, 1992.

(1964), 12.

241-245.

Every network synthesis procedure normally includes a first-order or (more rarely) secondorder network sensitivity analysis. The main problem here is the evaluation of the corresponding first- or second-order derivatives of network functions with respect to the circuit element values. These derivatives form the network Jacobian (**J**) and Hessian (**H**) matrices, respectively. A variety of methods exist for such an evaluation but most of them are intended for the sensitivity of one network transfer function only. Besides this in many cases it is desirable to find the symbolic expressions of the sensitivities because such a presentation facilitates the element value influence determination. An other useful and important application of the matrices **J** and **H** is in the tasks for optimization of synthesized networks with respect to their sensitivities or other parameters (Korn & Korn, 1968; Wilde,1978).

As it is well known all linear active networks can be modeled by using passive elements and nullator-norator pairs (nullors). The presented paper deals with the application of Chan-Mai signal-flow graphs (CMG) to the determination of the matrices **J** and **H** elements, having in mind the peculiarities of nullors and their influence on the passive element network admittance matrix and on the corresponding CMG. The method developed here is an improved and enlarged version of the approach in (Nenov, 2004). One demonstrates that the method reduces to the obtaining of two (for the elements of **J**) or four (for the elements of **H**) isomorphic Chan-Mai signal-flow graphs.

### **2. Chan-Mai signal flow graph**

It was introduced in graph theory in 1967 (Chan & Mai, 1967). Compared with other kinds of oriented graphs (especially Mason and Coates graphs) the Chan-Mai graph (CMG) holds out a simplest way to the representation the relationships between the dependent and independent quantities in an algebraic equation set. In order to make easier the understanding of the following sections of the paper further we give the procedure for drawing of CMG and the basic formulae related.

Symbolic Determination of Jacobian and Hessian Matrices

where

respectively.

where

and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 231

( ) ( ,)

*signSP SP CMG i*

*q q*

( ) ( ,)

*signSP SP CMG*

, , ,

 

*sl al s l*

In (4) and (5) *r* is the number of the separations in CMG, *m* is the number of the separations in CMG*,i* , *Na,k* is the number of all asymmetrical edges in *k-*th separation of CMG, *Ns,k* is the number of all symmetrical pairs in *k-*th separation of CMG, *Naq* is the number of the asymmetrical edges in *q-*th separation of CMG,*i*, *Ns,q* is the number of the symmetrical pairs in *q-*th separation of CMG,*i*, whereas *SPq(CMG,i)* and *SPk(CMG)* are the separation products of *q-*th separation of CMG,*i* and the separation products of *k-*th separation of CMG,

Suppose that an equivalent nullor network *N* with *m+1* nodes, *r* passive branches and *g*  nullors is given and the nodal equation of its passive part *N*p (the part of *N* which is

,11 ,1

*p p m*

... ... ...

*Y Y*

*Y Y* 

,1 ,

,1 ,2 ,

 

... *ppp p m <sup>t</sup>*

... ;

,1 ,2 ,

are the nodal voltage and the nodal current vectors of *Np*, respectively. Additionally we assume that between the nodes of all node pairs in *N* only one element or more than one but

*VV V*

*p p p pm <sup>t</sup>*

*II I*

**V**

*p m p mm*

*N N*

*kk k*

1

( 1) for 0 ( 1) for 0

, ,

*a l*

*N*

*N*

*a l*

**YV I** *pp p* (6)

**Y** (7)

**I** (8)

, (4)

(5)

An arbitrary unknown quantity *xi* in **X** can be evaluated according to the expression

1

*q i r*

 

or

*lq k*

**3. Nullor network Chan-Mai signal-flow graph** 

obtained by removing all nullors) is

is the nodal matrix of *N*p and

parallel connected elements exist.

*signSP*

*x*

*k*

*m*

1

*l N*

Assume the algebraic set

$$\mathbf{A}\mathcal{X} = \mathbf{Y} \tag{1}$$

is given, where

$$\mathbf{A} = \begin{bmatrix} a\_{11} & a\_{12} & \dots & a\_{1n} \\ a\_{21} & a\_{22} & \dots & a\_{2n} \\ \cdot & \cdot & \cdot & \cdot \\ a\_{n1} & a\_{n2} & \cdot & a\_{nn} \end{bmatrix} \tag{2}$$

is a square matrix with real or complex entries and

$$\begin{aligned} \mathbf{X} &= \begin{bmatrix} \mathbf{x}\_1 & \mathbf{x}\_2 & \dots & \mathbf{x}\_n \end{bmatrix} \; \; \; t \; \; \mathbf{y} \\ \mathbf{Y} &= \begin{bmatrix} y\_1 & y\_2 & \dots & y\_n \end{bmatrix} \; \; \; t \end{aligned} \tag{3}$$

are the vectors of the dependent and of the independent variables, respectively. The CMG consists of *n* vertices with sink signals *y1, y2, …, yn* , *n* vertices with source signals *x1, x2, …, xn* and maximum *n2* edges with transmission coefficients *aji* directed from the vertex *xi* toward the vertex *yj* ; *i,j = 1, 2, …, n* – Fig. 1. The calculations on the base of a CMG are connected with the following definitions (Chan & Mai, 1967, Donevsky & Nenov, 1979):


Fig. 1. Chan-Mai Signal-Flow Graph

An arbitrary unknown quantity *xi* in **X** can be evaluated according to the expression

$$\begin{aligned} \sum\_{k=1}^{m} \text{(sign}SP\_q) SP\_q \text{(CMG}, i) \\ \sum\_{k=1}^{r} \text{(sign}SP\_k) SP\_k \text{(CMG}\_{\prime k}) \end{aligned} \tag{4}$$

where

230 New Frontiers in Graph Theory

. **AX Y** (1)

11 12 1 21 22 2

*aa a aa a*

*n n nn*

... ; ... ` *n t n t*

*aa a*

 

are the vectors of the dependent and of the independent variables, respectively. The CMG consists of *n* vertices with sink signals *y1, y2, …, yn* , *n* vertices with source signals *x1, x2, …, xn* and maximum *n2* edges with transmission coefficients *aji* directed from the vertex *xi* toward the vertex *yj* ; *i,j = 1, 2, …, n* – Fig. 1. The calculations on the base of a CMG are connected

i. By removing all outgoing from the vertex *xi* edges and by adding the edges with transmission coefficients *yj* from the vertex *xi* directed toward the vertices *yj* , *j=1, 2, …,* 

ii. A s*eparation (S)* contains all vertices of CMG and a part of edges so that every vertex is incident to only one incoming and one only outgoing edge. The product of the transmission coefficients of all edges in a separations represents the corresponding

*xx x yy y* 

**X**

with the following definitions (Chan & Mai, 1967, Donevsky & Nenov, 1979):

iii. Two edges with transmission coefficients *aij* and *aji* form a *symmetrical pair*. iv. An edge which does not belong to a symmetrical pair is an *asymmetrical edge*.

... ... . ... .

*n n*

**A** (2)

**Y** (3)

1 2

Assume the algebraic set

is a square matrix with real or complex entries and

*n* one obtains the *graph* CMG*,i*;

*separation product (SP)*;

Fig. 1. Chan-Mai Signal-Flow Graph

is given, where

$$\begin{aligned} \text{sign}{S}\_l &= \begin{cases} (-1)^{N\_{s,l} + N\_{s,l} - 1} & \text{for } N\_{a,l} \neq 0\\ (-1)^{N\_{s,l}} & \text{for } N\_{a,l} = 0 \end{cases} \\ l &= q \text{ or } k \end{aligned} \tag{5}$$

In (4) and (5) *r* is the number of the separations in CMG, *m* is the number of the separations in CMG*,i* , *Na,k* is the number of all asymmetrical edges in *k-*th separation of CMG, *Ns,k* is the number of all symmetrical pairs in *k-*th separation of CMG, *Naq* is the number of the asymmetrical edges in *q-*th separation of CMG,*i*, *Ns,q* is the number of the symmetrical pairs in *q-*th separation of CMG,*i*, whereas *SPq(CMG,i)* and *SPk(CMG)* are the separation products of *q-*th separation of CMG,*i* and the separation products of *k-*th separation of CMG, respectively.

### **3. Nullor network Chan-Mai signal-flow graph**

Suppose that an equivalent nullor network *N* with *m+1* nodes, *r* passive branches and *g*  nullors is given and the nodal equation of its passive part *N*p (the part of *N* which is obtained by removing all nullors) is

$$\mathbf{Y}\_p \mathbf{V}\_p = \mathbf{I}\_p \tag{6}$$

where

$$\mathbf{Y} = \begin{bmatrix} \mathbf{Y}\_{p,11} & \dots & \mathbf{Y}\_{p,1m} \\ \cdot & \cdot & \cdot \\ \mathbf{Y}\_{p,m1} & \dots & \mathbf{Y}\_{p,mm} \end{bmatrix} \tag{7}$$

is the nodal matrix of *N*p and

$$\begin{array}{ccccc}\mathbf{V}\_{p} = \begin{bmatrix} V\_{p,1} & V\_{p,2} & \dots & V\_{p,m} \end{bmatrix}\_{t}; \end{array} \Big|\_{t}; \begin{array}{ccccc} \\ \vdots \\ \\ \mathbf{I}\_{p} = \begin{bmatrix} I\_{p,1} & I\_{p,2} & \dots & I\_{p,m} \end{bmatrix}\_{t} \end{array} \tag{8}$$

are the nodal voltage and the nodal current vectors of *Np*, respectively. Additionally we assume that between the nodes of all node pairs in *N* only one element or more than one but parallel connected elements exist.

Symbolic Determination of Jacobian and Hessian Matrices

and

for

or:

By substituting **Y** '

*2, …, n}*. Then one obtains

part in (11) only once. Hence

*s*

*d dy*

**Y K**

then all these elements change their values (Nenov, 2004)

'

;

*s s*

and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 233

Usually the admittance *ys* takes part in several (but no more then four) elements of (7) and

;

In a common case the admittance *ys* influences the admittances *Yji* ,*Yjl* , *Yki* and *Ykl*; *i,j,k,l Є {1,* 

 

.. . . . .. ; {1,2,..., }

Note that the values of the derivatives in (16) are 1 or –1 because every admittance *ys* takes

'

, {1,2,..., }.

*pq n*

*s*

*d dy Y y*

and **V '** in (9) instead **Y** and **V**, respectively, it follows

 

*ji jl ki kl <sup>s</sup>*

**VVVV <sup>V</sup>** , (18)

;

*pq*

*Y*

*ji s jl s ki s kl s Y Y Y Y d dy Yy Yy Yy Yy* 

*pq pq s*

 

*ji ji ji ji s*

*Y Y dY Y dy*

*ji*

(14)

**YY Y** *d* . (15)

*i, j,k,l n*

**K** . (16)

 

**VV V** *d* (17)

**<sup>V</sup> <sup>V</sup>** (19)

**Y YV V I** *d d* . . (20)

*s Y*

*y*

, {1,2,..., }; {1,2,..., }

*ji n s r*

'

0. 0 . 0 .0 .. . . . ..

0. . .0

*Y Y y y*

*ji jl s s*

0. . .0

*Y Y y y*

*ki kl s s*

.. . . . .. 0. 0 . 0 .0

The equation (1) can be represented graphically by using a CMG *G*p (Chan & Mai, 1967). Further, taking into account the peculiarities of the nullators and the norators (Davies, 1966) the graph *G*p can be transformed into the graph *G* of the actual network *N* according to the following

*Rule 1:* 


The so obtained graph CMG *G* corresponds to the matrix equation

$$\mathbf{Y}\mathbf{V}=\mathbf{I}\tag{9}$$

where **Y** is an *(nn)* nodal admittance matrix of *N*, **V** is the nodal voltage vector of *N* and **I** is the nodal current vector of for *n=m-g*.

### **4. Jacobian matrix determination**

The matrices in (9) have the form:

$$\mathbf{Y} = \begin{bmatrix} Y\_{11} & \dots & Y\_{1i} & \dots & Y\_{1n} \\ \cdot & \cdot & \cdot & \cdot & \cdot \\ Y\_{j1} & \dots & Y\_{ji} & \dots & Y\_{jn} \\ \cdot & \cdot & \cdot & \cdot & \cdot \\ \cdot & \cdot & \cdot & \cdot & \cdot \\ Y\_{n1} & \dots & Y\_{nj} & \dots & Y\_{nn} \end{bmatrix}; \quad \mathbf{V} = \begin{bmatrix} V\_1 & V\_2 & \dots & V\_n \end{bmatrix}\_t; \quad \mathbf{I} = \begin{bmatrix} I\_1 & I\_2 & \dots & I\_n \end{bmatrix}\_t \tag{10}$$

In the common case every element *Yji* in (7) is an algebraic admittance sum

$$Y\_{ji} = \sum\_{s} y\_s; \; j, i \in \{1, 2, \dots, n\}; s \in \{1, 2, \dots, r\}, \tag{11}$$

where *ys* is the admittance of *s-*th branch of the network *Np*.

The vectors **V** and **I** correspond to the unknown (dependent) variables and to independent variables of *N*, respectively and consequently

$$\mathbf{V} = \mathbf{Y}^{-1} \mathbf{I}\_{.}\tag{12}$$

Let us suppose that the admittance *ys* changes its value to

$$
\bar{y\_s} = y\_s + dy\_s \,. \tag{13}
$$

Usually the admittance *ys* takes part in several (but no more then four) elements of (7) and then all these elements change their values (Nenov, 2004)

$$\begin{aligned} Y\_{ji} &= Y\_{ji} + dY\_{ji} = Y\_{ji} + \frac{\partial Y\_{ji}}{\partial y\_s} dy\_s; \\ \{j, i &\in \{1, 2, \dots, n\}; s \in \{1, 2, \dots, r\}\} \end{aligned} \tag{14}$$

and

232 New Frontiers in Graph Theory

The equation (1) can be represented graphically by using a CMG *G*p (Chan & Mai, 1967). Further, taking into account the peculiarities of the nullators and the norators (Davies, 1966) the graph *G*p can be transformed into the graph *G* of the actual network *N* according to the

i. When a nullator is connected between the node *k* in *N* and the ground node *m+1* one

ii. When a norator is connected between the node *k* in *N* and the ground node *m+1* one

iii. When a nullator is connected between the nodes *k* and *l* in *N* one unites the vertices *Vk*

iv. When a norator is connected between the nodes *k* and *l* in *N* one unites the vertices *Ik*

1 1 2 1 2

In the common case every element *Yji* in (7) is an algebraic admittance sum

*s*

where *ys* is the admittance of *s-*th branch of the network *Np*.

Let us suppose that the admittance *ys* changes its value to

.. .. ; ... ; ...

 

*Y YY VV V I I I*

*<sup>j</sup> ji jn n n t t*

**Y VI** (10)

; , {1,2,..., }; {1,2,..., }, *ji s*

The vectors **V** and **I** correspond to the unknown (dependent) variables and to independent

'

*n)* nodal admittance matrix of *N*, **V** is the nodal voltage vector of *N* and **I** is

*<sup>Y</sup> y j i ns r* (11)

<sup>1</sup> **V YI** . (12)

*ss s y y dy* . (13)

**YV I** (9)

 

removes all vertices going out from the vertex *Vk* of *G*p;

The so obtained graph CMG *G* corresponds to the matrix equation

removes all vertices coming into the vertex *Ik* of *G*p;

following *Rule 1:* 

and *Vl* in *G*p;

and *Il* in *G*p.

where **Y** is an *(n*

The matrices in (9) have the form:

1

the nodal current vector of for *n=m-g*.

**4. Jacobian matrix determination** 

11 1 1

*i n*

..... .. ..

*n nj nn*

*Y YY*

variables of *N*, respectively and consequently

.. .. .....

*Y YY*

$$\mathbf{Y}' = \mathbf{Y} + d\mathbf{Y} \,. \tag{15}$$

In a common case the admittance *ys* influences the admittances *Yji* ,*Yjl* , *Yki* and *Ykl*; *i,j,k,l Є {1, 2, …, n}*. Then one obtains

$$\mathbf{d}\mathbf{Y} = dy\_s \mathbf{K}\_s;$$

$$\mathbf{K}\_s = \begin{bmatrix} 0 & \cdot & 0 & \cdot & 0 & \cdot & 0\\ \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\ 0 & \cdot & \frac{\partial Y\_{ji}}{\partial y\_s} & \cdot & \frac{\partial Y\_{ji}}{\partial y\_s} & \cdot & 0\\ \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\ \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\ 0 & \cdot & \frac{\partial Y\_{ki}}{\partial y\_s} & \cdot & \frac{\partial Y\_{kl}}{\partial y\_s} & \cdot & 0\\ \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\ 0 & \cdot & 0 & \cdot & 0 & \cdot & 0 \end{bmatrix};\tag{16}$$

Note that the values of the derivatives in (16) are 1 or –1 because every admittance *ys* takes part in (11) only once. Hence

$$\mathbf{V}' = \mathbf{V} + d\mathbf{V} \tag{17}$$

for

$$d\mathbf{V} = \left(\frac{\partial \mathbf{V}}{\partial Y\_{ji}} \frac{\partial Y\_{ji}}{\partial y\_s} + \frac{\partial \mathbf{V}}{\partial Y\_{jl}} \frac{\partial Y\_{jl}}{\partial y\_s} + \frac{\partial \mathbf{V}}{\partial Y\_{ki}} \frac{\partial Y\_{ki}}{\partial y\_s} + \frac{\partial \mathbf{V}}{\partial Y\_{kl}} \frac{\partial Y\_{kl}}{\partial y\_s}\right) dy\_{s'} \tag{18}$$

or:

$$d\mathbf{V} = dy\_s \sum\_{pq} \frac{\partial \mathbf{V}}{\partial Y\_{pq}} \frac{\partial Y\_{pq}}{\partial y\_s}; \begin{matrix} \\ \\ \\ \\ \end{matrix} \tag{19}$$
  $p, q \in \{1, 2, ..., n\}$ .

By substituting **Y** ' and **V '** in (9) instead **Y** and **V**, respectively, it follows

$$\mathbb{E}\left[\mathbf{Y} + d\mathbf{Y}\right]\mathbb{I}\left[\mathbf{V} + d\mathbf{V}\right] = \mathbf{I}\,.\tag{20}$$

Symbolic Determination of Jacobian and Hessian Matrices

3

**Example A** 

we wish to find the vector

Fig. 2. Nullor Network *N*

*Rule 2* we reach to the graph *G* in Fig. 4 for

**Y**

Because *Y32=sC3; Y42= -sC3* and

from (16) and (31) we have

1 1

*G G*

0 0

3

**V KV**

**K**

112 2 3 5

*GGG G sC G*

**V I**

and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 235

The network *N* in Fig. 2 is given, where *m*=6; *r*=9; *g*=2. Here obviously *V2=V3=V23*; *V6*=0 and

In Fig. 3 the CMG *G*p of the passive part of *N* is drawn (Nenov, 2004). Further following the

 

0 0 0 ; 0 0

32 32 3 3 1; 1. () () *Y Y sC sC*

0 0 00 0 0 00 ; 0 1 00 0 100

 

 

0 0 *<sup>t</sup> V V*

3 3 23 23

; 0 0 0. *t t*

(31)

(30)

(32)

3 4 1 2 3 23 4 5 1

*sC sC VV VV VV J*

1 4 23 5

**J** . (29)

<sup>3333</sup> ()()()() *<sup>t</sup> V V V V sC sC sC sC* 

Having in mind that

$$d\mathbf{Y}d\mathbf{V} \to \mathbf{0} \tag{21}$$

the equation (20) yields

$$\mathbf{Y}d\mathbf{V} = -d\mathbf{Y}\mathbf{V} \tag{22}$$

or

$$d\mathbf{V} = -\mathbf{Y}^{-1} d\mathbf{Y} \,\mathrm{V} \,. \tag{23}$$

Then we obtain

$$\frac{\partial \mathbf{V}}{\partial y\_s} dy\_s = -dy\_s \mathbf{Y}^{-1} \mathbf{K}\_s \mathbf{V} \tag{24}$$

and the Jacobian matrix (Korn & Korn, 1968). for the change of the admittance *ys* is

$$\mathbf{J} = \begin{bmatrix} \frac{\partial V\_1}{\partial y\_1} & \frac{\partial V\_1}{\partial y\_2} & \dots & \frac{\partial V\_1}{\partial y\_s} & \dots & \frac{\partial V\_1}{\partial y\_r} \\ \frac{\partial V\_2}{\partial y\_1} & \frac{\partial V\_2}{\partial y\_2} & \dots & \frac{\partial V\_2}{\partial y\_s} & \dots & \frac{\partial V\_2}{\partial y\_r} \\ \vdots & \ddots & \dots & \dots & \vdots \\ \frac{\partial V\_n}{\partial y\_1} & \frac{\partial V\_n}{\partial y\_2} & \dots & \frac{\partial V\_n}{\partial y\_s} & \dots & \frac{\partial V\_n}{\partial y\_r} \end{bmatrix} = \begin{bmatrix} \mathbf{J}\_1 & \mathbf{J}\_2 & \dots \ \mathbf{J}\_s & \dots \ \mathbf{J}\_r \end{bmatrix} \tag{25}$$

where

$$\mathbf{J}\_s = \begin{bmatrix} \frac{\partial V\_1}{\partial y\_s} & \frac{\partial V\_2}{\partial y\_s} & \dots & \frac{\partial V\_n}{\partial y\_s} \end{bmatrix}\_t \tag{26}$$

Taking into account (24) and (25) one obtains

$$\begin{aligned} \mathbf{J}\_s &= -\mathbf{Y}^{-1} \mathbf{K}\_s \mathbf{Y}^{-1} \mathbf{I} = -\mathbf{Y}^{-1} \mathbf{K}\_s \mathbf{V} = -\mathbf{Y}^{-1} \mathbf{V}\_s; \\ \mathbf{V}\_s &= \mathbf{K}\_s \mathbf{V}. \end{aligned} \tag{27}$$

and according to (20) ÷ (22)

$$\mathbf{J} = -\mathbf{Y}^{-1} \begin{bmatrix} \mathbf{K}\_1 & \dots & \mathbf{K}\_s & \dots & \mathbf{K}\_r \end{bmatrix} \mathbf{V} \begin{array}{ccc} \mathbf{V} \end{array} \tag{28}$$

The expressions (22) show that in order to find the vector **J***s* it is necessary to follow the

#### *Rule 2:*


### **Example A**

234 New Frontiers in Graph Theory

. *s ss*

*dy dy*

and the Jacobian matrix (Korn & Korn, 1968). for the change of the admittance *ys* is

1 2 1 2

*s r*

*s r*

1 2 .. *<sup>n</sup> <sup>s</sup>*

*ss s s*

 **J Y KY I Y KV Y V**

> <sup>1</sup> <sup>1</sup> .. .. *s r*

iii. Draw a new CMG *Gs* where the source vertices are the elements of the vector **J***s* and the

The expressions (22) show that in order to find the vector **J***s* it is necessary to follow the

*V V V yy y* 

*ss s t*

11 1 1 ;

*s*

*y*

11 1 1

*VV V V yy y y VV V V yy y y*

 

.. ..

.. ..

22 2 2

. . .. . .. .

*VV V V yy y y*

 

*nn n n*

.

*s s*

**V KV**

1 2

1 2

Taking into account (24) and (25) one obtains

i. Find the vector **V** by using the CMG *G*;

iv. Find the source vertex variables in *Gs*.

sink vertices are the elements of the vector **V***s*;

and according to (20) ÷ (22)

ii. Evaluate the vector **V***s*;

*d d* **YV 0** (21)

**Y V YV** *d d* (22)

*d d* **<sup>1</sup> V Y YV** . (23)

**<sup>V</sup> <sup>1</sup> Y KV** (24)

**J** . (26)

**J Y K K KV** . (28)

(27)

.. .. .. .. ,

**J JJ J J** (25)

*s r s r*

Having in mind that

the equation (20) yields

Then we obtain

or

where

*Rule 2:* 

The network *N* in Fig. 2 is given, where *m*=6; *r*=9; *g*=2. Here obviously *V2=V3=V23*; *V6*=0 and we wish to find the vector

$$\mathbf{J}\_{3} = \begin{bmatrix} \frac{\partial V\_{1}}{\partial(\mathbf{s}\mathbf{C}\_{3})} & \frac{\partial V\_{23}}{\partial(\mathbf{s}\mathbf{C}\_{3})} & \frac{\partial V\_{4}}{\partial(\mathbf{s}\mathbf{C}\_{3})} & \frac{\partial V\_{5}}{\partial(\mathbf{s}\mathbf{C}\_{3})} \end{bmatrix}. \tag{29}$$

$$\begin{bmatrix} \ddots & \ddots & \ddots & \ddots & \ddots\\ \vdots & \ddots & \ddots & \ddots & \ddots\\ \vdots & \ddots & \ddots & \ddots & \ddots\\ \vdots & & \ddots & \ddots & \ddots & \ddots \end{bmatrix} \end{bmatrix}\_{\mathbf{C}\_{3}}.$$

$$\mathbf{N} = \begin{bmatrix} \mathbf{N}\_{1} & \mathbf{N}\_{2} & \cdots & \mathbf{N}\_{N} & \mathbf{C}\_{3} \\\\ \mathbf{N}\_{2} & \mathbf{N}\_{3} & \cdots & \mathbf{N}\_{N} & \mathbf{C}\_{3} \\\\ \mathbf{N}\_{3} & \mathbf{N}\_{4} & \cdots & \mathbf{N}\_{N} & \mathbf{N}\_{4} \end{bmatrix}$$

Fig. 2. Nullor Network *N*

In Fig. 3 the CMG *G*p of the passive part of *N* is drawn (Nenov, 2004). Further following the *Rule 2* we reach to the graph *G* in Fig. 4 for

$$\mathbf{Y} = \begin{bmatrix} \mathbf{G}\_1 & -\mathbf{G}\_1 & \mathbf{0} & \mathbf{0} \\ -\mathbf{G}\_1 & \mathbf{G}\_1 + \mathbf{G}\_2 & \mathbf{0} & -\mathbf{G}\_2 \\ \mathbf{0} & s\mathbf{C}\_3 & \mathbf{G}\_5 & \mathbf{0} \\ \mathbf{0} & -s\mathbf{C}\_3 & \mathbf{0} & -s\mathbf{C}\_4 \end{bmatrix};\tag{30}$$

$$\mathbf{V} = \begin{bmatrix} V\_1 & V\_2 = V\_3 = V\_{23} & V\_4 & V\_5 \end{bmatrix}; \mathbf{I} = \begin{bmatrix} I\_1 & \mathbf{0} & \mathbf{0} & \mathbf{0} \end{bmatrix}\_t.$$

Because *Y32=sC3; Y42= -sC3* and

$$\frac{\partial Y\_{32}}{\partial (sC\_3)} = 1; \; \frac{\partial Y\_{32}}{\partial (sC\_3)} = -1. \tag{31}$$

from (16) and (31) we have

$$\begin{aligned} \mathbf{K}\_3 &= \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & -1 & 0 & 0 \end{bmatrix}; \\ \mathbf{V}\_3 &= \mathbf{K}\_3 \mathbf{V} = \begin{bmatrix} 0 & 0 & V\_{23} & -V\_{23} \end{bmatrix}\_t \end{aligned} \tag{32}$$

Symbolic Determination of Jacobian and Hessian Matrices

and for the unique separation of the graph *G23* (Fig. 7):

Then the formulae (4) and (5) yield

Having in mind (26) ÷ (29) we have

Fig. 6. Separations *S1*, *S2* and *S3* of CM Graph *G*

Fig. 7. Separation *S23,1* of CM Graph *G23*

and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 237

1 1 4 5 1 2 ,1 ,1

*SP G sC G G G N N*

( ); 4; 0;

*a s*

23,1 1 1 4 5 ,23,1 ,23,1 ; 2; *SP J G sC G N N a s* (34)

33 3 ( ) **<sup>J</sup> YV Y V** (36)

(33)

. (35)

; 2; 1; : 2; 1

1 4

23 4 ( )

1 1

and following *Rule 2* one draws the CM graph *GJ3* (Fig. 8). Obviously, the graphs *G* and *GJ3* have one and the same structure and consequently the expressions (33) hold for the source vertex quantities in (29) also. But for the nominator polynomials in (4) we have to draw

according the *Rule 2* four new CM graphs – *GJ3,1, GJ3, 23, GJ3, 4* and *GJ3, 5* – Fig. 9.

*a s a s*

 

According to (4) and (5) for the separations of the graph *G* (Fig. 6) we obtain

*SP G sC G N N SP G sC G N N*

2 1 4 5 ,2 ,2 3 2 3 5 ,3 ,3

23

*J C <sup>V</sup> GC C*

2

Fig. 3. CM Signal-Flow Graph *G<sup>p</sup>*

Fig. 4. CM Signal-Flow Graph *G*

Obviously, in the case we have to find the voltage *V23* only. For this purpose a CM graph *G<sup>23</sup>* is drawn (Fig. 5).

Fig. 5. CM Signal-Flow Graph *G23* 

According to (4) and (5) for the separations of the graph *G* (Fig. 6) we obtain

$$\begin{aligned} SP\_1 &= -\mathbf{G}\_1 \mathbf{s} \mathbf{C}\_4 \mathbf{G}\_5 (\mathbf{G}\_1 + \mathbf{G}\_2); N\_{a,1} = \mathbf{4}; N\_{s,1} = \mathbf{0};\\ SP\_2 &= -\mathbf{G}\_1^2 \mathbf{s} \mathbf{C}\_4 \mathbf{G}\_5; N\_{a,2} = \mathbf{2}; N\_{s,2} = \mathbf{1};\\ SP\_3 &= \mathbf{G}\_2 \mathbf{s} \mathbf{C}\_3 \mathbf{G}\_5 : N\_{a,3} = \mathbf{2}; N\_{s,3} = \mathbf{1} \end{aligned} \tag{33}$$

and for the unique separation of the graph *G23* (Fig. 7):

$$SP\_{23,1} = f\_1 G\_1 \\ sC\_4 G\_5; N\_{a,23,1} = 2; N\_{s,23,1} \tag{34}$$

Then the formulae (4) and (5) yield

236 New Frontiers in Graph Theory

Obviously, in the case we have to find the voltage *V23* only. For this purpose a CM graph *G<sup>23</sup>*

Fig. 3. CM Signal-Flow Graph *G<sup>p</sup>*

Fig. 4. CM Signal-Flow Graph *G*

Fig. 5. CM Signal-Flow Graph *G23* 

is drawn (Fig. 5).

$$V\_{23} = \frac{f\_1 C\_4}{G\_2(C\_3 + C\_4)} \cdot \tag{35}$$

Having in mind (26) ÷ (29) we have

Fig. 6. Separations *S1*, *S2* and *S3* of CM Graph *G*

$$\mathbf{J}\_3 = -\mathbf{Y}^{-1}\mathbf{V}\_3 = \mathbf{Y}^{-1}(-\mathbf{V}\_3) \tag{36}$$

and following *Rule 2* one draws the CM graph *GJ3* (Fig. 8). Obviously, the graphs *G* and *GJ3* have one and the same structure and consequently the expressions (33) hold for the source vertex quantities in (29) also. But for the nominator polynomials in (4) we have to draw according the *Rule 2* four new CM graphs – *GJ3,1, GJ3, 23, GJ3, 4* and *GJ3, 5* – Fig. 9.

Fig. 7. Separation *S23,1* of CM Graph *G23*

Symbolic Determination of Jacobian and Hessian Matrices

Fig. 10. Separation *SJ3,1,1* of CM Graph *GJ3,1*

Fig. 11. Separation *SJ3,23,1* of CM Graph *GJ3,23*

and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 239

Fig. 9. CM Graphs *GJ3,1 ,GJ3,23, GJ3,4* and *GJ3,5*

Fig. 10. Separation *SJ3,1,1* of CM Graph *GJ3,1*

238 New Frontiers in Graph Theory

Fig. 8. CM Graph *GJ3* 

Fig. 9. CM Graphs *GJ3,1 ,GJ3,23, GJ3,4* and *GJ3,5*

Fig. 11. Separation *SJ3,23,1* of CM Graph *GJ3,23*

Symbolic Determination of Jacobian and Hessian Matrices

Fig. 13. Separations *SJ3,5,1 and SJ3,5,2* of CM Graph *GJ3,5*

3,4,3

1

2

2

*J*

*SP*

**5. Hessian matrix determination** 

or to an other parameter (for example *yt* ), too.

simultaneous changes of two parameters

3,1,1 1 2 5 23 , 3,1,1 3,1,1 3,23,1 1 2 5 23 , 3,23,1 3,23,1 3,4,1 1 1 2 4 23 , 3,4,1 3,4,1 3,4,2 1 2 3 23 , 3,4,2 , 3,4,2

 

1 4 23 , 3,4,3 , 3,4,3 3,4,4 1 2 3 23 , 3,4,4 , 3,4,4 3,5,1 1 1 2 5 23 , 3,5,1 , 3,5,1

*J a J J J a J J J a J J J a J s J*

*SP G G G V N Ns SP G G G V N Ns SP G G G sC V N Ns*

*SP G G sC V N N*

3,5,2 5 23 , 3,5,2 , 3,5,2

*J a J s J*

*SP G G V N N*

*J a J s J J a J s J*

*G sC V N N SP G G sC V N N SP G G G C V N N*

; 4; , 0;

( ) ; 4; , 0; ; 4; 0;

; 2; 1;

 

*a J s J*

Than by substituting (35) in (36) and by taking into consideration (33) from (4) and (5) we

1 4 1 4 1 4 1 4 3 22 22 2 3 4 2 3 4 25 3 4 2 3 4 ( )( ) ( )( ) *<sup>t</sup> J C J C J C J C GsC C GsC C GG C C GsC C* 

In many practical cases it is necessary and useful to find not only the first-order derivatives of a network function or variable (for example voltage *Vw*) among *n* variables with respect to some parameter (for example *ys*) but their second-order derivatives with respect to the same

The matrix formed from all possible second-order derivatives of *Vw* with respect to the

**J** (38)

( ) ; 4; 0; ; 2; 1;

; 4; , 1;

 

(37)

; 2; 1;

2

From Fig. 9 ÷ Fig. 13 it follows

obtain the vector **J***3*:

and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 241

Fig. 12. Separations *SJ3,4,1, SJ3,4,2, SJ3,4*,*3* and *SJ3,4,4* of CM Graph *GJ3,4*

Fig. 13. Separations *SJ3,5,1 and SJ3,5,2* of CM Graph *GJ3,5*

From Fig. 9 ÷ Fig. 13 it follows

240 New Frontiers in Graph Theory

Fig. 12. Separations *SJ3,4,1, SJ3,4,2, SJ3,4*,*3* and *SJ3,4,4* of CM Graph *GJ3,4*

3,1,1 1 2 5 23 , 3,1,1 3,1,1 3,23,1 1 2 5 23 , 3,23,1 3,23,1 3,4,1 1 1 2 4 23 , 3,4,1 3,4,1 3,4,2 1 2 3 23 , 3,4,2 , 3,4,2 3,4,3 ; 4; , 0; ; 4; , 1; ( ) ; 4; , 0; ; 4; 0; *J a J J J a J J J a J J J a J s J J SP G G G V N Ns SP G G G V N Ns SP G G G sC V N Ns SP G G sC V N N SP* 1 2 1 4 23 , 3,4,3 , 3,4,3 3,4,4 1 2 3 23 , 3,4,4 , 3,4,4 3,5,1 1 1 2 5 23 , 3,5,1 , 3,5,1 2 3,5,2 5 23 , 3,5,2 , 3,5,2 ; 2; 1; ; 2; 1; ( ) ; 4; 0; ; 2; 1; *a J s J J a J s J J a J s J J a J s J G sC V N N SP G G sC V N N SP G G G C V N N SP G G V N N* (37)

Than by substituting (35) in (36) and by taking into consideration (33) from (4) and (5) we obtain the vector **J***3*:

$$\mathbf{J}\_3 = \begin{bmatrix} \frac{I\_1 \mathbf{C\_4}}{\mathbf{G\_2s(\mathbf{C\_3} + \mathbf{C\_4})^2} & \frac{I\_1 \mathbf{C\_4}}{\mathbf{G\_2s(\mathbf{C\_3} + \mathbf{C\_4})^2} & \frac{I\_1 \mathbf{C\_4}^2}{\mathbf{G\_2} \mathbf{G\_5} (\mathbf{C\_3} + \mathbf{C\_4})^2} & \frac{I\_1 \mathbf{C\_4}}{\mathbf{G\_2s(\mathbf{C\_3} + \mathbf{C\_4})^2} \end{bmatrix}\_t \tag{38}$$

### **5. Hessian matrix determination**

In many practical cases it is necessary and useful to find not only the first-order derivatives of a network function or variable (for example voltage *Vw*) among *n* variables with respect to some parameter (for example *ys*) but their second-order derivatives with respect to the same or to an other parameter (for example *yt* ), too.

The matrix formed from all possible second-order derivatives of *Vw* with respect to the simultaneous changes of two parameters

Symbolic Determination of Jacobian and Hessian Matrices

expression of **K***st* in (42) is a sum of products of the kind

elements of **K***s,a* and **K***t,b* in (44), respectively.

11 12 1 1 21 22 2

*zz z zz z*

.

*n n*

i. Draw the CM graph *Gp* of the nullor network under consideration;

v. Determine the matrix **Y**-1 by using the auxiliary CM graph *G0*;

.

*n n nn*

*zz z*

1 2

After multiplying in (45) for **X** one follows

matrix **H***st* we can form the following:

compose the vectors **V** and **I**; iii. Determine the vector **V** from *G*; iv. Write the matrices **K***s* and **K***t*;

viii. Draw a CM graph *Gst* in accordance with **V***st*;

ix. Determine the elements of the vector

vi. Determine the matrix **K***st*; vii. Determine the matrix **V***st*;

us consider the equation

where

*Rule 3:* 

and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 243

where each of the matrices **K***s,a* and **K***t,b* has only one nonzero element. Then as a result the

The products in (44) are square matrices with only one nonzero element which is a definite element of **Y**-1. Let, for example, the nonzero element for the left-side matrix in (44) is on *i*-th row and on *j*-th column and the similar element for the right-side matrix is on *k*-th row and on *l*-th column. Then it is easy to see that the corresponding product in (44) contains the element *zu,v* ; *u, v Є{1, 2, …, n}* on *i*-th row and on *l*-th column, where *zu,v* is an element of **Y**-1. The upper (lower) sign of this element holds for equal (non equal) signs of nonzero

The matrix **Y**-1 can be evaluated by using an auxiliary CM graph *G0* too. For this purpose let

,, ,, and ; , . *sa tb tb sa a b* **K YK K YK** . (44)

<sup>1</sup> **X YE** , (45)

*n n t t*

*xx x ee e*

1 2 1 2

*n n n n*

 *yt* from *Gst*.

**X** . (47)

. ; . ; . . . ...

**Y XE** . (46)

... ...

...

11 1 12 2 1 21 1 22 2 2

*ze ze ze ze ze ze*

.

*n n nn n*

*ze ze ze*

This means that if the CM graph *G0* corresponds to (45) the multipliers of *e1, e2, …, en* for every element of **X** are elements of **Y**-1. Note that in real cases a limited number of the elements of **Y**-1 are necessary only. Hence for determination of an element of the Hessian

ii. Transform the graph *Gp* into the graph *G*, according to the *Rule 1* in section 2. and

 *<sup>2</sup>***V***/ ys*

11 22

 

1 1

$$\mathbf{H}\_{w} = \begin{bmatrix} \frac{\partial^2 V\_w}{\partial y\_1^2} & \frac{\partial^2 V\_w}{\partial y\_1 \partial y\_2} & \cdots & \frac{\partial^2 V\_w}{\partial y\_1 \partial y\_n} \\ \frac{\partial^2 V\_w}{\partial y\_2 \partial y\_1} & \frac{\partial^2 V\_w}{\partial y\_2^2} & \cdots & \frac{\partial^2 V\_w}{\partial y\_2 \partial y\_n} \\ \vdots & \ddots & \ddots \\ \frac{\partial^2 V\_w}{\partial y\_n \partial y\_1} & \frac{\partial^2 V\_w}{\partial y\_n \partial y\_2} & \cdots & \frac{\partial^2 V\_w}{\partial y\_n^2} \end{bmatrix} \tag{39}$$

is the Hessian matrix or briefly Hessian (Korn & Korn, 1968, Wilde, 1978). Obviously for a network one exists a variety of Hessian matrices – every one matrix corresponds to a definite network function or variable.

The results obtained in section 3. can be applied to the derivation of a Hessian matrix as it will be explained below. By differentiating the vector **J***s* in (27) with respect to the admittance *yt* one obtains

$$\begin{aligned} \frac{\partial \mathbf{J}\_s}{\partial y\_t} &= \frac{\partial^2 \mathbf{V}}{\partial y\_s \partial y\_t} = -\left[ \frac{\partial \mathbf{Y}^{-1}}{\partial y\_t} \mathbf{K}\_s \mathbf{Y}^{-1} + \mathbf{Y}^{-1} \frac{\partial}{\partial y\_t} \left( \mathbf{K}\_s \mathbf{Y}^{-1} \right) \right] \mathbf{I};\\ \mathbf{s}, t &\in \{1, 2, \dots, n\}. \end{aligned} \tag{40}$$

Because the elements in **Y** depend linearly on the network element admittances and their derivatives with respect to the parameter *ys* equal 1, -1 or 0 it holds

$$\frac{\partial \mathbf{K}\_s}{\partial \mathbf{y}\_t} = \mathbf{0}; \forall \mathbf{s}; \frac{\partial \mathbf{Y}}{\partial \mathbf{y}\_t} = \mathbf{K}\_t \tag{41}$$

and from (40) it follows

$$\begin{aligned} \frac{\partial^2 \mathbf{V}}{\partial y\_s \partial y\_t} &= \mathbf{Y}^{-1} \left( \mathbf{K}\_t \mathbf{Y}^{-1} \mathbf{K}\_s + \mathbf{K}\_s \mathbf{Y}^{-1} \mathbf{K}\_t \right) \mathbf{Y}^{-1} \mathbf{I} = \\ \mathbf{Y} &= \mathbf{Y}^{-1} \mathbf{K}\_{st} \mathbf{V} = \mathbf{Y}^{-1} \mathbf{V}\_{st}; \\ \mathbf{K}\_{st} &= \mathbf{K}\_t \mathbf{Y}^{-1} \mathbf{K}\_s + \mathbf{K}\_s \mathbf{Y}^{-1} \mathbf{K}\_t; \\ \mathbf{V}\_{st} &= \mathbf{K}\_{st} \mathbf{V}. \end{aligned} \tag{42}$$

The last result compared with the formulae (27) and (28) shows that we can find the vector *<sup>2</sup>***V***/ ys yt* in principle by using the same approach as for **V***/ ys* in section 3.

However here we must pay attention to the obtaining of the matrix **K***st*: In the common case the matrices **K***s* and **K***t* contain more than one nonzero element (1 or –1). Hence we can expressed each of them as a sum of no more then four addends

$$\mathbf{K}\_s = \sum\_a \mathbf{K}\_{s,a}; \; \mathbf{K}\_t = \sum\_b \mathbf{K}\_{t,b}; \; a, b \le 4 \; \prime \tag{43}$$

where each of the matrices **K***s,a* and **K***t,b* has only one nonzero element. Then as a result the expression of **K***st* in (42) is a sum of products of the kind

$$\mathbf{K}\_{s,a}\mathbf{Y}^{-1}\mathbf{K}\_{t,b} \text{ and } \mathbf{K}\_{t,b}\mathbf{Y}^{-1}\mathbf{K}\_{s,a} \text{; } \forall a,b. \text{ } \tag{44}$$

The products in (44) are square matrices with only one nonzero element which is a definite element of **Y**-1. Let, for example, the nonzero element for the left-side matrix in (44) is on *i*-th row and on *j*-th column and the similar element for the right-side matrix is on *k*-th row and on *l*-th column. Then it is easy to see that the corresponding product in (44) contains the element *zu,v* ; *u, v Є{1, 2, …, n}* on *i*-th row and on *l*-th column, where *zu,v* is an element of **Y**-1. The upper (lower) sign of this element holds for equal (non equal) signs of nonzero elements of **K***s,a* and **K***t,b* in (44), respectively.

The matrix **Y**-1 can be evaluated by using an auxiliary CM graph *G0* too. For this purpose let us consider the equation

$$\mathbf{X} = \mathbf{Y}^{-1} \mathbf{E}\_{\prime} \tag{45}$$

where

242 New Frontiers in Graph Theory

2

2 1

, {1,2,..., }.

derivatives with respect to the parameter *ys* equal 1, -1 or 0 it holds

*st n*

2

*s t*

*y y*

*st st*

**V KV**

definite network function or variable.

admittance *yt* one obtains

and from (40) it follows

 *<sup>2</sup>***V***/ ys* 22 2

1 12 1 22 2 2 2 1 2 2

*VV V y y y yy VV V y y y y y*

*ww w*

*ww w*

*ww w n n n*

...

...

...

22 2

*w n*

. ...

*VV V yy yy y*

1 2

is the Hessian matrix or briefly Hessian (Korn & Korn, 1968, Wilde, 1978). Obviously for a network one exists a variety of Hessian matrices – every one matrix corresponds to a

The results obtained in section 3. can be applied to the derivation of a Hessian matrix as it will be explained below. By differentiating the vector **J***s* in (27) with respect to the

**<sup>J</sup> V Y KY Y KY I**

Because the elements in **Y** depend linearly on the network element admittances and their

*t t*

 

**<sup>V</sup> Y KY K KY K Y I**

The last result compared with the formulae (27) and (28) shows that we can find the vector

However here we must pay attention to the obtaining of the matrix **K***st*: In the common case the matrices **K***s* and **K***t* contain more than one nonzero element (1 or –1). Hence we can

, , ; ; , 4 *s sa t tb*

*a b*

11 11

*t ss t*

;

*y y* **<sup>K</sup> <sup>K</sup> <sup>Y</sup>** 

1 1 ;

*s*

1 1

**Y KV Y V K KY K KY K**

*st st st t s s t*

.

 *yt* in principle by using the same approach as for

expressed each of them as a sum of no more then four addends

*<sup>s</sup> s s t st t <sup>t</sup> y yy y y*

2

s; ;0 (41)

 *ys* in section 3.

 **V***/*

**K KK K** *a b* , (43)

(40)

(42)

11 1 ;

*t*

**H** (39)

*n*

$$\mathbf{Y}^{-1} = \begin{bmatrix} z\_{11} & z\_{12} & \dots & z\_{1n} \\ z\_{21} & z\_{22} & \dots & z\_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ z\_{n1} & z\_{n2} & \dots & z\_{nn} \end{bmatrix}; \mathbf{X} = \begin{bmatrix} \mathbf{x}\_{1} & \mathbf{x}\_{2} & \dots & \mathbf{x}\_{n} \end{bmatrix}\_{l}; \mathbf{E} = \begin{bmatrix} e\_{1} & e\_{2} & \dots & e\_{n} \end{bmatrix}\_{l}. \tag{46}$$

After multiplying in (45) for **X** one follows

$$\mathbf{X} = \begin{bmatrix} z\_{11}e\_1 + z\_{12}e\_2 + \dots + z\_{1n}e\_n \\ z\_{21}e\_1 + z\_{22}e\_2 + \dots + z\_{2n}e\_n \\ \vdots \\ z\_{n1}e\_1 + z\_{n2}e\_2 + \dots + z\_{nn}e\_n \end{bmatrix} \tag{47}$$

This means that if the CM graph *G0* corresponds to (45) the multipliers of *e1, e2, …, en* for every element of **X** are elements of **Y**-1. Note that in real cases a limited number of the elements of **Y**-1 are necessary only. Hence for determination of an element of the Hessian matrix **H***st* we can form the following:

*Rule 3:* 


Symbolic Determination of Jacobian and Hessian Matrices

34

procedure we draw the graphs *G0,2* and *G0,4* - Fig. 16 and Fig. 17.

Fig. 15. The auxiliary CM graph *G*<sup>0</sup>

Fig. 16. The CM graph *G0,2*

and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 245

0 0 00 0 0 00 000 0 0

43 44 24

*zz z*

We can find the nonzero elements of **K***34* by using the auxiliary CM graph *G0* drawn in Fig. 15. By comparing (47) with (49) one settles we need only these addends of elements *x2* and *x4* in (47) that content the quantities *e4* and *e3, e4*, respectively. According to the Chan-Mai

24 44 43

*z z z sC C*

3 4 <sup>1</sup> ; 0 ( )

24

**K** . (49)

. (50)

*z*

Note that by following the above sequence we obtain *2n* elements of *n* Hessian matrices simultaneously, *because ∂2***V***/∂ys∂yt* =*∂2***V***/∂yt∂ys* – Fig. 14.

Fig. 14. A Set of *n* Hessian Matrices

#### **Example B**

Suppose that we want to determine the vector *<sup>2</sup>***V***/ (sC3) (sC4)* for the network *N* in Fig.2. Because the items **i**, **ii** and **iii** of the *Rule 3* were fulfilled in the **Example A** we have to continue further: Here the matrices **K**3 and **K***4* are

$$\begin{aligned} \mathbf{K}\_{31} &= \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{bmatrix}; \mathbf{K}\_{32} = \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & -1 & 0 & 0 \end{bmatrix}; \\ \mathbf{K}\_{3} &= \mathbf{K}\_{31} + \mathbf{K}\_{32}; \ \mathbf{K}\_{4} = \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & -1 \end{bmatrix} \end{aligned} \tag{48}$$

and from (42) ÷ (46) it follows

$$\mathbf{K}\_{34} = \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & -z\_{24} \\ 0 & -z\_{43} + z\_{44} & 0 & z\_{24} \end{bmatrix} . \tag{49}$$

We can find the nonzero elements of **K***34* by using the auxiliary CM graph *G0* drawn in Fig. 15. By comparing (47) with (49) one settles we need only these addends of elements *x2* and *x4* in (47) that content the quantities *e4* and *e3, e4*, respectively. According to the Chan-Mai procedure we draw the graphs *G0,2* and *G0,4* - Fig. 16 and Fig. 17.

$$z\_{24} = z\_{44} = -\frac{1}{s(\mathcal{C}\_3 + \mathcal{C}\_4)}; z\_{43} = 0 \; . \tag{50}$$

Fig. 15. The auxiliary CM graph *G*<sup>0</sup>

244 New Frontiers in Graph Theory

Note that by following the above sequence we obtain *2n* elements of *n* Hessian matrices

 *<sup>2</sup>***V***/ (sC3)*

Because the items **i**, **ii** and **iii** of the *Rule 3* were fulfilled in the **Example A** we have to

0000 0 0 00 0000 0 0 00 ; ; 0100 0 0 00 0000 0 100

 

> 000 0 000 0

000 1

; 000 0

31 32

**K K**

3 31 32 4

**KK K K**

 *(sC4)* for the network *N* in Fig.2.

(48)

simultaneously, *because ∂2***V***/∂ys∂yt* =*∂2***V***/∂yt∂ys* – Fig. 14.

Fig. 14. A Set of *n* Hessian Matrices

and from (42) ÷ (46) it follows

Suppose that we want to determine the vector

continue further: Here the matrices **K**3 and **K***4* are

**Example B** 

Fig. 16. The CM graph *G0,2*

Symbolic Determination of Jacobian and Hessian Matrices

Fig. 19. Separations *S0,4,1*, *S0,4,2* and *S0,4,3* of CM graph *G0,4*

Now we return to (42) and (49) and obtain

1 1 0 0

,34,4,2 1 2 3

23 5

2 5

*<sup>V</sup> SP G G sC*

*H*

*z z*

34 34 34 34

23 5 ,34,1,1 1 2 5 , 3,1,1 3,1,1 3 4 23 5 ,34,23,1 1 2 5 , 3,23,1 3,23,1 3 4

*V V SP G G G N Ns sC C V V SP G G G <sup>N</sup> Ns sC C*

*H a J J*

*H a J J*

and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 247

24 44 43 3 4 <sup>1</sup> ; z 0 ( )

*sC C* 

0000 0 0000 0

<sup>1</sup> <sup>000</sup> ; ( ) ( )

 **K V KV K** . (54)

> 5 ,34,4,1 1 1 2 4 , 3,4,1 3,4,1 3 4

*<sup>V</sup> N N*

*sC C*

23 5

 

( ) ; 4 ( )

*sC C*

3 4

*H a J J*

*<sup>V</sup> SP G G G sC N Ns*

3 4

*H a J s J*

*sC C <sup>V</sup> SP G sC N N sC C <sup>V</sup> SP G G sC N N sC C*

,34,5,1 1 1 2 5 , 3,5,1

*H a J s J*

,34,5,2 5 , 3,5,2 , 3,5,2 3 4

*H a J*

*V V SP G G N N sC C*

*V V SP G G G C <sup>N</sup>*

2 23 5

1

*H a J s J*

,34,4,3 1 4 , 3,4,3 , 3,4,3 3 4 5 ,34,4,4 1 2 3 , 3,4,4 , 3,4,4 3 4

34 34 3 4

; 4; , 0; ( )

; 4; , 1; ( )

( ) ; 4; , 0; ( )

; 4; 0; ( )

*a J s J*

; 2; 1; ( )

; 2; 1; ( )

; 2; 1; ( )

, 3,4,2 , 3,4,2

() () ( )

*sC C sC C sC C*

. (53)

1

, 3,5,1

*s J*

*N*

; 0;

*V*

3 4 4 3 4

*sC C V sC C*

23 5

*V V*

5 23 5

 

. (55)

*V VV*

Fig. 17. The CM graph *G0,4*

From Fig. 18 ÷ Fig. 19 we obtain the products

$$\begin{aligned} SP\_{0,2,1} &= -\mathbf{G}\_1 \mathbf{s} \mathbf{C}\_4 \mathbf{G}\_5 \mathbf{e}\_2; \; N\_{a,0,2,1} = \mathbf{4}; N\_{s,0,2,1} = \mathbf{0};\\ SP\_{0,2,2} &= \mathbf{G}\_1 \mathbf{s} \mathbf{C}\_4 \mathbf{G}\_5 \mathbf{e}\_1; \; N\_{a,0,2,2} = \mathbf{2}; N\_{s,0,2,2} = \mathbf{1};\\ SP\_{0,2,3} &= -\mathbf{G}\_1 \mathbf{G}\_2 \mathbf{G}\_5 \mathbf{e}\_4; \; N\_{a,0,2,3} = \mathbf{2}; N\_{s,0,2,3} = \mathbf{1};\\ SP\_{0,4,1} &= \mathbf{G}\_1 (\mathbf{G}\_1 + \mathbf{G}\_2) \mathbf{G}\_5 \mathbf{e}\_4; \; N\_{a,0,4,1} = \mathbf{4}; N\_{s,0,4,1} = \mathbf{0};\\ SP\_{0,4,2} &= \mathbf{G}\_1^2 \mathbf{G}\_5 \mathbf{e}\_4; \; N\_{a,0,4,2} = \mathbf{2}; N\_{s,0,4,2} = \mathbf{1};\\ SP\_{0,4,3} &= -\mathbf{G}\_1 \mathbf{s} \mathbf{C}\_3 \mathbf{G}\_5 \mathbf{e}\_2; \; N\_{a,0,4,3} = \mathbf{2}; N\_{s,0,4,3} = \mathbf{1};\end{aligned} \tag{51}$$

Note that with the exception of the sink and source quantities the graph *G0* is isomorphic to the graph *G* in Fig. 4. That is why the expressions (33) remain valid for the denominator in (4) also. Than for the elements of the vector (47) from (51) and (33) it follows:

$$\begin{aligned} \chi\_2 &= \frac{\mathbf{G}\_1 \mathbf{s} \mathbf{C}\_4 \mathbf{G}\_5 \mathbf{e}\_1 + \mathbf{G}\_1 \mathbf{s} \mathbf{C}\_4 \mathbf{G}\_5 \mathbf{e}\_2 - \mathbf{G}\_1 \mathbf{G}\_2 \mathbf{G}\_5 \mathbf{e}\_4}{\mathbf{G}\_1 \mathbf{G}\_2 \mathbf{G}\_5 \mathbf{s} (\mathbf{C}\_3 + \mathbf{C}\_4)}; \\ \chi\_4 &= \frac{-\mathbf{G}\_1 \mathbf{s} \mathbf{C}\_3 \mathbf{G}\_5 \mathbf{e}\_2 - \mathbf{G}\_1 \mathbf{G}\_2 \mathbf{G}\_5 \mathbf{e}\_4}{\mathbf{G}\_1 \mathbf{G}\_2 \mathbf{G}\_5 \mathbf{s} (\mathbf{C}\_3 + \mathbf{C}\_4)} \end{aligned} \tag{52}$$

or taking into consideration (46) and (47)

Fig. 18. Separations *S0,2,1*, *S0,2,2* and *S0,2,3* of CM graph *G0,2* 

Fig. 19. Separations *S0,4,1*, *S0,4,2* and *S0,4,3* of CM graph *G0,4*

$$z\_{24} = z\_{44} = -\frac{1}{s(\mathcal{C}\_3 + \mathcal{C}\_4)} ; \; z\_{43} = 0 \left\{ \right. \tag{53}$$

Now we return to (42) and (49) and obtain

246 New Frontiers in Graph Theory

021 1 4 5 2 021 021 022 1 4 5 1 022 022 023 1 2 5 4 023 023 041 1 1 2 5 4 041 041

*SP G sC G e N ; N SP G sC G e N ; N SP G G G e N ; N SP G G G G e N ; N*

*, , a, , , s, , , , , a, , , s, , , , , a, , , s, , , , , a, , , s, , ,*

 

; 2

 0 4,2 0 4 3 1 3 5 2 0 4,3 0 4,3

*, , a, , s, ,*

*SP G sC G e N ; N*

(4) also. Than for the elements of the vector (47) from (51) and (33) it follows:

; 4 0; ; 2 1; ; 2 1; ( ) ; 4 0;

> ; 2 1; *s, ,*

> > ; ( )

*; N*

Note that with the exception of the sink and source quantities the graph *G0* is isomorphic to the graph *G* in Fig. 4. That is why the expressions (33) remain valid for the denominator in

1 4 51 1 4 52 1 2 54

*G sC G e G sC G e G G G e*

*GGGsC C*

125 3 4

( )

1 3 52 1 2 54

125 3 4

*GGGsC C*

*G sC G e G G G e*

1;

 

. (51)

(52)

2 0 4 2 1 5 4 0 4,2

*SP G G e N*

2

*x*

4

Fig. 18. Separations *S0,2,1*, *S0,2,2* and *S0,2,3* of CM graph *G0,2* 

*x*

or taking into consideration (46) and (47)

*, , a, ,*

Fig. 17. The CM graph *G0,4*

From Fig. 18 ÷ Fig. 19 we obtain the products

$$\mathbf{K}\_{34} = \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & \frac{1}{s(\mathbf{C}\_3 + \mathbf{C}\_4)} \\ 0 & -\frac{1}{s(\mathbf{C}\_3 + \mathbf{C}\_4)} & 0 & -\frac{1}{s(\mathbf{C}\_3 + \mathbf{C}\_4)} \end{bmatrix}; \quad \mathbf{V}\_{34} = \mathbf{K}\_{34}\mathbf{V} = \mathbf{K}\_{34} \begin{bmatrix} V\_1 \\ V\_2 \\ V\_3 \\ V\_4 \\ V\_5 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ \frac{V\_5}{s(\mathbf{C}\_3 + \mathbf{C}\_4)} \\ -\frac{V\_2 + V\_5}{s(\mathbf{C}\_3 + \mathbf{C}\_4)} \end{bmatrix}. \tag{54}$$

23 5 ,34,1,1 1 2 5 , 3,1,1 3,1,1 3 4 23 5 ,34,23,1 1 2 5 , 3,23,1 3,23,1 3 4 5 ,34,4,1 1 1 2 4 , 3,4,1 3,4,1 3 4 ,34,4,2 1 2 3 ; 4; , 0; ( ) ; 4; , 1; ( ) ( ) ; 4; , 0; ( ) *H a J J H a J J H a J J H V V SP G G G N Ns sC C V V SP G G G <sup>N</sup> Ns sC C <sup>V</sup> SP G G G sC N Ns sC C <sup>V</sup> SP G G sC* 23 5 , 3,4,2 , 3,4,2 3 4 2 5 ,34,4,3 1 4 , 3,4,3 , 3,4,3 3 4 5 ,34,4,4 1 2 3 , 3,4,4 , 3,4,4 3 4 23 5 ,34,5,1 1 1 2 5 , 3,5,1 3 4 ; 4; 0; ( ) ; 2; 1; ( ) ; 2; 1; ( ) ( ) ; 4 ( ) *a J s J H a J s J H a J s J H a J <sup>V</sup> N N sC C <sup>V</sup> SP G sC N N sC C <sup>V</sup> SP G G sC N N sC C V V SP G G G C <sup>N</sup> sC C* 1 , 3,5,1 2 23 5 ,34,5,2 5 , 3,5,2 , 3,5,2 3 4 ; 0; ; 2; 1; ( ) *s J H a J s J N V V SP G G N N sC C* . (55)

Symbolic Determination of Jacobian and Hessian Matrices

Lin, 1975)

and

and

element parameters.

where i є {1, 2, …, n} .

**6. First and second-order quadratic sensitivity sums** 

and Sensitivities of Active Linear Networks by Using Chan-Mai Signal-Flow Graphs 249

The sensitivity is an important parameter for the evaluation of practical suitability of electrical networks. For this purpose usually one uses the first-order sensitivity and the second-order sensitivity, defined by the well known formulae (Cederbaum, 1984; Chua &

> . *<sup>F</sup> x F x <sup>S</sup> x F*

2 , . *<sup>F</sup> x y*

respectively and where *F* is a network function or variable and *x, y* are changeable network

Obviously, the derivatives in these expressions can be determined according to the above described method based on Chan-Mai signal-flow graphs. Besides very often we are

> <sup>2</sup> () . *Fi <sup>i</sup> <sup>x</sup> i i i <sup>F</sup> <sup>x</sup> <sup>S</sup>*

2

(60)

, (61)

*x F*

<sup>2</sup> <sup>2</sup>

*xy F*

interested in a global index as a quadratic sum of sensitivities (first- or second-order):

2 , () . *Fi <sup>i</sup>*

*i i i <sup>F</sup> xy <sup>S</sup>*

Without loss of generality further we assume that the functions *Fi* are the elements of the voltage vector **V.** Then the sum (60) can be derived with the help of the expressions of the

> 2 2 12 ,

{ , , ..., , ..., }

1, 2, , , , ... ... ; *<sup>i</sup>*

*<sup>V</sup> hh h h h*

*diag V V V V*

*i n*

**h** (63)

 

**<sup>M</sup>** . (62)

2

*x y*

() ( );

**JM J**

*x it i*

1 2

*xy xy xy i xy n xy i xy <sup>t</sup>*

*x y*

corresponding Jacobian matrix subvectors **J***i* and of the voltage vector **V**:

*Vi*

If from the elements of the Hessian matrices **H***i* one forms the vector

*S x*

*i*

*<sup>F</sup> xy <sup>S</sup> x y F*

; (58)

, (59)

In order to determine the second derivatives of the vector *<sup>2</sup>***V***/ (sC3) (sC4)* and having in mind (42) one draws the CM graph *GH,<sup>34</sup>* shown in Fig. 20. In the case we have a simplification of the analysis on the base of the graph *GH,34* because the substantial difference between *GH,34* and *GJ3* consists in the sink and source vertex signal expressions – instead of –*V23* and *V23* in *GJ3* the corresponding signals in *GH,34* are *V5 /s(C3+C4)* and - *(V23*+*V5) /s(C3+C4)*. Owing to this peculiarity further we use directly (37) after substituting sink vertex signals, namely:

Fig. 20. CM Graph *GH,34*

The voltage *V5* can be find similarly to *V23* from CM graph *G* and it is**:** 

$$V\_{\mathfrak{F}} = -\frac{\mathsf{C}\_3 f\_1}{s(\mathsf{C}\_3 + \mathsf{C}\_4)}.\tag{56}$$

Then by using (33), (35), (55) and (56) one obtains the vector

$$\frac{\partial^2 \mathbf{V}}{\partial \text{(sC}\_3\text{)} \partial \text{(sC}\_4\text{)}} = \begin{bmatrix} \frac{I\_1 \text{(C}\_4 - \text{C}\_3)}{\text{G}\_2 \text{s}^2 \text{(C}\_3 + \text{C}\_4)^3} & \frac{I\_1 \text{(C}\_4 - \text{C}\_3)}{\text{G}\_2 \text{s}^2 \text{(C}\_3 + \text{C}\_4)^3} & -2 \frac{I\_1 \text{C}\_3 \text{C}\_4}{\text{s} \text{G}\_2 \text{G}\_5 \text{(C}\_3 + \text{C}\_4)^3} & \frac{I\_1 \text{(C}\_4 - \text{C}\_3)}{\text{G}\_2 \text{s}^2 \text{(C}\_3 + \text{C}\_4)^3} \end{bmatrix}\_t, \text{(57)}$$

Its elements are a part of elements in the Hessian matrices **H**1, **H**23, **H**<sup>4</sup> and **H**5 with respect to the admittances *sC3* and *sC4*.

### **6. First and second-order quadratic sensitivity sums**

The sensitivity is an important parameter for the evaluation of practical suitability of electrical networks. For this purpose usually one uses the first-order sensitivity and the second-order sensitivity, defined by the well known formulae (Cederbaum, 1984; Chua & Lin, 1975)

$$S\_{\mathbf{x}}^{F} = \frac{\partial F}{\partial \mathbf{x}} \cdot \frac{\mathbf{x}}{F},\tag{58}$$

and

248 New Frontiers in Graph Theory

mind (42) one draws the CM graph *GH,<sup>34</sup>* shown in Fig. 20. In the case we have a simplification of the analysis on the base of the graph *GH,34* because the substantial difference between *GH,34* and *GJ3* consists in the sink and source vertex signal expressions – instead of –*V23* and *V23* in *GJ3* the corresponding signals in *GH,34* are *V5 /s(C3+C4)* and - *(V23*+*V5) /s(C3+C4)*. Owing to this peculiarity further we use directly (37) after substituting

 *<sup>2</sup>***V***/ (sC3)*

 *(sC4)* and having in

In order to determine the second derivatives of the vector

sink vertex signals, namely:

Fig. 20. CM Graph *GH,34*

2

the admittances *sC3* and *sC4*.

The voltage *V5* can be find similarly to *V23* from CM graph *G* and it is**:** 

Then by using (33), (35), (55) and (56) one obtains the vector

5

*C J <sup>V</sup>*

3 4 2 3 4 2 3 4 25 3 4 2 3 4

*sC sC G s C C G s C C sG G C C G s C C* 

( )( ) () () () () *<sup>t</sup>*

Its elements are a part of elements in the Hessian matrices **H**1, **H**23, **H**<sup>4</sup> and **H**5 with respect to

3 1

*sC C* . (56)

3 4 ( )

14 3 14 3 134 1 4 3 2 32 3 32 3

*J C C J C C JCC J C C*

**<sup>V</sup>** , (57)

() () ( ) <sup>2</sup>

$$S\_{x,y}^F = \frac{\hat{\mathcal{C}}^2 \mathcal{F}}{\hat{\mathcal{C}} \mathbf{x} \hat{\mathcal{O}} y} \frac{\mathbf{x} y}{\mathbf{F}} \tag{59}$$

respectively and where *F* is a network function or variable and *x, y* are changeable network element parameters.

Obviously, the derivatives in these expressions can be determined according to the above described method based on Chan-Mai signal-flow graphs. Besides very often we are interested in a global index as a quadratic sum of sensitivities (first- or second-order):

$$\sum\_{i} (S\_x^{F\_i})^2 = \sum\_{i} \left(\frac{\partial F\_i}{\partial x}, \frac{x}{F\_i}\right)^2 \tag{60}$$

and

$$\sum\_{i} \left( S\_{x,y}^{F\_i} \right)^2 = \sum\_{i} \left( \frac{\hat{\sigma}^2 F\_i}{\hat{\sigma} \mathbf{x} \hat{\sigma} y}, \frac{\mathbf{x} y}{F\_i} \right)^2,\tag{61}$$

where i є {1, 2, …, n} .

Without loss of generality further we assume that the functions *Fi* are the elements of the voltage vector **V.** Then the sum (60) can be derived with the help of the expressions of the corresponding Jacobian matrix subvectors **J***i* and of the voltage vector **V**:

$$\begin{aligned} \left(\sum\_{i} (\mathbf{S}\_{x}^{V\_{i}})^{2} = \mathbf{x}^{2} \mathbf{J}\_{i,t} (\mathbf{M}^{-1})^{2} \mathbf{J}\_{i}; \\ \mathbf{M} = \text{diag} \{ V\_{1}, \ V\_{2}, \ \dots, \ V\_{i}, \ \dots, V\_{n} \} \right) . \end{aligned} \tag{62}$$

If from the elements of the Hessian matrices **H***i* one forms the vector

$$\mathbf{h}\_{xy} = \begin{bmatrix} h\_{1,xy} & h\_{2,xy} & \dots & h\_{i,xy} & \dots & h\_{n,xy} \end{bmatrix}\_t; \ h\_{i,xy} = \frac{\partial^2 V\_i}{\partial x \partial y} \tag{63}$$

**12** 

**Application of the Graph Theory in Managing** 

Electrical power system is one of the largest and most crucial engineering systems which spreads everywhere in countries to supply electricity for hundreds of millions of consumers from hundreds of thousands of producers. In its more than one century history, the development of the power system proceeded through evolutional stages from local isolated networks with small-scale load and generation to large interconnected networks with myriads of consumers vertically fed by centralized generation, such as coal, hydro, or nuclear power plants. System stability and reliability have been continuously improved

Nowadays, the society not only demands a high level of reliability of electricity supply but also concerns with the environmental impacts from the electrical power system. To achieve a reliable and sustainable electricity supply, there is an increasing need to use energy from renewable sources such as wind, solar, or biomass. The development of many intermittent and inverter-connected Renewable Energy Sources (RES) will require having new ways of planning, operating, and managing the entire process. In other words, the power system is

Due to the expected large-scale deployment of distributed generation (DG), the electrical power system is changing gradually from a vertically controlled and operated structure to a horizontally one. Fig. 1 illustrates one of the expected changes in the power system with the large penetration of DG. The integration of RES related to both large-scale production (e.g., wind and solar farms) and massively distributed production (e.g., micro combined heat and power plants and photovoltaic systems at residential and tertiary buildings) causes a number of challenges in fluctuating/unpredictable and bidirectional power flows in distribution networks. Future electrical power systems must be able to manage these bidirectional power flows, and has to deal with the uncertainties of renewable power generation. Power flow management will be needed in order to cope with these

**1. Introduction** 

along this development of the power systems.

moving into a new development era.

challenges.

**Power Flows in Future Electric Networks** 

P. H. Nguyen1, W. L. Kling1, G. Georgiadis2,

*1Eindhoven University of Technology, 2Chalmers University of Technology,* 

*1The Netherlands* 

*2Sweden* 

M. Papatriantafilou2, L. A. Tuan2 and L. Bertling2

the sum (61) can be rewritten as

$$\sum\_{i} (S\_{xy}^{\vee\_i})^2 = \mathbf{x}^2 y^2 \mathbf{h}\_{i,t} (\mathbf{M}^{-1})^2 \mathbf{h}\_i \tag{64}$$

### **7. Conclusions**

A topological method for obtaining the Jacobian and Hessian matrices and their use for quadratic first- or second-order sensitivity sums calculation of active networks is presented. It is based on the replacement of the investigated network *N* by using a nullor equivalent circuit and on the representation of the circuit passive part *Np* by a Chan-Mai signal-flow graph *Gp*. The Jacobian and the Hessian matrix elements of the nullor network can be obtained by means of the some dependent variables of some Chan-Mai graphs derived from *G*. The substantial advantage of the method consists in the use mainly of isomorphic graphs. Two examples illustrate the proposed method.

### **8. Acknowledgement**

The author would like to thank Higher School of Transport "Todor Kableshkov", Sofia, Bulgaria for the financial support for the publishing this work.

### **9. References**


Korn, G., A., Korn, T.M. (1968). "*Mathematical Handbook"*, Mc Graw-Hill Co. New York. 1968

Nenov, G. A. (2004). "Evaluation of Nullor Nertwork Jacobian Matrix by using Chan-Mai Signal-Flow Graphs", *Proceedings of the SMACD'04*, Wroclaw, 2004, Poland, pp. 79- 82

Wilde, D.J. (1978). *"Globally Optimal Design"*, John Wiley & Sons, New York, 1978

## **Application of the Graph Theory in Managing Power Flows in Future Electric Networks**

P. H. Nguyen1, W. L. Kling1, G. Georgiadis2, M. Papatriantafilou2, L. A. Tuan2 and L. Bertling2 *1Eindhoven University of Technology, 2Chalmers University of Technology, 1The Netherlands 2Sweden* 

### **1. Introduction**

250 New Frontiers in Graph Theory

2 2 2 12 , () ( ) *Vi xy i t i*

A topological method for obtaining the Jacobian and Hessian matrices and their use for quadratic first- or second-order sensitivity sums calculation of active networks is presented. It is based on the replacement of the investigated network *N* by using a nullor equivalent circuit and on the representation of the circuit passive part *Np* by a Chan-Mai signal-flow graph *Gp*. The Jacobian and the Hessian matrix elements of the nullor network can be obtained by means of the some dependent variables of some Chan-Mai graphs derived from *G*. The substantial advantage of the method consists in the use mainly of isomorphic graphs.

The author would like to thank Higher School of Transport "Todor Kableshkov", Sofia,

Cederbaum, I. (1984). "Some Applications of Graph Theory to Network Analysis and Synthesis", *IEEE Tr. on Circuits and Systems,* vol. CAS-31, 1, 1984, pp. 64-68 Chan, S.P., Mai, H.N. (1967). "A Flow-Graph Method for the Analysis of Linear Systems",

Chua, L.O., Lin, P.-M. (1975). *"Computer-Aided Analysis of Electronic Circuits"*, Prentice-Hall

Davies, A. C. (1966). "Matrix Analysis of Network Containing Nullators and Norators",

Donevsky, B.D., Nenov,G.A. (1979). *"Application of Graphs for the Analysis and Synthesis of* 

Korn, G., A., Korn, T.M. (1968). "*Mathematical Handbook"*, Mc Graw-Hill Co. New York. 1968 Nenov, G. A. (2004). "Evaluation of Nullor Nertwork Jacobian Matrix by using Chan-Mai

Signal-Flow Graphs", *Proceedings of the SMACD'04*, Wroclaw, 2004, Poland, pp. 79-

*Electronic Circuits"*, "Technica", Sofia, 1979 (in Bulgarian)

Wilde, D.J. (1978). *"Globally Optimal Design"*, John Wiley & Sons, New York, 1978

*S xy* **hM h** . (64)

*i*

the sum (61) can be rewritten as

Two examples illustrate the proposed method.

Bulgaria for the financial support for the publishing this work.

*IEEE Tr. on Circuit Theory*, 9, 1967, pp. 350-354

Inc. Englewood Clifs, New Jersey, 1975

*Electronics Letters*, vol. 2, ,2, 1966, pp. 48 -49

**7. Conclusions** 

**8. Acknowledgement** 

**9. References** 

82

Electrical power system is one of the largest and most crucial engineering systems which spreads everywhere in countries to supply electricity for hundreds of millions of consumers from hundreds of thousands of producers. In its more than one century history, the development of the power system proceeded through evolutional stages from local isolated networks with small-scale load and generation to large interconnected networks with myriads of consumers vertically fed by centralized generation, such as coal, hydro, or nuclear power plants. System stability and reliability have been continuously improved along this development of the power systems.

Nowadays, the society not only demands a high level of reliability of electricity supply but also concerns with the environmental impacts from the electrical power system. To achieve a reliable and sustainable electricity supply, there is an increasing need to use energy from renewable sources such as wind, solar, or biomass. The development of many intermittent and inverter-connected Renewable Energy Sources (RES) will require having new ways of planning, operating, and managing the entire process. In other words, the power system is moving into a new development era.

Due to the expected large-scale deployment of distributed generation (DG), the electrical power system is changing gradually from a vertically controlled and operated structure to a horizontally one. Fig. 1 illustrates one of the expected changes in the power system with the large penetration of DG. The integration of RES related to both large-scale production (e.g., wind and solar farms) and massively distributed production (e.g., micro combined heat and power plants and photovoltaic systems at residential and tertiary buildings) causes a number of challenges in fluctuating/unpredictable and bidirectional power flows in distribution networks. Future electrical power systems must be able to manage these bidirectional power flows, and has to deal with the uncertainties of renewable power generation. Power flow management will be needed in order to cope with these challenges.

Application of the Graph Theory in Managing Power Flows in Future Electric Networks 253

distributed OPF techniques have been proposed, they need complex input information and take relatively long processing times (Kim & Baldick, 2000). Along with OPF, stability constraints and congestion problems can implicitly be investigated (Gan et al., 2000; Bompard et al., 2003). However, those procedures are most suitable for the transmission networks which have a limited number of network components, e.g., generators,

Since the electric networks of the future are expected to include numerous DGs dispersed over wide areas, other solutions for power flow management must be founded. A pricebased control method, which can also be considered as a distributed OPF solution, has been proposed for systems with high level of DG penetration (Jokic, 2007). By converting the power system parameters into desired market signals, the solution yields nodal prices for generators that help to mitigate the network congestion problem and also contribute to other so called ancillary services. This can be presented in a mathematical model as follows:

�� � ��

�� � ��

and *Ai* are the generated power and the provided ancillary service respectively in the

network *i*; the equality constraint represents for power balance; the upper bound condition denotes requirements of ancillary services while the lower bound condition shows the

The method, however, concerns only the supply and demand of the system in which actors can be influenced by price signals. Other controllable devices of the system, e.g., electronicbased power flow controllers, are not considered. In (Dolan et al., 2009), the power flow management is represented as constraint satisfaction. Algorithms in that research determine the level of DG curtailment because of loading constraints in a small test network. Based on a local information network, a distributed two-level control scheme was proposed to adjust power output from clusters of photovoltaic (PV) generators when disturbances occur (Xin et

The function of distributed power routing is to fully exploit the potential of the local resources in managing the power flow. The function deals with transport optimization related to the actual load and generation schedules of the market parties. Price signals yielded by the market clearing conditions can be used as an input for the routing algorithms to achieve certain operational objectives, e.g., relief of network congestion, maximization of

**3. Power routing – A new way for power flow management** 

��� ��� �� ��) �

��) is the aggregated cost function of an autonoumous network part *i*; *Pi*

�� present the generation and services coming from outside of the

��� (4)

�(��� ��)≤0 (7)

���� = 0 (5)

��� ≥ 0 (6)

transmission lines, and substations.

subject to:

where �(��� ��

al., 2011).

network *i*, and ��

Minimize ∑ �(��� ��

�� � ��

�� � ��

�� and ��

operational limits of network components.

��� ��� ��

Fig. 1. Past and future situation of the power system

In this chapter, applications of the graph theory to handle the function of power flow management will be introduced. Detail descriptions of these methods can be found in (Nguyen et al., 2010(a); Nguyen et al., 2010(b)).

### **2. Power flow management**

The use of the Optimal Power Flow (OPF) framework is a common practice for managing power flow within the electric transmission network, where the algorithm is centralized and deployed at the economic dispatch stage (Huneault & Galiana, 1991). The mathematical model of the OPF problem can be presented as follows:

$$\text{Minimize } f(\mathbf{x}, \mathbf{u}) \tag{1}$$

subject to:

$$g(\mathbf{x}, \mathbf{u}) = \mathbf{0} \tag{2}$$

$$h(x,u) \le 0\tag{3}$$

where �(�� �) is the objective function that can be formulated to represent different operational goals, e.g., minimization of total power production cost or total power loss. The vector of independent variables *u* represents the state of the system, i.e., the phase angles and voltage magnitudes. The vector of dependent variables *x* represents the control variables, for example, power generations or tap ratios of On-Load Tap Changer (OLTC) of transformers. The equality constraint represents the power balance between supply and demand while the inequality constraint shows the operational limits of the network components.

The OPF requires a large-scale control overview of the whole network that is difficult to implement in the future situation with high penetrations of DG units. Although some distributed OPF techniques have been proposed, they need complex input information and take relatively long processing times (Kim & Baldick, 2000). Along with OPF, stability constraints and congestion problems can implicitly be investigated (Gan et al., 2000; Bompard et al., 2003). However, those procedures are most suitable for the transmission networks which have a limited number of network components, e.g., generators, transmission lines, and substations.

Since the electric networks of the future are expected to include numerous DGs dispersed over wide areas, other solutions for power flow management must be founded. A pricebased control method, which can also be considered as a distributed OPF solution, has been proposed for systems with high level of DG penetration (Jokic, 2007). By converting the power system parameters into desired market signals, the solution yields nodal prices for generators that help to mitigate the network congestion problem and also contribute to other so called ancillary services. This can be presented in a mathematical model as follows:

$$\text{Minimize } \begin{array}{c} \sum\_{l=1}^{n} f\left(P\_l, P\_l^{\text{ex}}, A\_l, A\_l^{\text{ex}}\right) \end{array} \tag{4}$$

subject to:

252 New Frontiers in Graph Theory

In this chapter, applications of the graph theory to handle the function of power flow management will be introduced. Detail descriptions of these methods can be found in

The use of the Optimal Power Flow (OPF) framework is a common practice for managing power flow within the electric transmission network, where the algorithm is centralized and deployed at the economic dispatch stage (Huneault & Galiana, 1991). The mathematical

Minimize���(�� �) (1)

where �(�� �) is the objective function that can be formulated to represent different operational goals, e.g., minimization of total power production cost or total power loss. The vector of independent variables *u* represents the state of the system, i.e., the phase angles and voltage magnitudes. The vector of dependent variables *x* represents the control variables, for example, power generations or tap ratios of On-Load Tap Changer (OLTC) of transformers. The equality constraint represents the power balance between supply and demand while the inequality

The OPF requires a large-scale control overview of the whole network that is difficult to implement in the future situation with high penetrations of DG units. Although some

�(�� �) = 0 (2)

ℎ(�� �) ≤ 0 (3)

Transmission

Distribution

Consumption

subject to:

Fig. 1. Past and future situation of the power system

model of the OPF problem can be presented as follows:

constraint shows the operational limits of the network components.

(Nguyen et al., 2010(a); Nguyen et al., 2010(b)).

**2. Power flow management** 

$$P\_l - P\_l^{ex} - P\_l^{load} = \mathbf{0} \tag{5}$$

$$A\_l - A\_l^{ex} - A\_l^{req} \ge 0 \tag{6}$$

$$g(P\_l A\_l) \le 0 \tag{7}$$

where �(��� �� ��� ��� �� ��) is the aggregated cost function of an autonoumous network part *i*; *Pi* and *Ai* are the generated power and the provided ancillary service respectively in the network *i*, and �� �� and �� �� present the generation and services coming from outside of the network *i*; the equality constraint represents for power balance; the upper bound condition denotes requirements of ancillary services while the lower bound condition shows the operational limits of network components.

The method, however, concerns only the supply and demand of the system in which actors can be influenced by price signals. Other controllable devices of the system, e.g., electronicbased power flow controllers, are not considered. In (Dolan et al., 2009), the power flow management is represented as constraint satisfaction. Algorithms in that research determine the level of DG curtailment because of loading constraints in a small test network. Based on a local information network, a distributed two-level control scheme was proposed to adjust power output from clusters of photovoltaic (PV) generators when disturbances occur (Xin et al., 2011).

#### **3. Power routing – A new way for power flow management**

The function of distributed power routing is to fully exploit the potential of the local resources in managing the power flow. The function deals with transport optimization related to the actual load and generation schedules of the market parties. Price signals yielded by the market clearing conditions can be used as an input for the routing algorithms to achieve certain operational objectives, e.g., relief of network congestion, maximization of

$$\begin{array}{c} \text{Minimize } \mathcal{F} = \\ \sum\_{l \in \mathcal{G}} \{\boldsymbol{\omega}\_{Gl}^{\dagger} \Delta \boldsymbol{P}\_{Gl}^{\dagger} + \boldsymbol{\omega}\_{Gl}^{\star} \Delta \boldsymbol{P}\_{Gl}^{\star}\} + \sum\_{(l,j) \in \mathcal{T}} \{\boldsymbol{\omega}\_{\mathrm{Tl}j}^{\dagger} \Delta \boldsymbol{P}\_{\mathrm{Tl}j}^{\dagger} + \boldsymbol{\omega}\_{\mathrm{Tl}j}^{\star} \Delta \boldsymbol{P}\_{\mathrm{Tl}j}^{\star}\} + \sum\_{k \in \mathcal{D}} \{\boldsymbol{\omega}\_{\mathrm{Dk}}^{\star} \Delta \boldsymbol{P}\_{\mathrm{Dk}}^{\star} + \boldsymbol{\omega}\_{\mathrm{Dk}}^{\star} \Delta \boldsymbol{P}\_{\mathrm{Dk}}^{\star}\} \\ \text{subject to:} \end{array} $$

$$
\Sigma\_{l \in \mathcal{G}} P\_{Gl} = \Sigma\_{(l,l) \in \mathcal{T}} P\_{Tl} + \Sigma\_{k \in \mathcal{D}} P\_{Dk} \tag{9}
$$

$$P\_{Gl}^{\text{un}n} \le P\_{Gl} \le P\_{Gl}^{\text{max}}, \qquad \qquad \forall i \in \mathcal{G} \tag{10}$$

$$\left|P\_{Tlj}\right| \le P\_{Tlj}^{max}, \qquad \qquad \qquad \forall (l, f) \in \mathcal{T} \tag{11}$$

$$\left|P\_{Tij}\right|\mathcal{E}P\_{Tij}^{max} \tag{12}$$

$$P\_{Gl} = P\_{Gl}^{0} + \Delta P\_{Gl}^{+} - \Delta P\_{Gl}^{-} \qquad \qquad \forall i \in \mathcal{G} \tag{13}$$

$$P\_{Tlj} = P\_{Tlj}^0 + \Delta P\_{Tlj}^+ - \Delta P\_{Tlj}^-, \ \forall \langle l, f \rangle \in \mathcal{T} \tag{14}$$

$$P\_{Dk} = P\_{Dk}^0 + \Delta P\_{Dk}^+ - \Delta P\_{Dk'}^- \qquad \forall k \in \mathcal{D} \tag{15}$$


Application of the Graph Theory in Managing Power Flows in Future Electric Networks 257

node, it will be relabelled before it pushes flows down to node 1 and 2. When there is no excess at node s anymore, node 2 as the next active node initiates the push-relabel procedure. However, it needs to be relabeled to be higher than at least one neighbor. After

This section presents an extension of the SPR algorithm. In particular, we show that it is possible to implement the SPR method in a distributed way by using only local information and coordination (in contrast to the widely used centralized methods). This property of the algorithm has the additional benefit of allowing the grid operation to recover/react autonomously and faster from changes in demand/supply, cost or capacity. Note that the implementation used in the remaining of this chapter has certain centralized characteristics,

The SPR algorithm described above consists of two main phases: an initial phase to calculate feasible flows and a subsequent phase to convert the initial flow into a minimum cost flow (refinements). It is identified in (Goldberg & Tarjan, 1988) a variety of methods (centralized, parallel or distributed) which can be used in these two phases. Specifically for the refinement phase, a completely distributed Goldberg Tarjan (DGT) scheme that uses the concept of blocking flows and travelling atoms has been developed in (Goldberg & Tarjan, 1989). A flow is called blocking when every path from source to destination contains at least one saturated arc, while an atom at some point in time is defined as a maximal quantity of excess that has travelled as a whole up to that point. The DGT refinement scheme starts with an initialization phase, where the arcs leaving the source are saturated with atoms, and

*Lemma 1:* The DGT refinement scheme converges under the presence of changes in demand/supply of nodes or capacity of arcs, within �(n) steps after the last change occurs. *Proof:* Changes in the demand/supply of nodes affects the initial saturation of the outgoing arcs of the source and load content of nodes, and as a result more atoms are being created at the source or fewer atoms are being accepted at the destination. In the

relabeling, node 2 can push flow to nodes 1 and 3. A similar step occurs at node 1.

Fig. 4. Illustration of the push-relabel procedure for the 3-bus network

**4.2.1 Decentralized and self-healing extensions of SPR** 

since it was used for the comparison between SPR and SSP.

pushes atoms forward until no more pushes are possible.

### **4.1 Successive Shortest Path algorithm**

Successive Shortest Path (SSP) is one of the basic algorithms to deal with the minimum cost flow problem in graph theory. The algorithm starts by searching for the shortest path to augment the flow from the source node *s* to the sink node *t*. A node potential, ��� � �� − ���; ∀(�� �) � ��, associated with each node and a reduced cost, ���� � � ��� − �� � ���, associated with each arc (*i*, *j*) are used to find the shortest path. After augmenting the flow and updating the information, the process is repeated until there is no possible path anymore from *s* to *t*.

Regarding the above example of the 3-bus network, SSP initially finds the shortest path to be *s*-2-3-*t*, as shown in Fig. 3. The flow along this shortest path is augmented until the rated capacity of arc 2-3 (5 MW) is reached. When the information is updated, the algorithm searches again for a new shortest path *s*-2-1-*t*.

Fig. 3. Illustration of the successive shortest path algorithm for the 3-bus network

### **4.2 Scaling Push-Relabel algorithm**

Scaling Push-Relabel (SPR) belongs to the set of the polynomial-time algorithms to solve the minimum cost flow problem in complex networks. It is different from capacity scaling which is a scaled version of the SSP algorithm.

The algorithm includes two main processes: cost scaling and push-relabel. The cost scaling step determines a boundary for the ε-optimal condition in which the scaling factor ε is initially set at the maximum cost of the graph. The boundary will gradually approach the optimal solution by scaling ε ⟵ ε/2 after each iterative loop. Within the procedure of cost scaling, the push-relabel step is used. This step aims to push as much excess flow *e* as possible from a higher node to a lower node. The height of each node is computed from the node potential *πi*. Since there is an excess in node *i* (�� > 0) while it is lower than its neighbors, the node will be relabeled (�� � �� � �/2) to be higher than at least one neighbor node to push the excess.

In Fig. 4, the push-relabel procedure is illustrated by displaying the first steps of the SPR algorithm in the above example of the 3-bus network. As the source node *s* is the first active 256 New Frontiers in Graph Theory

Successive Shortest Path (SSP) is one of the basic algorithms to deal with the minimum cost flow problem in graph theory. The algorithm starts by searching for the shortest path to augment the flow from the source node *s* to the sink node *t*. A node potential, ��� � �� −

associated with each arc (*i*, *j*) are used to find the shortest path. After augmenting the flow and updating the information, the process is repeated until there is no possible path

Regarding the above example of the 3-bus network, SSP initially finds the shortest path to be *s*-2-3-*t*, as shown in Fig. 3. The flow along this shortest path is augmented until the rated capacity of arc 2-3 (5 MW) is reached. When the information is updated, the algorithm

� � ��� − �� � ���,

���; ∀(�� �) � ��, associated with each node and a reduced cost, ����

Fig. 3. Illustration of the successive shortest path algorithm for the 3-bus network

Scaling Push-Relabel (SPR) belongs to the set of the polynomial-time algorithms to solve the minimum cost flow problem in complex networks. It is different from capacity scaling

The algorithm includes two main processes: cost scaling and push-relabel. The cost scaling step determines a boundary for the ε-optimal condition in which the scaling factor ε is initially set at the maximum cost of the graph. The boundary will gradually approach the optimal solution by scaling ε ⟵ ε/2 after each iterative loop. Within the procedure of cost scaling, the push-relabel step is used. This step aims to push as much excess flow *e* as possible from a higher node to a lower node. The height of each node is computed from the node potential *πi*. Since there is an excess in node *i* (�� > 0) while it is lower than its neighbors, the node will be relabeled (�� � �� � �/2) to be higher than at least one neighbor

In Fig. 4, the push-relabel procedure is illustrated by displaying the first steps of the SPR algorithm in the above example of the 3-bus network. As the source node *s* is the first active

**4.1 Successive Shortest Path algorithm** 

searches again for a new shortest path *s*-2-1-*t*.

**4.2 Scaling Push-Relabel algorithm** 

node to push the excess.

which is a scaled version of the SSP algorithm.

anymore from *s* to *t*.

node, it will be relabelled before it pushes flows down to node 1 and 2. When there is no excess at node s anymore, node 2 as the next active node initiates the push-relabel procedure. However, it needs to be relabeled to be higher than at least one neighbor. After relabeling, node 2 can push flow to nodes 1 and 3. A similar step occurs at node 1.

Fig. 4. Illustration of the push-relabel procedure for the 3-bus network

### **4.2.1 Decentralized and self-healing extensions of SPR**

This section presents an extension of the SPR algorithm. In particular, we show that it is possible to implement the SPR method in a distributed way by using only local information and coordination (in contrast to the widely used centralized methods). This property of the algorithm has the additional benefit of allowing the grid operation to recover/react autonomously and faster from changes in demand/supply, cost or capacity. Note that the implementation used in the remaining of this chapter has certain centralized characteristics, since it was used for the comparison between SPR and SSP.

The SPR algorithm described above consists of two main phases: an initial phase to calculate feasible flows and a subsequent phase to convert the initial flow into a minimum cost flow (refinements). It is identified in (Goldberg & Tarjan, 1988) a variety of methods (centralized, parallel or distributed) which can be used in these two phases. Specifically for the refinement phase, a completely distributed Goldberg Tarjan (DGT) scheme that uses the concept of blocking flows and travelling atoms has been developed in (Goldberg & Tarjan, 1989). A flow is called blocking when every path from source to destination contains at least one saturated arc, while an atom at some point in time is defined as a maximal quantity of excess that has travelled as a whole up to that point. The DGT refinement scheme starts with an initialization phase, where the arcs leaving the source are saturated with atoms, and pushes atoms forward until no more pushes are possible.

*Lemma 1:* The DGT refinement scheme converges under the presence of changes in demand/supply of nodes or capacity of arcs, within �(n) steps after the last change occurs.

*Proof:* Changes in the demand/supply of nodes affects the initial saturation of the outgoing arcs of the source and load content of nodes, and as a result more atoms are being created at the source or fewer atoms are being accepted at the destination. In the

Application of the Graph Theory in Managing Power Flows in Future Electric Networks 259

For the power routing function it is important to implement the graph-based algorithms in a distributed environment. This section introduces Multi-Agent System (MAS) as a suitable platform for that because it can facilitate distributed control and perform monitoring

Agent-oriented programming is a relatively new technique to implement artificial intelligence into distributed system operation (Ahuja et al., 1993). An agent can be created by a short program (software entity) to operate autonomously with its environment. Moreover, the agent can interact with each other to form a Multi-Agent System. With characteristics of reactivity, proactiveness, and social ability, the MAS technology can offer

Actually, a part of the agent's features has been revealed in some applications of the power system before. As an example, an Intelligent Electronic Device (IED) performs various control and protection functions according to changes in their environment, e.g., voltage drop and current increase. Recently, applications of MAS in power systems have been explored in many aspects such as disturbance diagnosis, restoration, protection, and power flow and voltage control. Several research projects have begun to investigate MAS as an

To utilize the discussed graph-based algorithms in the power routing function, it is assumed that agents are available representing nodes (buses) of an active distribution network (ADN). Each agent *Ai* can obtain current state variables of bus i from the power network

be pre-defined or updated during a communication period of ��. In addition, �� is provided

� � ����

actions, �� can route messages to communicate with same-level agents via the MAS platform. Two additional agents, �� and ��, are created to represent the source node � and the sink node � of the graph �(�� �) respectively. By using the MAS platform, the SSP and

Fig. 5 illustrates a simplified agent sequence diagram for the above example of the 3-bus network using the SSP algorithm. There are three main types of actions, which are defined

 Update information: Node agents (*A1*, *A2*, and *A3*) update information from the power network and market conditions. By using *Information()* messages, they share the

� . The limits of power generation, transport, and load demands can

� with ∀(�� �) � �, power generation

� � ���

� �. Besides managing autonomous control

� ), consumption

approach to manage distributed generation, virtual power plants and micro grids.

**5. Agent-based implementation** 

**5.1 Multi-agent system technology** 

numerous benefits in distributed power networks.

such as power flow in incoming (outgoing) feeders ����

� ) as well as transmission costs �����

**5.2.1 Implementation of the SSP algorithm** 

information with agents *As* and *At*.

with information about the costs for adjusting power production (���

SPR algorithms can be implemented in a distributed environment.

functions in the power system.

**5.2 Algorithm implementation** 

� , and load demand ���

for each agent as follows:

���

(��� � � ���

first case, the new atoms are being propagated forward and the algorithm proceeds normally. In the second case, the nodes at the destination become blocked and some atoms are being returned backwards, again resuming the normal operation of the algorithm. In addition, changes in the capacity of arcs affect their residual capacities. As a result, increased (decreased) residual capacity in an arc may unblock (block) the end-node closer to the source. In both cases, the algorithm resumes its normal course, sending atoms forward or backward accordingly.

Since the normal operation of the DGT algorithm is resumed after the last change, in the worst case it will terminate in the same number of steps, which is �(n) for the distributed case.

Using the above refinement scheme along with a distributed maximum flow (DMF) algorithm that can tolerate changes in node demand/supply and arc capacities as proposed in (Ghosh et al., 1995) for the initial phase, it is easy to see that the resulting algorithm has certain self-healing properties since it can tolerate these changes.

*Theorem 1:* Consider a minimum cost flow algorithm that consists of an initial phase of a feasible flow calculation using the DMF algorithm and subsequent refinement phases using the DGT algorithm. This algorithm can be implemented in a completely distributed way and can converge under the presence of changes in demand/supply of nodes or capacity of arcs, within a certain number of steps after the last change occurs.

Note that the initial and refinement phases must be separated in order to tolerate changes, thus some form of synchronization between nodes is required. This is discussed in (Goldberg & Tarjan, 1988) since it is also a challenge for the original algorithm, and the proposed termination conditions there can also be applied here. Note also that the amount of steps needed for the algorithm to converge under the presence of changes depends on the implementation of this synchronization.

### **4.3 Complexity of the algorithms**

Though the SSP algorithm is straightforward to be implemented, its computational complexity is �(����) (Ahuja et al., 1993), where n is the number of the network nodes, m is the number of network arcs and B is the upper bound on the largest supply (demand) of any node. In the worst case, each augmentation phase carries a very small amount of flow, resulting in a fairly large number of iterations. A modification of the scaling algorithm can reduce the number of iterations to �(� ��� �).

The SPR algorithm can be implemented in a variety of methods (centralized, parallel or distributed) for both the initial and subsequent refinement phases. The scheme followed in this chapter for both phases is distributed with centralized characteristics, i.e., all active nodes are kept in set S, which is passed from node to node and controls the activation sequence. This corresponds to a sequential variant of the algorithm, which yields �(��� ��� ��) convergence time, where C is the maximum cost of an arc (Ahuja et al., 1993). However, other distributed variants are also possible, and the previously mentioned refinement scheme based on blocking flows and travelling atoms achieves �(�� ��� � ������� � �� � ��� ��) total convergence time (Goldberg & Tarjan, 1988).

### **5. Agent-based implementation**

258 New Frontiers in Graph Theory

first case, the new atoms are being propagated forward and the algorithm proceeds normally. In the second case, the nodes at the destination become blocked and some atoms are being returned backwards, again resuming the normal operation of the algorithm. In addition, changes in the capacity of arcs affect their residual capacities. As a result, increased (decreased) residual capacity in an arc may unblock (block) the end-node closer to the source. In both cases, the algorithm resumes its normal course, sending

Since the normal operation of the DGT algorithm is resumed after the last change, in the worst case it will terminate in the same number of steps, which is �(n) for the distributed

Using the above refinement scheme along with a distributed maximum flow (DMF) algorithm that can tolerate changes in node demand/supply and arc capacities as proposed in (Ghosh et al., 1995) for the initial phase, it is easy to see that the resulting algorithm has

*Theorem 1:* Consider a minimum cost flow algorithm that consists of an initial phase of a feasible flow calculation using the DMF algorithm and subsequent refinement phases using the DGT algorithm. This algorithm can be implemented in a completely distributed way and can converge under the presence of changes in demand/supply of nodes or capacity of arcs,

Note that the initial and refinement phases must be separated in order to tolerate changes, thus some form of synchronization between nodes is required. This is discussed in (Goldberg & Tarjan, 1988) since it is also a challenge for the original algorithm, and the proposed termination conditions there can also be applied here. Note also that the amount of steps needed for the algorithm to converge under the presence of changes depends on the

Though the SSP algorithm is straightforward to be implemented, its computational complexity is �(����) (Ahuja et al., 1993), where n is the number of the network nodes, m is the number of network arcs and B is the upper bound on the largest supply (demand) of any node. In the worst case, each augmentation phase carries a very small amount of flow, resulting in a fairly large number of iterations. A modification of the scaling algorithm can

The SPR algorithm can be implemented in a variety of methods (centralized, parallel or distributed) for both the initial and subsequent refinement phases. The scheme followed in this chapter for both phases is distributed with centralized characteristics, i.e., all active nodes are kept in set S, which is passed from node to node and controls the activation sequence. This corresponds to a sequential variant of the algorithm, which yields �(��� ��� ��) convergence time, where C is the maximum cost of an arc (Ahuja et al., 1993). However, other distributed variants are also possible, and the previously mentioned refinement scheme based on blocking flows and travelling atoms achieves

�(�� ��� � ������� � �� � ��� ��) total convergence time (Goldberg & Tarjan, 1988).

certain self-healing properties since it can tolerate these changes.

within a certain number of steps after the last change occurs.

atoms forward or backward accordingly.

implementation of this synchronization.

reduce the number of iterations to �(� ��� �).

**4.3 Complexity of the algorithms** 

case.

For the power routing function it is important to implement the graph-based algorithms in a distributed environment. This section introduces Multi-Agent System (MAS) as a suitable platform for that because it can facilitate distributed control and perform monitoring functions in the power system.

### **5.1 Multi-agent system technology**

Agent-oriented programming is a relatively new technique to implement artificial intelligence into distributed system operation (Ahuja et al., 1993). An agent can be created by a short program (software entity) to operate autonomously with its environment. Moreover, the agent can interact with each other to form a Multi-Agent System. With characteristics of reactivity, proactiveness, and social ability, the MAS technology can offer numerous benefits in distributed power networks.

Actually, a part of the agent's features has been revealed in some applications of the power system before. As an example, an Intelligent Electronic Device (IED) performs various control and protection functions according to changes in their environment, e.g., voltage drop and current increase. Recently, applications of MAS in power systems have been explored in many aspects such as disturbance diagnosis, restoration, protection, and power flow and voltage control. Several research projects have begun to investigate MAS as an approach to manage distributed generation, virtual power plants and micro grids.

### **5.2 Algorithm implementation**

To utilize the discussed graph-based algorithms in the power routing function, it is assumed that agents are available representing nodes (buses) of an active distribution network (ADN). Each agent *Ai* can obtain current state variables of bus i from the power network such as power flow in incoming (outgoing) feeders ���� � with ∀(�� �) � �, power generation ��� � , and load demand ��� � . The limits of power generation, transport, and load demands can be pre-defined or updated during a communication period of ��. In addition, �� is provided with information about the costs for adjusting power production (��� � � ��� � ), consumption (��� � � ��� � ) as well as transmission costs ����� � � ���� � �. Besides managing autonomous control actions, �� can route messages to communicate with same-level agents via the MAS platform. Two additional agents, �� and ��, are created to represent the source node � and the sink node � of the graph �(�� �) respectively. By using the MAS platform, the SSP and SPR algorithms can be implemented in a distributed environment.

### **5.2.1 Implementation of the SSP algorithm**

Fig. 5 illustrates a simplified agent sequence diagram for the above example of the 3-bus network using the SSP algorithm. There are three main types of actions, which are defined for each agent as follows:

 Update information: Node agents (*A1*, *A2*, and *A3*) update information from the power network and market conditions. By using *Information()* messages, they share the information with agents *As* and *At*.

Application of the Graph Theory in Managing Power Flows in Future Electric Networks 261

 Push flow: When the node agent finds a feasible neighbor in which to push flow, it increases as much as possible the power with respect to its flow excess and the

Fig. 6. A simplified agent sequence diagram for deploying the SPR algorithm

This section investigates the performance of the power routing function of the two algorithms in the simulation cases. The power network is simulated in MATLAB/Simulink environment while Java Agent Development Framework (JADE) (Telecom Italia S.p.A., 2010) is used for creating a Multi-Agent System (MAS) platform. The protocol for communication between two environments is based on client/server socket communication.

A simulation example is implemented to investigate the performances of the algorithms on a typical radial medium voltage (MV) network. This test network includes two feeders with 10 buses on each feeder, connected to the same substation. The two ends of the feeders can be connected through a normally open point (NOP). Parameters of the test network are

Line section: *π*-equivalent circuit, line section parameters: � = 0.�� � �0.1�� Ω� � = 1��;

Distributed generation: DG units are available at bus 1, 3, and 5 of feeder 1 and 16, 18,

Base load: Each bus has a base load of 1 MW � �0.�� MVAr.

connecting arc's residual capacity.

**6. Simulation results and discussions** 

**6.1 Typical radial distribution network** 

given as follows:

��� = 10 MW.

and 20 of feeder 2.

����


Fig. 5. A simplified agent sequence diagram for deploying the SSP algorithm

### **5.2.2 Implementation of the SPR algorithm**

A simplified agent sequence diagram for deploying the SPR algorithm is shown in Fig. 6. Main types of actions for each agent are described as follows:


260 New Frontiers in Graph Theory

 Update node potential: After updating information, *As* initiates to an update of the node potential. A message of *Get\_label()* is sent to its neighbors (*A1*, *A2)*. When receiving the *Get\_label()* command, a node agent compares the proposal with its node potential to get the cheapest (smallest) one and its predecessor. The shortest path is determined when

 Augmentation: *At* starts augmenting flow along the new shortest path. An *Augment\_flow()* message is sent from node agent to its predecessor which is to track back the shortest path. When *As* receives the message, it begins looking for a new

shortest path by repeating the above action of updating node potentials.

Fig. 5. A simplified agent sequence diagram for deploying the SSP algorithm

generated power instead of total load demand, as in the SSP algorithm.

A simplified agent sequence diagram for deploying the SPR algorithm is shown in Fig. 6.

 Update information: The procedure is similar to the case of the SSP algorithm. A slight difference is the information that *As* uses for initiating the SPR algorithm. It is the total

 Cost scaling: The scaling factor ε is initial set by the maximum value of the costs updated from the power network. When the function *Cost\_Scaling()* is called, it

2� �-optimal flow. Relabel node potential: The relabel phase is called by each agent when it has flow excess and its height is lower than its neighbors. The function adds a value of 1

2� � to the

**5.2.2 Implementation of the SPR algorithm** 

transformers ε-optimal flow into a 1

height.

Main types of actions for each agent are described as follows:

*At* updates its node potential.

 Push flow: When the node agent finds a feasible neighbor in which to push flow, it increases as much as possible the power with respect to its flow excess and the connecting arc's residual capacity.

Fig. 6. A simplified agent sequence diagram for deploying the SPR algorithm

### **6. Simulation results and discussions**

This section investigates the performance of the power routing function of the two algorithms in the simulation cases. The power network is simulated in MATLAB/Simulink environment while Java Agent Development Framework (JADE) (Telecom Italia S.p.A., 2010) is used for creating a Multi-Agent System (MAS) platform. The protocol for communication between two environments is based on client/server socket communication.

### **6.1 Typical radial distribution network**

A simulation example is implemented to investigate the performances of the algorithms on a typical radial medium voltage (MV) network. This test network includes two feeders with 10 buses on each feeder, connected to the same substation. The two ends of the feeders can be connected through a normally open point (NOP). Parameters of the test network are given as follows:


Application of the Graph Theory in Managing Power Flows in Future Electric Networks 263

The total saving cost in money-based unit before and after utilizing the power routing function is also shown in Fig. 8. A major part of the total cost (76.97 p.u.) is saved from changes of power generation mentioned above while the contribution from the power

The SSP algorithm gives almost the same results as the SPR algorithm. Minor differences are the set points for *Pgen2* set to 4.3 MW and *Pgen3* set to 9.7 MW. These come from the fact that SSP is based on the total load demand which is smaller than the total generation capacity

(a)

Simulation time [s]

<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> <sup>25</sup> <sup>30</sup> <sup>35</sup> <sup>40</sup> <sup>45</sup> <sup>50</sup> -5

Pgen1 Pgen3 Pgen5 Pgen16 Pgen18 Pgen20

(b)

0 5 10 15 20 25 30 35 40 45 50

From transmission From generation

Simulation time [s]

After settling at this new optimal operation mode, the simulation is continued by increasing the demand by 2 MW � ���2 MVAr at bus 2, 4, 17, and 19. Fig. 9 shows the dynamic operations of the test network. At � � ��� the load demand increases 20%. It is assumed that the generator at bus 1 will be responsible for the primary control to compensate initially for the amount of load increase. After receiving information from the power network at � � �� �, MAS gives back the new set points at � � �� �. Because of the increase in demand, all generators at bus 3, 5, 16, 18, and 20 operate at their maximum capacities while the

In this case, the total saving cost is referred to the cost value before applying the power routing function, in period from 25 *s* to 30 *s*. Therefore, the prior state of the system with lower load demand has a lower operating cost (with high total saving cost, 120 p.u.). This saving cost starts decreasing when the primary control of the generator at bus 1 imitates.

Fig. 8. Case of optimal generation dispatch for the radial test network using the SPR

transmission on the total cost is 4.02 p.u.

used in the SPR algorithm.

Power generation [MW]

algorithm

**6.1.2 Case 2 – Load demand increases** 

Total saving cost [p.u.]

generator at bus 1 is set to 2 MW.

Fig. 7 shows a single-line diagram and the representative directed graph of the radial test network. In the representative graph, the square symbols show nodes having DG units which are connected to the virtual source node *s*. The remaining nodes have only load demand.

Fig. 7. Single-line diagram and representative directed graph of the radial test network

### **6.1.1 Case 1 - Update information and start up algorithms**

The simulation starts with an initial state as shown in table 2. The three DG units of feeder 1 provide more power than the ones connected to feeder 2, but with higher marginal costs.


Table 2. Initial state of the radial test network

At ݐ ൌ ͷݏǡ each agent starts collecting and sharing information across the MAS platform. At ݐ ൌ ͳͲݏ, new reference values are set for the DG units. The goal in this case is to minimize generation cost. Fig. 8 shows the behaviour of the DG units before and after receiving new set points from MAS using the SPR algorithm. In this case, *Pgen2* and *Pgen3* increases from 3 MW to 4 MW and 10 MW respectively, while the other generators of feeder 2 increases from 2 MW to 3 MW. These controls are implemented to avoid the most expensive generation from bus 1 (*Pgen1* = 0 MW).

262 New Frontiers in Graph Theory

Fig. 7 shows a single-line diagram and the representative directed graph of the radial test network. In the representative graph, the square symbols show nodes having DG units which are connected to the virtual source node *s*. The remaining nodes have only load

(a)

(b)

The simulation starts with an initial state as shown in table 2. The three DG units of feeder 1 provide more power than the ones connected to feeder 2, but with higher marginal costs.

> [MW]

1 15 11 0 15 3 11 3 0 10 5 9 3 0 10 16 5 2 0 3 18 5 2 0 3 20 5 2 0 3

At ݐ ൌ ͷݏǡ each agent starts collecting and sharing information across the MAS platform. At ݐ ൌ ͳͲݏ, new reference values are set for the DG units. The goal in this case is to minimize generation cost. Fig. 8 shows the behaviour of the DG units before and after receiving new set points from MAS using the SPR algorithm. In this case, *Pgen2* and *Pgen3* increases from 3 MW to 4 MW and 10 MW respectively, while the other generators of feeder 2 increases from 2 MW to 3 MW. These controls are implemented to avoid the most expensive generation

ܲீ [MW]

ܲீ ௫ [MW]

Fig. 7. Single-line diagram and representative directed graph of the radial test network

ି [p.u.] ܲீ

**6.1.1 Case 1 - Update information and start up algorithms** 

ା ൌ ߱ீ

Table 2. Initial state of the radial test network

Generator ߱ீ

from bus 1 (*Pgen1* = 0 MW).

demand.

The total saving cost in money-based unit before and after utilizing the power routing function is also shown in Fig. 8. A major part of the total cost (76.97 p.u.) is saved from changes of power generation mentioned above while the contribution from the power transmission on the total cost is 4.02 p.u.

The SSP algorithm gives almost the same results as the SPR algorithm. Minor differences are the set points for *Pgen2* set to 4.3 MW and *Pgen3* set to 9.7 MW. These come from the fact that SSP is based on the total load demand which is smaller than the total generation capacity used in the SPR algorithm.

Fig. 8. Case of optimal generation dispatch for the radial test network using the SPR algorithm

### **6.1.2 Case 2 – Load demand increases**

After settling at this new optimal operation mode, the simulation is continued by increasing the demand by 2 MW � ���2 MVAr at bus 2, 4, 17, and 19. Fig. 9 shows the dynamic operations of the test network. At � � ��� the load demand increases 20%. It is assumed that the generator at bus 1 will be responsible for the primary control to compensate initially for the amount of load increase. After receiving information from the power network at � � �� �, MAS gives back the new set points at � � �� �. Because of the increase in demand, all generators at bus 3, 5, 16, 18, and 20 operate at their maximum capacities while the generator at bus 1 is set to 2 MW.

In this case, the total saving cost is referred to the cost value before applying the power routing function, in period from 25 *s* to 30 *s*. Therefore, the prior state of the system with lower load demand has a lower operating cost (with high total saving cost, 120 p.u.). This saving cost starts decreasing when the primary control of the generator at bus 1 imitates.

Application of the Graph Theory in Managing Power Flows in Future Electric Networks 265

Pgen1 Pgen3 Pgen5 Pgen16 Pgen18 Pgen20

(a)

<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> <sup>25</sup> <sup>30</sup> <sup>35</sup> <sup>40</sup> <sup>45</sup> <sup>50</sup> -5

Simulation time [s]

P23 P56 P1112 P1020

From transmission From generation

(b)

0 5 10 15 20 25 30 35 40 45 50

Simulation time [s]

(c)

0 5 10 15 20 25 30 35 40 45 50

Simulation time [s]

This chapter has presented an application of the graph theory in power systems for the function of power routing. The performance of the power routing function using Successive Shortest Path (SSP) and Scaling Push Relabel (SPR) algorithms are investigated on a simulation of a radial network. Simulation results show that the algorithm has selfstabilizing and self-healing properties in response to changes in the cost and capacity for power demand/supply. Simulations reveal also the ability of the power routing function to deal with issues of network variations and constraints. Moreover, the function can be implemented in an online, real-time environment which is emerging in the development of

Ahuja, R.K., Magnanti, T.L., & Orlin, J.B. (1993) *Network flows: theory, algorithms, and* 

Fig. 11. Case of network configuration change for the radial test network using the SPR

algorithm

**7. Conclusion** 

the future power systems.

*applications*, Prentice Hall.


0

50

Total saving cost [p.u.]

100

0

Power flows [MW]

10

Power generation [MW]

**8. References** 

After ݐ ൌ ͵Ͳݏ, the change of power generation contributes to decreasing the total cost 23.85 p.u. Meanwhile, the charge for the power transmission increases 4.42 p.u.

Fig. 9. Case of load demand increases for the radial test network using the SPR algorithm

### **6.1.3 Case 3 – Network configuration change**

In this case, a contingency is considered where line section 5-6 is taken out of service. To supply power to the rest of feeder 1, the NOP will be closed. The new configuration of the network is shown in Fig. 10. Stand-by storages are enabled at bus 16, 18 and 20 which increases their capacities up to 5 MW, 7 MW and 9 MW respectively.

Fig. 10. Representative directed graph for the new configuration of the radial test network

Fig. 11 shows the changes of power generation and power flow, as well as the total operating cost in this case. In feeder 2, the power generation at bus 16, 18, and 20 are increased to their new maximum capacity (5 MW, 7 MW, and 9 MW). While ܲଷ is constant, ܲଵ andܲହ are decreased to limit the exchanged flow below 10 MW. The total saving cost in this case has relatively equal contributions from the power generation and power transmission, 48.62 p.u. and 48.59 p.u. respectively.

Fig. 11. Case of network configuration change for the radial test network using the SPR algorithm

### **7. Conclusion**

264 New Frontiers in Graph Theory

After ݐ ൌ ͵Ͳݏ, the change of power generation contributes to decreasing the total cost 23.85

(a)

<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> <sup>25</sup> <sup>30</sup> <sup>35</sup> <sup>40</sup> <sup>45</sup> <sup>50</sup> -5

Pgen1 Pgen3 Pgen5 Pgen16 Pgen18 Pgen20

Simulation time [s]

From generation From transmission

(b) Fig. 9. Case of load demand increases for the radial test network using the SPR algorithm

0 5 10 15 20 25 30 35 40 45 50

Simulation time [s]

In this case, a contingency is considered where line section 5-6 is taken out of service. To supply power to the rest of feeder 1, the NOP will be closed. The new configuration of the network is shown in Fig. 10. Stand-by storages are enabled at bus 16, 18 and 20 which

Fig. 10. Representative directed graph for the new configuration of the radial test network

Fig. 11 shows the changes of power generation and power flow, as well as the total operating cost in this case. In feeder 2, the power generation at bus 16, 18, and 20 are increased to their new maximum capacity (5 MW, 7 MW, and 9 MW). While ܲଷ is constant, ܲଵ andܲହ are decreased to limit the exchanged flow below 10 MW. The total saving cost in this case has relatively equal contributions from the power generation and

**6.1.3 Case 3 – Network configuration change** 

Total saving cost [p.u.]

Power generation [MW]

increases their capacities up to 5 MW, 7 MW and 9 MW respectively.

power transmission, 48.62 p.u. and 48.59 p.u. respectively.

p.u. Meanwhile, the charge for the power transmission increases 4.42 p.u.

This chapter has presented an application of the graph theory in power systems for the function of power routing. The performance of the power routing function using Successive Shortest Path (SSP) and Scaling Push Relabel (SPR) algorithms are investigated on a simulation of a radial network. Simulation results show that the algorithm has selfstabilizing and self-healing properties in response to changes in the cost and capacity for power demand/supply. Simulations reveal also the ability of the power routing function to deal with issues of network variations and constraints. Moreover, the function can be implemented in an online, real-time environment which is emerging in the development of the future power systems.

### **8. References**

Ahuja, R.K., Magnanti, T.L., & Orlin, J.B. (1993) *Network flows: theory, algorithms, and applications*, Prentice Hall.

**13** 

*China* 

**Research Progress of Complex Electric** 

Yagang Zhang, Zengping Wang and Jinfang Zhang *State Key Laboratory of Alternate Electrical Power System* 

*with Renewable Energy Sources* 

*(North China Electric Power University),* 

**Power Systems: Graph Theory Approach** 

Electric power system is one of the most complex artificial systems in this world, which safe, steady, economical and reliable operation plays a very important part in guaranteeing socioeconomic development, even in safeguarding social stability. In early 2008, the infrequent disaster of snow and ice that occurred in the south of China had confirmed it again. The complexity of electric power system is determined by its characteristics about constitution, configuration, operation, organization, etc., which has caused many disastrous accidents, such as the large-scale blackout of America-Canada electric power system on August 14, 2003, the large-scale blackout of Italy electric power system on September 28, 2003. In order to resolve this complex and difficult problem, some methods and technologies that can reflect modern science and technology level have been introduced into this domain, such as computer and communication technology, control technology, superconduct and new materials technology and so on. Obviously, no matter what we adopt new analytical method or technical means, we must have a distinct recognition of electric power system itself and its complexity, and increase continuously analysis, operation and control level

A fault is defined as a departure from an acceptable range of an observed variable or calculated parameter associated with systems. It may arise in the basic technological components or in its measurement and control instruments, and may represent performance deterioration, partial malfunctions or total breakdowns. Fault analysis implies the capability of determining, either actively or passively, whether a system is functioning as intended or as modeled. The goal of fault analysis is to ensure the success of the planned operations by recognizing anomalies of system behavior. A system with faults does not necessarily imply that the system is not functioning. Detecting a fault involves identifying a characteristic of the system, which when a fault occurs, can be distinguished from other characteristics of the system. According to nonlinear complex systems, we have carried out large numbers of basic researches (Zhang et al., 2010; Zhang et al., 2006; Zhang et al., 2007; Zhang & Wang, 2008). In this chapter, basing on graph theory and multivariate statistical analysis theory, we

**1. Introduction** 

(Yuan, 2007; Ye, 2003; Xue, 2002).

will discuss the complexity in electric power system.


## **Research Progress of Complex Electric Power Systems: Graph Theory Approach**

Yagang Zhang, Zengping Wang and Jinfang Zhang *State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources (North China Electric Power University), China* 

### **1. Introduction**

266 New Frontiers in Graph Theory

Armbruster, A. et al., 2005. Power transmission control using distributed max-flow. In *29th* 

Bompard, E. et al. (2003). Congestion-management schemes: a comparative analysis under a unified framework. *IEEE Transactions on Power Systems*, Vol. 18, No. 1, pp. 346-352. Dolan, M. et al. (2009). Techniques for managing power flows in active distribution

Gan, D., Thomas, R.J. & Zimmerman, R.D. (2000). Stability-constrained optimal power flow.

Ghosh, S., Gupta, A., & Pemmaraju, S.V. (1995). A self-stabilizing algorithm for the

Goldberg, A.V. & Tarjan, R.E. (1988). A new approach to the maximum-flow problem.

Goldberg, A.V. & Tarjan, R.E. (1989). A parallel algorithm for finding a blocking flow in an

Huneault, M. & Galiana, F.D. (1991). A survey of the optimal power flow literature. *IEEE* 

Jokic, A. (2007). *Price-based optimal control of electrical power systems*. Technische Universiteit

Kim, B.H. & Baldick, R. (2000). A comparison of distributed optimal power flow algorithms.

Nguyen, P.H., Kling, W.L., & Myrzik, J.M.A. (2010). An application of the successive

Telecom Italia S.p.A., 2010. Java Agent Development Framework. Available from

Wei, P. et al., 2001. A decentralized approach for optimal wholesale cross-border trade

Xin, H. et al. (2011). A Self-Organizing Strategy for Power Flow Control of Photovoltaic

shortest path algorithm to manage power in multi-agent system based active networks. *European Transactions on Electrical Power*, Vol. 20, No. 8, pp. 1138-1152. Nguyen, P. H., Kling, W.L., Georgiadis, G., Papatriantafilou, M., Anh-Tuan, L. & Bertling, L.

(2010). Distributed routing algorithms to manage power flow in agent-based active distribution network. *Proceedings of the 2010 IEEE PES Conference on Innovative Smart Grid Technologies Conference Europe (ISGT Europe )*, 11-13 October 2010, Gothenburg,

planning using multi-agent technology. *Power Systems, IEEE Transactions on*, Vol.

Generators in a Distribution Network. *IEEE Transactions on Power Systems*, Vol. 26,

*IEEE Transactions on Power Systems*, Vol. 15, No. 2, pp. 535-540.

*Phoenix Conference on Computers and Communications*, pp. 8-14.

*Transactions on Power Systems*, Vol. 6, No. 2, pp. 762-770.

http://jade.tilab.com/index.html [Accessed May 2010].

acyclic network. *Information Processing Letters*, Vol. 31, pp. 265-271.

Eindhoven, ISBN 978-90-386-1574-5, Eindhoven, The Netherlands.

*Power Systems, IEEE Transactions on*, Vol. 15, No. 2, pp. 599-604.

*Journal of the ACM*, Vol. 35, pp. 921-940.

2, pp. 256-263

18-11, 2009.

Sweden. (pp. 1-7).

16, No. 4, pp. 833-838.

No. 3, pp. 1462-1473.

*Annual International Computer Software and Applications Conference, COMPSAC,* Vol.

networks within thermal constraints. *Proceeding of the 20th International Conference and Exhibition on Electricity Distribution - CIRED 2009*, Prague, Czech Republic, June

maximum flow problem. *Proceeding of the IEEE Fourteenth Annual International* 

Electric power system is one of the most complex artificial systems in this world, which safe, steady, economical and reliable operation plays a very important part in guaranteeing socioeconomic development, even in safeguarding social stability. In early 2008, the infrequent disaster of snow and ice that occurred in the south of China had confirmed it again. The complexity of electric power system is determined by its characteristics about constitution, configuration, operation, organization, etc., which has caused many disastrous accidents, such as the large-scale blackout of America-Canada electric power system on August 14, 2003, the large-scale blackout of Italy electric power system on September 28, 2003. In order to resolve this complex and difficult problem, some methods and technologies that can reflect modern science and technology level have been introduced into this domain, such as computer and communication technology, control technology, superconduct and new materials technology and so on. Obviously, no matter what we adopt new analytical method or technical means, we must have a distinct recognition of electric power system itself and its complexity, and increase continuously analysis, operation and control level (Yuan, 2007; Ye, 2003; Xue, 2002).

A fault is defined as a departure from an acceptable range of an observed variable or calculated parameter associated with systems. It may arise in the basic technological components or in its measurement and control instruments, and may represent performance deterioration, partial malfunctions or total breakdowns. Fault analysis implies the capability of determining, either actively or passively, whether a system is functioning as intended or as modeled. The goal of fault analysis is to ensure the success of the planned operations by recognizing anomalies of system behavior. A system with faults does not necessarily imply that the system is not functioning. Detecting a fault involves identifying a characteristic of the system, which when a fault occurs, can be distinguished from other characteristics of the system. According to nonlinear complex systems, we have carried out large numbers of basic researches (Zhang et al., 2010; Zhang et al., 2006; Zhang et al., 2007; Zhang & Wang, 2008). In this chapter, basing on graph theory and multivariate statistical analysis theory, we will discuss the complexity in electric power system.

Research Progress of Complex Electric Power Systems: Graph Theory Approach 269

*L*

*di L v*

where the constant *L* 0 is called the inductance. A capacitor is characterized by giving the

*dt* , in terms of the current *<sup>C</sup>*

*C C*

Furthermore, let's define two variables *RLC xi i i* , *<sup>C</sup> y v* , and *Rv R x* ,

*R d x x L L*

1

*dt y y C*

> *L LC* <sup>2</sup> 1

> > *R RC L L L C* 2 2 4

2 4

Many real world situations can conveniently be described by means of a diagram consisting of a set of points together with lines joining certain pairs of these points. In mathematics and computer science, graph theory is the study of graphs: mathematical structures used to model conjugated relations between objects from a certain collection. A graph is an abstract notion of a set of nodes and connection relations between them, that is, a collection of vertices or nodes and a collection of edges that connect pairs of vertices. A graph may be undirected, meaning that there is no distinction between the two vertices associated with

Applications of graph theory are primarily, but not exclusively, concerned with labeled graphs and various specializations of these. Structures that can be represented as graphs are

Actually this system always has eigenvalues with negative real parts. If *<sup>L</sup> <sup>R</sup>*

, they are complex.

*R*

 

*C* <sup>2</sup> 4

each edge, or its edges may be directed from one vertex to another.

<sup>1</sup> <sup>0</sup>

 

*dv C i*

time derivative of the voltage *<sup>C</sup> dv*

Its characteristic equation is,

eigenvalues are real; else *<sup>L</sup> <sup>R</sup>*

**3. Search principles in graph theory** 

which has two roots:

where the constant *C* 0 is called the capacitance.

*L CR v v v y R x* . So, this system can be expressed as,

*L*

*dt* (1)

*dt* (2)

0 (4)

(5)

(3)

*C* <sup>2</sup> 4

, then the

*i* ,

The fault in electric power system can not be completely avoided. When electric power system operates from normal state to failure or abnormal operates, its electric quantities (current, voltage and their angles, etc.) may change significantly. In our researches, after some accidents, utilizing real-time measurements of phasor measurement unit (PMU) (Phadke & Thorp, 2008; Wang et al., 2007; Rakpenthai et al., 2005; Peng et al., 2006), basing on graph theory and multivariate statistical analysis theory, we are using mainly Breadthfirst search (BFS), Depth-first search (DFS) and cluster analysis technology (Arifin & Asano, 2006; Otazu & Pujol, 2006; Park & Baik, 2006; Tola et al., 2008; Zhao et al., 2008; Templ et al., 2008), and seeking after for the uniform laws of electrical quantities' marked changes. Then we can carry out fast and exact analysis of fault component. Finally we can accomplish fault isolation.

### **2. Electric circuit theory**

Let's consider a circuit with resistors(R), inductors (L), and capacitors(C), which has one element of each connected in a loop (Robinson, 2004). The part of the circuit containing one element is a branch. The points where the branches connect are nodes. There are three branches and nodes in Figure. 1.

Fig. 1. RLC electric circuit

Let *Ri* , *Li* and *<sup>C</sup> i* be the current in the resistor, inductor and capacitor respectively, and let *Rv* , *<sup>L</sup> v* and *Cv* be the voltage drop across the three branches of the circuit. Kirchhoff's voltage law states that the sum of the voltage drops around any loop is zero, that is, *RLC vvv* 0 . Kirchhoff's current law states that the total current flowing into a node must equal the current flowing out of that node, namely, *RLC iii* with the correct choice of signs.

A resistor is determined by a relationship between the current *Ri* and voltage *Rv* . Here, a linear resistor given by *R R v R i* , where *R* 0 is a constant, which is determined by Ohm's law. An inductor is characterized by giving the time derivative of the current *<sup>L</sup> di dt* , Faraday's law has proved that,

$$L\frac{d\dot{l}\_L}{dt} = \upsilon\_L \tag{1}$$

where the constant *L* 0 is called the inductance. A capacitor is characterized by giving the time derivative of the voltage *<sup>C</sup> dv dt* , in terms of the current *<sup>C</sup> i* ,

$$C\frac{dv\_{\text{C}}}{dt} = i\_{\text{C}} \tag{2}$$

where the constant *C* 0 is called the capacitance.

Furthermore, let's define two variables *RLC xi i i* , *<sup>C</sup> y v* , and *Rv R x* , *L CR v v v y R x* . So, this system can be expressed as,

$$
\frac{d}{dt} \begin{pmatrix} \chi \\ \chi \end{pmatrix} = \begin{pmatrix} -\frac{R}{L} & -\frac{1}{L} \\ \frac{1}{C} & 0 \end{pmatrix} \begin{pmatrix} \chi \\ \chi \end{pmatrix} \tag{3}
$$

Its characteristic equation is,

$$
\lambda^2 + \frac{R}{L}\lambda + \frac{1}{LC} = 0\tag{4}
$$

which has two roots:

268 New Frontiers in Graph Theory

The fault in electric power system can not be completely avoided. When electric power system operates from normal state to failure or abnormal operates, its electric quantities (current, voltage and their angles, etc.) may change significantly. In our researches, after some accidents, utilizing real-time measurements of phasor measurement unit (PMU) (Phadke & Thorp, 2008; Wang et al., 2007; Rakpenthai et al., 2005; Peng et al., 2006), basing on graph theory and multivariate statistical analysis theory, we are using mainly Breadthfirst search (BFS), Depth-first search (DFS) and cluster analysis technology (Arifin & Asano, 2006; Otazu & Pujol, 2006; Park & Baik, 2006; Tola et al., 2008; Zhao et al., 2008; Templ et al., 2008), and seeking after for the uniform laws of electrical quantities' marked changes. Then we can carry out fast and exact analysis of fault component. Finally we can accomplish fault

Let's consider a circuit with resistors(R), inductors (L), and capacitors(C), which has one element of each connected in a loop (Robinson, 2004). The part of the circuit containing one element is a branch. The points where the branches connect are nodes. There are three

*i* be the current in the resistor, inductor and capacitor respectively, and

*dt* , Faraday's

let *Rv* , *<sup>L</sup> v* and *Cv* be the voltage drop across the three branches of the circuit. Kirchhoff's voltage law states that the sum of the voltage drops around any loop is zero, that is, *RLC vvv* 0 . Kirchhoff's current law states that the total current flowing into a node must equal the current flowing out of that node, namely, *RLC iii* with the correct

A resistor is determined by a relationship between the current *Ri* and voltage *Rv* . Here, a linear resistor given by *R R v R i* , where *R* 0 is a constant, which is determined by Ohm's

law. An inductor is characterized by giving the time derivative of the current *<sup>L</sup> di*

isolation.

**2. Electric circuit theory** 

branches and nodes in Figure. 1.

Fig. 1. RLC electric circuit

Let *Ri* , *Li* and *<sup>C</sup>*

choice of signs.

law has proved that,

$$\mathcal{A} = -\frac{R}{2L} \pm \sqrt{\frac{R^2C - 4L}{4L^2C}}\tag{5}$$

Actually this system always has eigenvalues with negative real parts. If *<sup>L</sup> <sup>R</sup> C* <sup>2</sup> 4 , then the eigenvalues are real; else *<sup>L</sup> <sup>R</sup>* <sup>2</sup> 4 , they are complex.

### **3. Search principles in graph theory**

*C*

Many real world situations can conveniently be described by means of a diagram consisting of a set of points together with lines joining certain pairs of these points. In mathematics and computer science, graph theory is the study of graphs: mathematical structures used to model conjugated relations between objects from a certain collection. A graph is an abstract notion of a set of nodes and connection relations between them, that is, a collection of vertices or nodes and a collection of edges that connect pairs of vertices. A graph may be undirected, meaning that there is no distinction between the two vertices associated with each edge, or its edges may be directed from one vertex to another.

Applications of graph theory are primarily, but not exclusively, concerned with labeled graphs and various specializations of these. Structures that can be represented as graphs are

Research Progress of Complex Electric Power Systems: Graph Theory Approach 271

queue or linked list) called "open" and then once examined are placed in the container

Testing whether graph is connected, and finding all connected components in a graph;

 Computing, for every vertex in graph, a path with the minimum number of edges between start vertex and current vertex or reporting that no such path exists;

The Depth-first search (DFS) is an algorithm for traversing or searching a tree, tree structure, or graph. One starts at the root and explores as far as possible along each branch before

In formal way, DFS is an uninformed search that progresses by expanding the first child node of the search tree that appears and going deeper and deeper until a goal node is found, or until it reaches a node which has no child node. Then the search backtracks, and it will return to the most recent node that it has not finished exploring. The space complexity of DFS is much lower than BFS. It also lends itself much better to heuristic methods of choosing a likely-looking branch. Time complexity of both algorithms is proportional to the

Theories of classification come from philosophy, mathematics, statistics, psychology, computer science, linguistics, biology, medicine, and other areas. Cluster analysis can also be named classification, which is concerned with researching the relationships within a group of objects in order to establish whether or not the data can be summarized validly by a small number of clusters of similar objects. That is, cluster analysis encompasses the

Cluster analysis is commonly applied for statistical analyses of large amounts of experimental data exhibiting some kind of redundancy, which allows for compression of data to amount feasible for further exploration. This permits further mining of each cluster independently or, alternatively, constructing a high level view of the data set by replacing each cluster with its best single representative. Cluster analysis has great strength in data analysis and has been applied successfully to the researches of various fields. The effectiveness of a cluster approach depends on many choices. These include the choice of a cluster algorithm, an appropriate feature subspace, and a similarity metric defined over this subspace. In addition, cluster algorithms typically have a set of tunable parameters inherent to them that can heavily influence their performance. For example, many algorithms require the number of clusters desired, the maximum number of iterations, learning rate, its change schedule, etc. While some of these choices are obvious for simple artificial datasets. The

most common clustering algorithm choices are hierarchical cluster analysis.

BFS can be used to solve many problems in graph theory, for example:

Computing a cycle in graph or reporting that no such cycle exists.

number of vertices plus the number of edges in the graphs they traverse.

"closed" (Knuth, 1997).

Computing a spanning forest of graph;

backtracking (Thomas et al., 2001).

**4. Cluster analysis** 

methods used to:

Identify the clusters in the original data;

 Determine the number of clusters in the original data; Validate the clusters found in the original data.

ubiquitous, and many problems of practical interest can be represented by graphs. For example, in electric circuit theory, the Kirchhoff's voltage law and Kirchhoff's current law are only concerned with the structures and properties of the electric circuit. Then, any concrete electric circuit can be abstracted as a graph (Bondy & Murth, 1976). Here, let's give a simple electric circuit (See Figure 2), and its structure can be expressed as a graph (See Figure 3).

Fig. 2. A simple electric circuit

Fig. 3. A graph based on the simple electric circuit

Graph theory can be used to model many different physical and abstract systems such as transportation and communication networks, models for business administration, political science, and psychology and so on. Efficient storage and algorithm design techniques based on the graph representation make it particularly useful for utilizing computer. There are many algorithms that can be applied to resolve different kinds of problems, such as Breadthfirst search, Depth-first search, Bellman-Ford algorithm, Dijkstra's algorithm, Ford-Fulkerson algorithm, Kruskal's algorithm, Nearest neighbor algorithm, Prim's algorithm, etc. Hereinto, Breadth-first search (BFS) is a graph search algorithm that begins at the root node and explores all the neighboring nodes. Then for each of those nearest nodes, it explores their unexplored neighbor nodes, and so on, until it finds the goal.

BFS is an uninformed search method that aims to expand and examine all nodes of a graph or combinations of sequence by systematically searching through every solution. In other words, it exhaustively searches the entire graph or sequence without considering the goal until it finds it. From the standpoint of the algorithm, all child nodes obtained by expanding a node are added to a first-in, first-out (FIFO) queue. In typical implementations, nodes that have not yet been examined for their neighbors are placed in some container (such as a queue or linked list) called "open" and then once examined are placed in the container "closed" (Knuth, 1997).

BFS can be used to solve many problems in graph theory, for example:


The Depth-first search (DFS) is an algorithm for traversing or searching a tree, tree structure, or graph. One starts at the root and explores as far as possible along each branch before backtracking (Thomas et al., 2001).

In formal way, DFS is an uninformed search that progresses by expanding the first child node of the search tree that appears and going deeper and deeper until a goal node is found, or until it reaches a node which has no child node. Then the search backtracks, and it will return to the most recent node that it has not finished exploring. The space complexity of DFS is much lower than BFS. It also lends itself much better to heuristic methods of choosing a likely-looking branch. Time complexity of both algorithms is proportional to the number of vertices plus the number of edges in the graphs they traverse.

### **4. Cluster analysis**

270 New Frontiers in Graph Theory

ubiquitous, and many problems of practical interest can be represented by graphs. For example, in electric circuit theory, the Kirchhoff's voltage law and Kirchhoff's current law are only concerned with the structures and properties of the electric circuit. Then, any concrete electric circuit can be abstracted as a graph (Bondy & Murth, 1976). Here, let's give a simple electric circuit (See Figure 2), and its structure can be expressed as a graph (See

> Z

Graph theory can be used to model many different physical and abstract systems such as transportation and communication networks, models for business administration, political science, and psychology and so on. Efficient storage and algorithm design techniques based on the graph representation make it particularly useful for utilizing computer. There are many algorithms that can be applied to resolve different kinds of problems, such as Breadthfirst search, Depth-first search, Bellman-Ford algorithm, Dijkstra's algorithm, Ford-Fulkerson algorithm, Kruskal's algorithm, Nearest neighbor algorithm, Prim's algorithm, etc. Hereinto, Breadth-first search (BFS) is a graph search algorithm that begins at the root node and explores all the neighboring nodes. Then for each of those nearest nodes, it

BFS is an uninformed search method that aims to expand and examine all nodes of a graph or combinations of sequence by systematically searching through every solution. In other words, it exhaustively searches the entire graph or sequence without considering the goal until it finds it. From the standpoint of the algorithm, all child nodes obtained by expanding a node are added to a first-in, first-out (FIFO) queue. In typical implementations, nodes that have not yet been examined for their neighbors are placed in some container (such as a

explores their unexplored neighbor nodes, and so on, until it finds the goal.

Z

Figure 3).

Fig. 2. A simple electric circuit

Fig. 3. A graph based on the simple electric circuit

Theories of classification come from philosophy, mathematics, statistics, psychology, computer science, linguistics, biology, medicine, and other areas. Cluster analysis can also be named classification, which is concerned with researching the relationships within a group of objects in order to establish whether or not the data can be summarized validly by a small number of clusters of similar objects. That is, cluster analysis encompasses the methods used to:


Cluster analysis is commonly applied for statistical analyses of large amounts of experimental data exhibiting some kind of redundancy, which allows for compression of data to amount feasible for further exploration. This permits further mining of each cluster independently or, alternatively, constructing a high level view of the data set by replacing each cluster with its best single representative. Cluster analysis has great strength in data analysis and has been applied successfully to the researches of various fields. The effectiveness of a cluster approach depends on many choices. These include the choice of a cluster algorithm, an appropriate feature subspace, and a similarity metric defined over this subspace. In addition, cluster algorithms typically have a set of tunable parameters inherent to them that can heavily influence their performance. For example, many algorithms require the number of clusters desired, the maximum number of iterations, learning rate, its change schedule, etc. While some of these choices are obvious for simple artificial datasets. The most common clustering algorithm choices are hierarchical cluster analysis.

Research Progress of Complex Electric Power Systems: Graph Theory Approach 273

Bus1 00 0 1 1 0 1 0 0

Bus1 Bus2 Bus3 BusA BusB BusC Gen1 Gen2 Gen3

001 0 10 1 0 00 0 0 1 1 0 0 1

10 1 0 0 0 0 0 0

10 0 0 0 0 0 0 0 01 0 0 0 0 0 0

00 1 0 0 0 0 0 0

By the simulation experiments, we can get node phase voltage at *T*<sup>1</sup> ,*T*<sup>0</sup> (Fault),

Bus *T*-1 *T*0(Fault) *T*<sup>1</sup> *T*<sup>2</sup> *T*<sup>3</sup> Gen1 1.0100 0.7275 0.6924 0.6814 0.6747 Gen2 1.0100 0.8762 0.8476 0.8327 0.8134 Gen3 1.0100 0.8449 0.8071 0.7909 0.7710 Bus1 1.0388 0 0 0 0 Bus2 1.0430 0.7622 0.7350 0.7217 0.7049 Bus3 1.0534 0.7600 0.7275 0.7134 0.6960 BusA 1.0319 0.7540 0.7248 0.7114 0.6944 BusB 1.0222 0.2512 0.2404 0.2356 0.2294 BusC 1.0061 0.2470 0.2381 0.2336 0.2276

Table 1. The Node Phase Voltage At *T*<sup>1</sup> , *T*0 (Fault),*T*<sup>1</sup> , *T*<sup>2</sup> And *T*3 Five Times

Figure.5 is the BFS process of IEEE9-Bus system. In this diagram, Gen1 is the first generator node, it is also one of the terminals of BFS, and Bus1 is just the only node that connects with it. Combined the information characters of electrical measurements that have marked changes, the difference of Bus1 and other Buses is distinct. At the beginning, Bus1 has just been set as single-phase to ground, which is a typical bus-bar fault. In the final analysis, both of these two aspects are consistent, and we can identify effectively fault location based

Figure.6 is the DFS process of IEEE9-Bus system. In this diagram, the difference of Bus1 and other Buses is more distinct. Gen1 is the terminal of DFS, and Bus1 is just the only node that connects with it. In the beginning, we have set the Bus1 as single-phase to ground fault. Both of these two aspects are consistent. So, we can also identify effectively fault location based

0 0 00 0 0

00 0 0

0

The adjacency matrix of IEEE9-Bus system can be expressed as follows,

01 1 0 0

*T*<sup>1</sup> ,*T*<sup>2</sup> and*T*3 five times, see Table 1.

on BFS.

on DFS.

11 0

Bus2 0 Bus3 BusA BusB BusC Gen1 Gen2 Gen3

### **5. Fault analysis based on BFS and DFS**

Now let us consider IEEE9-Bus system, Figure 4 is presents the IEEE 9-Bus system electric diagram. In the structure of electric power system, Bus1 appears single-phase to ground fault. Through simulation experiments, using these actual measurement data of corresponding variables, we can carry through fault analysis of fault component and nonfault component.

Fig. 4. Electric diagram of IEEE 9-Bus system

Fig. 5. BFS diagram of IEEE 9-Bus system

272 New Frontiers in Graph Theory

Now let us consider IEEE9-Bus system, Figure 4 is presents the IEEE 9-Bus system electric diagram. In the structure of electric power system, Bus1 appears single-phase to ground fault. Through simulation experiments, using these actual measurement data of corresponding variables, we can carry through fault analysis of fault component and non-

**5. Fault analysis based on BFS and DFS** 

Fig. 4. Electric diagram of IEEE 9-Bus system

Fig. 5. BFS diagram of IEEE 9-Bus system

fault component.


The adjacency matrix of IEEE9-Bus system can be expressed as follows,

By the simulation experiments, we can get node phase voltage at *T*<sup>1</sup> ,*T*<sup>0</sup> (Fault), *T*<sup>1</sup> ,*T*<sup>2</sup> and*T*3 five times, see Table 1.


Table 1. The Node Phase Voltage At *T*<sup>1</sup> , *T*0 (Fault),*T*<sup>1</sup> , *T*<sup>2</sup> And *T*3 Five Times

Figure.5 is the BFS process of IEEE9-Bus system. In this diagram, Gen1 is the first generator node, it is also one of the terminals of BFS, and Bus1 is just the only node that connects with it. Combined the information characters of electrical measurements that have marked changes, the difference of Bus1 and other Buses is distinct. At the beginning, Bus1 has just been set as single-phase to ground, which is a typical bus-bar fault. In the final analysis, both of these two aspects are consistent, and we can identify effectively fault location based on BFS.

Figure.6 is the DFS process of IEEE9-Bus system. In this diagram, the difference of Bus1 and other Buses is more distinct. Gen1 is the terminal of DFS, and Bus1 is just the only node that connects with it. In the beginning, we have set the Bus1 as single-phase to ground fault. Both of these two aspects are consistent. So, we can also identify effectively fault location based on DFS.

Research Progress of Complex Electric Power Systems: Graph Theory Approach 275

that Bus1 has remarkable difference with other buses, and the fault characteristic is obvious. These results are entirely identical to the fault location set in advance, so we can also

Fig. 7. The dendrogram of hierarchical cluster analysis based on node phase voltage

The connectivity analysis is the essence of the power system topology analysis, which is also playing the basic function in many kinds of advanced application software for power system analysis and calculation (Monticelli, 1999). The actual power network structures are shown by the result of the power system topology analysis processor, as the bus/branch model. Hence, the aim of topology analysis is to map the bus-section/switching-device model in the physical equipments level into the bus/branch model for a number of advanced functions in Energy Management System (EMS) or Distribution Management System (DMS) (Monticelli, 1999), such as power flow calculation, state estimation,

The main methods used in connectivity analysis of power system are based on the Graph theory, including tree-search based method and matrix-based method (Zhu et al., 2002). The former one can also be classified into two algorithms according to the different search patterns, named as Depth First Search (DFS) and Breadth First Search (BFS). By now, this topology analysis method has a widely application in power system analysis software (e.g. EMS or DMS). However, if the loop structure exists in the current network, the efficiency of tree-search based method will be low (Zhu et al., 2002). Matrix-based method is a systematic method based on adjacent matrix (Goderya et al., 1980), which can clearly depict the connected relationship between the two nodes belonged to the same branch. As the aim of connectivity analysis, whether any two nodes is connected or not and how many connected pieces all nodes

**7. New approach for finding connected routes of power network** 

dispatcher training simulator (DTS) and so on.

confirm exactly fault location by the hierarchical cluster analysis.

Fig. 6. DFS diagram of IEEE 9-Bus system

### **6. Fault analysis based on hierarchical cluster analysis**

The hierarchical cluster analysis does not require us to specify the desired number of clusters *K*, instead affording a cluster dendrogram. In practice, the choice can be based on some domain specific and often have subjective components. There are three steps to hierarchical cluster analysis. First, we must identify an appropriate proximity measure. Second, we need to identify the appropriate cluster method for the data. Finally, an appropriate stopping criterion is needed to identify the number of clusters in the hierarchy. The distance or similarity metric used in cluster is crucial for the success of the cluster method. Euclidean distance and Pearson correlation are among the most frequently used.

Now let us continue to consider IEEE9-Bus system. According to the results of the simulation experiments (Table 1), basing on node phase voltage, we carry out hierarchical cluster analysis. Figure.7 is the dendrogram of hierarchical cluster analysis based on node phase voltage.

Let us explain the entire process of cluster analysis in detail. The entire cluster analysis process is carried out according to the principle of similarity from high to low (distance from near to far), the order is,

Steps 1: BusC is combined with BusB to form the new BusB; Steps 2: Bus3 is combined with Bus2 to form the new Bus2; Steps 3: BusA is combined with Bus2 to form the new Bus2; Steps 4: Bus2 is combined with Gen1 to form the new Gen1; Steps 5: Gen3 is combined with Gen2 to form the new Gen3; Steps 6: Gen2 is combined with Gen1 to form the new Gen1; Steps 7: BusB is combined with Bus1 to form the new Bus1; Steps 8: Gen1 is combined with Bus1 to form the new Bus1.

From the entire hierarchical cluster process analysis, Bus1 has the lowest similarity to other nodes (the farthest distance to other nodes). It can also be found easily out from Figure.7 274 New Frontiers in Graph Theory

The hierarchical cluster analysis does not require us to specify the desired number of clusters *K*, instead affording a cluster dendrogram. In practice, the choice can be based on some domain specific and often have subjective components. There are three steps to hierarchical cluster analysis. First, we must identify an appropriate proximity measure. Second, we need to identify the appropriate cluster method for the data. Finally, an appropriate stopping criterion is needed to identify the number of clusters in the hierarchy. The distance or similarity metric used in cluster is crucial for the success of the cluster method. Euclidean distance and Pearson correlation are among the most frequently used.

Now let us continue to consider IEEE9-Bus system. According to the results of the simulation experiments (Table 1), basing on node phase voltage, we carry out hierarchical cluster analysis. Figure.7 is the dendrogram of hierarchical cluster analysis based on node

Let us explain the entire process of cluster analysis in detail. The entire cluster analysis process is carried out according to the principle of similarity from high to low (distance

From the entire hierarchical cluster process analysis, Bus1 has the lowest similarity to other nodes (the farthest distance to other nodes). It can also be found easily out from Figure.7

Fig. 6. DFS diagram of IEEE 9-Bus system

phase voltage.

from near to far), the order is,

**6. Fault analysis based on hierarchical cluster analysis** 

Steps 1: BusC is combined with BusB to form the new BusB; Steps 2: Bus3 is combined with Bus2 to form the new Bus2; Steps 3: BusA is combined with Bus2 to form the new Bus2; Steps 4: Bus2 is combined with Gen1 to form the new Gen1; Steps 5: Gen3 is combined with Gen2 to form the new Gen3; Steps 6: Gen2 is combined with Gen1 to form the new Gen1; Steps 7: BusB is combined with Bus1 to form the new Bus1; Steps 8: Gen1 is combined with Bus1 to form the new Bus1.

that Bus1 has remarkable difference with other buses, and the fault characteristic is obvious. These results are entirely identical to the fault location set in advance, so we can also confirm exactly fault location by the hierarchical cluster analysis.


Fig. 7. The dendrogram of hierarchical cluster analysis based on node phase voltage

### **7. New approach for finding connected routes of power network**

The connectivity analysis is the essence of the power system topology analysis, which is also playing the basic function in many kinds of advanced application software for power system analysis and calculation (Monticelli, 1999). The actual power network structures are shown by the result of the power system topology analysis processor, as the bus/branch model. Hence, the aim of topology analysis is to map the bus-section/switching-device model in the physical equipments level into the bus/branch model for a number of advanced functions in Energy Management System (EMS) or Distribution Management System (DMS) (Monticelli, 1999), such as power flow calculation, state estimation, dispatcher training simulator (DTS) and so on.

The main methods used in connectivity analysis of power system are based on the Graph theory, including tree-search based method and matrix-based method (Zhu et al., 2002). The former one can also be classified into two algorithms according to the different search patterns, named as Depth First Search (DFS) and Breadth First Search (BFS). By now, this topology analysis method has a widely application in power system analysis software (e.g. EMS or DMS). However, if the loop structure exists in the current network, the efficiency of tree-search based method will be low (Zhu et al., 2002). Matrix-based method is a systematic method based on adjacent matrix (Goderya et al., 1980), which can clearly depict the connected relationship between the two nodes belonged to the same branch. As the aim of connectivity analysis, whether any two nodes is connected or not and how many connected pieces all nodes

Research Progress of Complex Electric Power Systems: Graph Theory Approach 277

*v*3 *v*5

Where, if there is a edge between vertex *i* and vertex *j* , the value of *A i adj*( , ) is equal to 1; *j* otherwise, *A ij adj*(, ) 0 . Especially, the diagonal element of *Aadj* is set to 1. Obviously, this matrix *Aadj* can not describe the relationship between any two nodes, which are not incident to the same edge. Therefore, the completed connected matrix *A* is needed, which can depict the connected relationship between any two nodes in one graph. Corresponding to

In a summary, the matrix-based method for the connectivity analysis is to find the completed connected matrix *A* from original adjacent matrix *Aadj* . According to the Graph

*<sup>n</sup> A Aadj*

where, *n* is the number of vertexes in the graph *G* . In this process, the computation burden centers on the square of the matrix. It is worth to point out that the repeat calculation has taken the most part of the total time for the determination process of connected relationship

connected graph *G* in Figure. 8, the elements of matrix *A* are equal to 1, as following:

*e*5 *e*6 *e*3

*v*6

(6)

(7)

<sup>1</sup> (8)

*v*2 *v*4

*e*4

*v*1

*Aadj*

*A*

Theory, the matrix *A* is obtained from the formulation (8):

among nodes.

Fig. 8. A simple graph G with six vertexes and six edges

The adjacent matrix *Aadj* of graph *G* in Figure.8 is following:

*e*1 *e*2

could be mapped into will be the ultimate target of topology analysis. Therefore, the complete connected matrix will be needed to gain a global connectivity information among nodes, which can be obtained by the self-multiplying of the above mentioned adjacent matrix with the number of operations no more than *n* 1 (where, the *n* is the total number of the nodes). Obviously, the calculation burden of the matrix-based method will increase sharply as the expanding of the network scale. So in the substation or plants of power system where the number of nodes is not large, the matrix-based one also can play the role in grouping the connected physical nodes and then mapping the connected pieces into buses. Substation configuration has taken the most part of the total time needed in topology analysis (Zhang et al., 2010). Therefore, the substation configuration will be paid more attention in this paper.

The basic object of the above two methods is the vertexes/edges model mapped from the physical connections, in which the edges are corresponding to the switch devices, and the vertex will be the electrical connected points or physical buses. Therefore, once the state of the switches is changed, the connectivity analysis process will be restarted. Neither in treesearch based method nor in matrix-based method, the repeat search and calculation can not be avoided, which seriously effects the efficiency of the tracking of the status change happened in switch devices. In order to reduce the on-line topology analysis burden, the reference (Zhang et al., 2010) has established one method based on the graphic characteristic of the main connections, in which the each element of the complete connected matrix is represented by a set of connected routes with the open-close state of edges as variables. If the status of the each edge is determined, the value of these connected routes could be gained and the relationship between the mentioned nodes is confirmed. Hence, the large amount of repeat calculation is avoided. However, the connected routes finding algorithm is based on the type of electrical main connections used as the rule-based method, which is not systematic method and not suit for the irregular connections.

In this section, a new connected routes finding algorithm is proposed based on the adjoint matrix of the symbolic adjacent matrix, and a simplifying method is also applied to extract the connected routes information readily. Compare to the graphic feature based method, the new finding algorithm is an systematic one, which is suitable for various network connection structures.

### **8. The new connected routes finding algorithm**

According to the Graph Theory (Diestel, 2000), the matrix could be used as the representation of one special graph, which is easily be analyzed and calculated by the computer. The two kinds of matrix usually used in analysis are incident matrix *Ainc* and adjacent matrix *Aadj* respectively. The *Ainc* depicts the connected relationship between the nodes and edges, and the *Aadj* gives a description of the relationship between two nodes. The aim of connectivity analysis is to group the nodes into different connected pieces, *Aadj* could meet this requirement and usually be used to do connectivity analysis.

For a special simple network structure as shown in Figure.8, the vertex set is*VG v v v v v v* ( ) [ 1, 2, 3, 4, 5, 6] , and the edge set is *EG e e e e e e* ( ) [ 1, 2, 3, 4, 5, 6] . The mapping relationship set between the vertexes and edges is ( ): *GE VV* , such as ( 1) 1, 2 *e vv* ,( 2) 2, 3 *e vv* ,…, ( 6) 5, 6 *e vv* .

Fig. 8. A simple graph G with six vertexes and six edges

276 New Frontiers in Graph Theory

could be mapped into will be the ultimate target of topology analysis. Therefore, the complete connected matrix will be needed to gain a global connectivity information among nodes, which can be obtained by the self-multiplying of the above mentioned adjacent matrix with the number of operations no more than *n* 1 (where, the *n* is the total number of the nodes). Obviously, the calculation burden of the matrix-based method will increase sharply as the expanding of the network scale. So in the substation or plants of power system where the number of nodes is not large, the matrix-based one also can play the role in grouping the connected physical nodes and then mapping the connected pieces into buses. Substation configuration has taken the most part of the total time needed in topology analysis (Zhang et al., 2010). Therefore, the substation configuration will be paid more attention in this paper.

The basic object of the above two methods is the vertexes/edges model mapped from the physical connections, in which the edges are corresponding to the switch devices, and the vertex will be the electrical connected points or physical buses. Therefore, once the state of the switches is changed, the connectivity analysis process will be restarted. Neither in treesearch based method nor in matrix-based method, the repeat search and calculation can not be avoided, which seriously effects the efficiency of the tracking of the status change happened in switch devices. In order to reduce the on-line topology analysis burden, the reference (Zhang et al., 2010) has established one method based on the graphic characteristic of the main connections, in which the each element of the complete connected matrix is represented by a set of connected routes with the open-close state of edges as variables. If the status of the each edge is determined, the value of these connected routes could be gained and the relationship between the mentioned nodes is confirmed. Hence, the large amount of repeat calculation is avoided. However, the connected routes finding algorithm is based on the type of electrical main connections used as the rule-based method, which is not

In this section, a new connected routes finding algorithm is proposed based on the adjoint matrix of the symbolic adjacent matrix, and a simplifying method is also applied to extract the connected routes information readily. Compare to the graphic feature based method, the new finding algorithm is an systematic one, which is suitable for various network

According to the Graph Theory (Diestel, 2000), the matrix could be used as the representation of one special graph, which is easily be analyzed and calculated by the computer. The two kinds of matrix usually used in analysis are incident matrix *Ainc* and adjacent matrix *Aadj* respectively. The *Ainc* depicts the connected relationship between the nodes and edges, and the *Aadj* gives a description of the relationship between two nodes. The aim of connectivity analysis is to group the nodes into different connected pieces, *Aadj*

For a special simple network structure as shown in Figure.8, the vertex set is*VG v v v v v v* ( ) [ 1, 2, 3, 4, 5, 6] , and the edge set is *EG e e e e e e* ( ) [ 1, 2, 3, 4, 5, 6] . The mapping

( 6) 5, 6 *e vv* .

( ): *GE VV* , such as

could meet this requirement and usually be used to do connectivity analysis.

relationship set between the vertexes and edges is

( 2) 2, 3 *e vv* ,…,

systematic method and not suit for the irregular connections.

**8. The new connected routes finding algorithm** 

connection structures.

( 1) 1, 2 *e vv* ,

The adjacent matrix *Aadj* of graph *G* in Figure.8 is following:

$$A\_{adj} = \begin{vmatrix} 1 & 1 & 0 & 0 & 0 & 0 \\ 1 & 1 & 1 & 1 & 0 & 0 \\ 0 & 1 & 1 & 1 & 0 & 0 \\ 0 & 1 & 1 & 1 & 1 & 0 \\ 0 & 0 & 0 & 1 & 1 & 1 \\ 0 & 0 & 0 & 0 & 1 & 1 \end{vmatrix} \tag{6}$$

Where, if there is a edge between vertex *i* and vertex *j* , the value of *A i adj*( , ) is equal to 1; *j* otherwise, *A ij adj*(, ) 0 . Especially, the diagonal element of *Aadj* is set to 1. Obviously, this matrix *Aadj* can not describe the relationship between any two nodes, which are not incident to the same edge. Therefore, the completed connected matrix *A* is needed, which can depict the connected relationship between any two nodes in one graph. Corresponding to connected graph *G* in Figure. 8, the elements of matrix *A* are equal to 1, as following:

$$A = \begin{bmatrix} 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 & 1 \end{bmatrix} \tag{7}$$

In a summary, the matrix-based method for the connectivity analysis is to find the completed connected matrix *A* from original adjacent matrix *Aadj* . According to the Graph Theory, the matrix *A* is obtained from the formulation (8):

$$A = A\_{adj}^{n-1} \tag{8}$$

where, *n* is the number of vertexes in the graph *G* . In this process, the computation burden centers on the square of the matrix. It is worth to point out that the repeat calculation has taken the most part of the total time for the determination process of connected relationship among nodes.

Research Progress of Complex Electric Power Systems: Graph Theory Approach 279

*A ee ee e ee ee e adj*

Similarly, there are two connected routes between node *v*1 and *v*4 , respectively which are *e e* 1 4 and *eee* 1 2 3 . As a result in the representation of *Aadj*(1,4) , these two routes are

*A ee ee eee ee e ee adj*

As to diagonal element, there is not route between the node and itself. As shown in *Aadj*(1,1) , the representation is very complicated. However, in the practical analysis, the value of the diagonal element is set to 1. Obviously, this term is also existing in the *Aadj*(1,1)

> *A e e e e e eee e adj eee e e e e e*

 

In a summary, the non-diagonal element of the adjoint matrix *Aadj* has contained all the routes between the relevant two nodes. However, it is very low efficient to finding all the connected routes between the nodes just by the observation method. Therefore, in the next subsection, one simplifying method is proposed to make a rapidly and accurately finding.

Having taken many different network structures cases into consideration, the needed terms which represent the connected routes between the mentioned two nodes can be extracted by

Step1: Firstly, if the highest power of one term in the polynomial is not less than 2, this term

Step2: Secondly, if the absolute value of coefficient of one term is not equal to 1, this term

Step3: Thirdly, the coefficient of all the left terms is set to its absolute value, which is 1 in

After the above mentioned three steps, the representation of element in adjoint matrix *Aadj* can be simplified into the needed connected routes formation. In order to make a detailed

These terms such as *e e* <sup>2</sup> 1 3 , *ee e* 2 2 13 6 , *e e* <sup>2</sup> 1 5 , *e e* <sup>2</sup> 1 6 will be removed in the first step, because the highest power of them are equal to 2 respectively; and the simplified

(1,1) 2 5 2 6 - 2 - 2 2 3 6 4 2432 3 6 - 6 6 4

22 2


22 22 2 2

22 2 22

\* ,

(13)

 *ee e*

As to one special representation of the element in adjoint matrix *Aadj*

depiction, the *Aadj*(1,2) is picked and taken as example.

For *A ee ee e ee ee e adj* 2 22 2 2 (1,2) 1 3 - 1 3 6 1 5 1 6 - 1 :

result *A s adj*(1,2)\_ 1 in this step is as following:

playing the roles as two terms signed by two rectangles,

as

**8.2 Simplifying method** 

the following three steps:

should be removed;

fact.

also should be removed;

2 22 2 2 (1,2) 1 3 - 1 3 6 1 5 1 6 - 1 (11)

2 2 (1,4) 1 6 2 3 - 1 2 3 - 1 6 4 1 4 (12)

#### **8.1 The basic principle of new algorithm**

Different from the traditional matrix-based method, the edges in the graph *G* are treated as the independent variables with the open-close two statuses; that is, if the edge is opened, the value of this corresponding variable is set to 0, otherwise, the value is equal to 1. Therefore, the adjacent matrix *Aadj* is the function of the current edge status, as following based on the Figure. 8.

$$A\_{adj}(E) = \begin{bmatrix} 1 & e1 & 0 & 0 & 0 & 0 \\ e1 & 1 & e2 & e4 & 0 & 0 \\ 0 & e2 & 1 & e3 & 0 & 0 \\ 0 & e4 & e3 & 1 & e5 & 0 \\ 0 & 0 & 0 & e5 & 1 & e6 \\ 0 & 0 & 0 & 0 & e6 & 1 \end{bmatrix} \tag{9}$$

where, *E* is organized as a vector, such as [ 1, 2, 3, 4, 5, 6] *eeeeee* . Once the state of the each edge is determined, the vector *E* will be established and the matrix *A E adj*( ) is also formed by substituting the current edge status. Take Figure.8 as an example, all the edges are closed and the current edge status vector *E* is equal to[1,1,1,1,1,1] .

The adjoint matrix of *Aadj* is defined as *Aadj* , and corresponding to formulation (9), the detailed element representations in the first row of *Aadj* are extracted for the in-depth analysis, which are as following:

$$\begin{aligned} A\_{\text{adj}}^{\ast}(1,1) &= e2^2 \cdot e5^2 + e2^2 \cdot e6^2 \cdot e2^2 \cdot 2e2 \, e3 \, e6^2 \, e4 \\ &+ 2e4e3e2 + e3^2 \, e6^2 \cdot e6^2 + e6^2 \, e4^2 \\ &- e3^2 \cdot e5^2 + 1 \cdot e4^2 \\\ A\_{\text{adj}}^{\ast}(1,2) &= e1 \varepsilon 3^2 \cdot e1 \varepsilon 3^2 \, e6^2 + e1 \varepsilon 5^2 + e1 \epsilon 6^2 \cdot e1 \\\ A\_{\text{adj}}^{\ast}(1,3) &= -e1 \varepsilon 2 \, e5^2 \cdot e1 \epsilon 2 \, e6^2 + e1 \epsilon 2 \cdot e1 \epsilon 4 \epsilon 3 \\ &+ e1 \epsilon 3 \epsilon 6^2 \, e4 \\\ A\_{\text{adj}}^{\ast}(1,4) &= \epsilon 1 \epsilon 6^2 \, e2 \epsilon 3 \cdot e1 \epsilon 2 \epsilon 3 \cdot e1 \epsilon 6^2 \, e4 + e1 \epsilon 4 \\\ A\_{\text{adj}}^{\ast}(1,5) &= \epsilon 1 \epsilon 5 \epsilon 2 \epsilon 3 \cdot e1 \epsilon 5 \epsilon 4 \\\ A\_{\text{adj}}^{\ast}(1,6) &= -e1 \epsilon 6 \epsilon 5 \epsilon 2 \epsilon 3 + e1 \epsilon 6 \epsilon 5 \epsilon 4 \end{aligned} \tag{10}$$

The detailed analysis of the above representations in (10) is:

As to non-diagonal element, the representation has included all the routes between the two nodes indexed by the column and row number. For instance, in Figure.8, there is only one route between node *<sup>v</sup>*1 and node *<sup>v</sup>*2 , which is *e*1 . Comparing to the *Aadj*(1,2) , the route *e*<sup>1</sup> is included in this element's representation as one individual term stamped by one rectangle,

$$A\_{\text{adj}}^{\*}(1,2) = e1e3^2 \cdot e1e3^2e6^2 + e1e5^2 + e1e6^2 \cdot \boxed{\underline{e1}} \tag{11}$$

Similarly, there are two connected routes between node *v*1 and *v*4 , respectively which are *e e* 1 4 and *eee* 1 2 3 . As a result in the representation of *Aadj*(1,4) , these two routes are playing the roles as two terms signed by two rectangles,

$$A\_{\text{adj}}^{\*}(1,4) = \ e1e6^{2}e2e3 \cdot \boxed{e1e2e3} \cdot e1e6^{2}e4 + \boxed{e1e4} \tag{12}$$

As to diagonal element, there is not route between the node and itself. As shown in *Aadj*(1,1) , the representation is very complicated. However, in the practical analysis, the value of the diagonal element is set to 1. Obviously, this term is also existing in the *Aadj*(1,1) as

$$\begin{aligned} A\_{\text{adj}}^{\star}(1,1) &= e \mathfrak{L}^{2} e \mathfrak{S}^{2} + e \mathfrak{L}^{2} e \mathfrak{G}^{2} \cdot e \mathfrak{L}^{2} \cdot 2e 2e \mathfrak{G} e \mathfrak{G}^{2} e 4 \\ &+ 2e 4e \mathfrak{G} e \mathfrak{L} + e \mathfrak{J}^{2} e \mathfrak{G}^{2} \cdot e \mathfrak{G}^{2} + e \mathfrak{G}^{2} e \mathfrak{A}^{2} \\ &- e \mathfrak{S}^{2} \cdot e \mathfrak{S}^{2} + \boxdot \mathfrak{L} \cdot e \mathfrak{A}^{2} \end{aligned} \tag{13}$$

In a summary, the non-diagonal element of the adjoint matrix *Aadj* has contained all the routes between the relevant two nodes. However, it is very low efficient to finding all the connected routes between the nodes just by the observation method. Therefore, in the next subsection, one simplifying method is proposed to make a rapidly and accurately finding.

#### **8.2 Simplifying method**

278 New Frontiers in Graph Theory

Different from the traditional matrix-based method, the edges in the graph *G* are treated as the independent variables with the open-close two statuses; that is, if the edge is opened, the value of this corresponding variable is set to 0, otherwise, the value is equal to 1. Therefore, the adjacent matrix *Aadj* is the function of the current edge status, as following based on the

> *e e ee e e*

> > *ee e*

where, *E* is organized as a vector, such as [ 1, 2, 3, 4, 5, 6] *eeeeee* . Once the state of the each edge is determined, the vector *E* will be established and the matrix *A E adj*( ) is also formed by substituting the current edge status. Take Figure.8 as an example, all the edges are closed

*A e e e e e eee e*

 

(1,1) 2 5 2 6 - 2 - 2 2 3 6 4 2432 3 6 - 6 6 4

22 22 2 2

2 22 2 2

22 2 22

*A ee ee e ee ee e A eee eee ee eee*

*A ee ee eee ee e ee*

As to non-diagonal element, the representation has included all the routes between the two nodes indexed by the column and row number. For instance, in Figure.8, there is only one route between node *<sup>v</sup>*1 and node *<sup>v</sup>*2 , which is *e*1 . Comparing to the *Aadj*(1,2) , the route *e*<sup>1</sup> is included in this element's representation as one individual term stamped by one

2 2

(1,2) 1 3 - 1 3 6 1 5 1 6 - 1 (1,3) - 1 2 5 - 1 2 6 1 2 - 1 4 3

2 2

(1,4) 1 6 2 3 - 1 2 3 - 1 6 4 1 4

 *eee e e e e e*

22 2

2

136 4


 *ee e*

 *eee e*

The detailed analysis of the above representations in (10) is:

*A eeee eee*

*A eeeee eeee*

(1,6) - 1 6 5 2 3 1 6 5 4

(1,5) 1 5 2 3 - 1 5 4

0 0 0 51 6 0 0 0 0 61

1 10 0 0 0 11 2 40 0 0 21 30 0 ( ) 0 4 31 50

> *e e e*

(9)

, and corresponding to formulation (9), the

are extracted for the in-depth

(10)

**8.1 The basic principle of new algorithm** 

*adj*

and the current edge status vector *E* is equal to[1,1,1,1,1,1] .

detailed element representations in the first row of *Aadj*

*adj*

*adj adj*

*adj adj adj*

 

 

The adjoint matrix of *Aadj* is defined as *Aadj*

analysis, which are as following:

*A E*

Figure. 8.

rectangle,

Having taken many different network structures cases into consideration, the needed terms which represent the connected routes between the mentioned two nodes can be extracted by the following three steps:

As to one special representation of the element in adjoint matrix *Aadj* \* ,

Step1: Firstly, if the highest power of one term in the polynomial is not less than 2, this term should be removed;

Step2: Secondly, if the absolute value of coefficient of one term is not equal to 1, this term also should be removed;

Step3: Thirdly, the coefficient of all the left terms is set to its absolute value, which is 1 in fact.

After the above mentioned three steps, the representation of element in adjoint matrix *Aadj* can be simplified into the needed connected routes formation. In order to make a detailed depiction, the *Aadj*(1,2) is picked and taken as example.

$$\text{For } A\_{\text{adj}}^{\*} (1, 2) = e 1e \mathcal{S}^{2} \text{ - } e 1e \mathcal{S}^{2} e \mathcal{G}^{2} + e 1e \mathcal{S}^{2} + e 1e \mathcal{G}^{2} \text{ - } e 1:1$$

These terms such as *e e* <sup>2</sup> 1 3 , *ee e* 2 2 13 6 , *e e* <sup>2</sup> 1 5 , *e e* <sup>2</sup> 1 6 will be removed in the first step, because the highest power of them are equal to 2 respectively; and the simplified result *A s adj*(1,2)\_ 1 in this step is as following:

Research Progress of Complex Electric Power Systems: Graph Theory Approach 281

*e e*

*e e ee e eee ee ee eee e e e*

*e*1 *e*2

*v*1

*v*2

routes matrix is represented by the upper triangular as following:

\* \_ 3 with the current edges status vector *E* .

Fig. 9. A typical angle connection with four angles

*adj*

\*

matrix *A s adj*

*A s*

*e*3 *e*4

After the treatment of the simplifying method proposed in Section II, the final connected

\_ 3 1 4 123

Hence, the completed connected matrix *A* can be determined according to

*e eee ee ee eee e*

1 1 432 13 24 134 2

*e eee ee ee*

1 3 214 43 21

*e eee*

(21)

1

*v*3


2 22 2 2 2 2

*e e e eee e e ee ee*


*e e e e e eee*


22 2

*v*4

*e e*

*e e*

1 10 2 11 30 0 31 4 20 41

*e e*

(19)

*e e*


2 2

\* is:

(20)

*adj*

As the adjoint matrix of the symmetrical matrix *Aadj* , the upper triangular of *Aadj*

*A*

The corresponding adjacent matrix *Aadj* is:

*adj*

\*

*A*

$$A\_{\text{adj}}^{\ast}(\mathbf{1}, \mathbf{2}) \\_{\text{s1}} = s\_1(A\_{\text{adj}}^{\ast}(\mathbf{1}, \mathbf{2})) = -e\mathbf{1} \tag{14}$$

In the second step, no term will be removed, because the left term *e*1 does not meet the condition that absolute value of coefficient is not equal to 1. Hence, there is:

$$A\_{\text{adj}}^{\*}(1,2)\\_{s2} = s\_2(A\_{\text{adj}}^{\*}(1,2)\\_{s1}) = -e1\tag{15}$$

In the final step, the coefficients of terms in *A s adj*(1,2)\_ 2 are substituted by their absolute values, and ultimate organization formation of connected routes is obtained as following:

$$A\_{\text{adj}}^{\ast}(1,2)\\_{\text{s}\mathfrak{Z}} = \text{s}\_{\text{3}}(A\_{\text{adj}}^{\ast}(1,2)\\_{\text{s}\mathfrak{Z}}) = e\mathbf{1} \tag{16}$$

Similarly, the first row in the adjoint matrix *Aadj* can be transformed into the connected routes formation as following

$$\begin{aligned} A\_{adj}^{\*}(1,1)\\_{s3} &= 1\\ A\_{adj}^{\*}(1,2)\\_{s3} &= e1\\ A\_{adj}^{\*}(1,3)\\_{s3} &= e1e2 + e1e4e3\\ A\_{adj}^{\*}(1,4)\\_{s3} &= e1e2e3 + e1e4\\ A\_{adj}^{\*}(1,5)\\_{s3} &= e1e5e2e3 + e1e5e4\\ A\_{adj}^{\*}(1,6)\\_{s3} &= e1e6e5e2e3 + e1e6e5e4 \end{aligned} \tag{17}$$

According to the above simplifying method, the elements in the other rows of the adjoint matrix *Aadj* also can be simplified and organized as the connected routes form. When the matrix *Aadj* \_ 3 is formed as the ultimate result, the *s* current edge statuses can be substituted as individual variables and the completed connected matrix *A* also can be obtained equally. Obviously, the following formulation will be established:

$$A = A\_{adj} - s\Re(E) \tag{18}$$

### **9. The application for substation configuration of power system topology analysis**

In substation configuration, the network structure is more complicated than the network connection among substations or plants. The number of nodes in one substation or plants is not large, so the matrix-based method can be adopted for the operation of low dimension matrix. Generally, one electrical connection can be mapped into a graph, in which the switch device is corresponding to the edge, and the physical bus and electrical connected point are transformed into vertexes.

In this part, the more complicated electrical main connection—angle connection with four angles is taken as an example. One typical connection of this type is show in Figure. 9.

The corresponding adjacent matrix *Aadj* is:

280 New Frontiers in Graph Theory

*A s sA e adj* <sup>1</sup> *adj* (1,2)\_ 1 ( (1,2)) 1 (14)

In the second step, no term will be removed, because the left term *e*1 does not meet the

In the final step, the coefficients of terms in *A s adj*(1,2)\_ 2 are substituted by their absolute values, and ultimate organization formation of connected routes is obtained as following:

Similarly, the first row in the adjoint matrix *Aadj* can be transformed into the connected

*A s sA s e adj* <sup>2</sup> *adj* (1,2)\_ 2 ( (1,2)\_ 1) 1 (15)

*A s sA s e adj* <sup>3</sup> *adj* (1,2)\_ 3 ( (1,2)\_ 2) 1 (16)

*A A sE adj* \_ 3( ) (18)

(17)

condition that absolute value of coefficient is not equal to 1. Hence, there is:

*adj adj adj adj adj adj*

 

Obviously, the following formulation will be established:

*A s*

*A se*

(1,1)\_ 3 1 (1,2)\_ 3 1

*A s ee eee A s eee ee*

 

*A s eeee eee*

**9. The application for substation configuration of power system topology** 

In substation configuration, the network structure is more complicated than the network connection among substations or plants. The number of nodes in one substation or plants is not large, so the matrix-based method can be adopted for the operation of low dimension matrix. Generally, one electrical connection can be mapped into a graph, in which the switch device is corresponding to the edge, and the physical bus and electrical connected point are

In this part, the more complicated electrical main connection—angle connection with four angles is taken as an example. One typical connection of this type is show in Figure. 9.

(1,3)\_ 3 1 2 1 4 3 (1,4)\_ 3 1 2 3 1 4

 

*A s eeeee eeee*

According to the above simplifying method, the elements in the other rows of the adjoint matrix *Aadj* also can be simplified and organized as the connected routes form. When the matrix *Aadj* \_ 3 is formed as the ultimate result, the *s* current edge statuses can be substituted as individual variables and the completed connected matrix *A* also can be obtained equally.

(1,6)\_ 3 1 6 5 2 3 1 6 5 4

(1,5)\_ 3 1 5 2 3 1 5 4

routes formation as following

**analysis** 

transformed into vertexes.

$$A\_{adj} = \begin{bmatrix} 1 & e1 & 0 & e2 \\ e1 & 1 & e3 & 0 \\ 0 & e3 & 1 & e4 \\ e2 & 0 & e4 & 1 \end{bmatrix} \tag{19}$$

As the adjoint matrix of the symmetrical matrix *Aadj* , the upper triangular of *Aadj* \* is:

$$A\_{\mathrm{adj}}^{\*} = \begin{bmatrix} \cdot \epsilon \mathbf{4}^{2} + 1 \cdot \epsilon \mathbf{3}^{2} & \epsilon 1 \epsilon \mathbf{4}^{2} \cdot \epsilon \mathbf{1} \cdot \epsilon \mathbf{1} \cdot \epsilon \mathbf{1} \epsilon \mathbf{3} \epsilon \mathbf{2} & \epsilon 1 \epsilon \mathbf{3} + \epsilon 2 \epsilon \mathbf{4} & \cdots \epsilon 1 \epsilon \mathbf{3} \epsilon \mathbf{4} \cdot \epsilon \mathbf{2} + \epsilon \mathbf{3}^{2} \epsilon \mathbf{2} \\ & \cdot \epsilon \mathbf{4}^{2} + 1 \cdot \epsilon \mathbf{2}^{2} & \epsilon \mathbf{3} \cdot \epsilon \mathbf{2} \epsilon \mathbf{1} \epsilon \mathbf{4} + \epsilon \mathbf{2}^{2} \epsilon \mathbf{3} & \epsilon 4 \epsilon \mathbf{3} + \epsilon 2 \epsilon \mathbf{1} \\ & \cdot \epsilon \mathbf{2}^{2} + 1 \cdot \epsilon \mathbf{1} \cdot \epsilon \mathbf{1}^{2} & \epsilon \mathbf{4} + \epsilon \mathbf{1}^{2} \epsilon \mathbf{4} + \epsilon \mathbf{1} \epsilon \mathbf{2} \epsilon \mathbf{3} \\ & & \cdot \epsilon \mathbf{3}^{2} + 1 \cdot \epsilon \mathbf{1}^{2} \end{bmatrix} \tag{20}$$

Fig. 9. A typical angle connection with four angles

After the treatment of the simplifying method proposed in Section II, the final connected routes matrix is represented by the upper triangular as following:

$$A\_{\text{adj\\_}}^{\*}s3 = \begin{bmatrix} 1 & e1 + e4e3e2 & e1e3 + e2e4 & e1e3e4 + e2 \\ & 1 & e3 + e2e1e4 & e4e3 + e2e1 \\ & & 1 & e4 + e1e2e3 \\ & & & 1 \end{bmatrix} \tag{21}$$

Hence, the completed connected matrix *A* can be determined according to matrix *A s adj* \* \_ 3 with the current edges status vector *E* .

Research Progress of Complex Electric Power Systems: Graph Theory Approach 283

analysis of power system. Finally, the case study on the angle connection in substation has

The fault in electric power system can not be completely avoided. When electric power system operates from normal state to failure or abnormal operates, its electric quantities (current, voltage and their angles, etc.) may change significantly. In our researches, utilizing real-time measurements of PMU, we are using mainly graph theory and multivariate statistical analysis theory to seek after for the uniform laws of electrical quantities' marked changes. Then we can carry out fast and exact analysis of fault component. Finally we can

These researches have proven that the complexity of electric power system can be explored successfully by analysis and calculation based on graph theory and multivariate statistical

This research was supported partly by the National Natural Science Foundation of China (50837002), the Fundamental Research Funds for the Central Universities (11MG37), the Natural Science Foundation of Hebei Province and the Training Plan of Top-notch Doctoral

Arifin, A.Z. & Asano, A. (2006). Image segmentation by histogram thresholding using

Bondy, J.A. & Murth, U.S.R. (1976). *Graph Theory with Applications*, Elsevier Science

Goderya, F., Metwally, A.A & Mansour, O. (1980). Fast detection and identification of

Knuth, D.E. (1997). *The Art Of Computer Programming*, Third Edition, Addison-Wesley, ISBN:

Monticelli, A. (1999). *State Estimation in Electric Power Systems: A Generalized Approach*, Kluwer Academic Publisher, ISBN: 978-0-792-38519-6, Massachusetts Otazu, X. & Pujol, O. (2006). Wavelet based approach to cluster analysis. Application on low

Park, H.S. & Baik, D.K. (2006). A study for control of client value using cluster analysis. *Journal of Network and Computer Applications*, Vol.29, 262-276, ISSN: 1084-8045 Peng, J.N., Sun, Y.Z. & Wang, H.F. (2006). Optimal PMU placement for full network

Phadke, A.G. & Thorp, J.S. (2008). *Synchronized Phasor Measurements and Their Applications*,

Publishing Co., Inc., ISBN: 978-0-444-19451-0, New York

*Energy Systems*, Vol. 28, 223-231, ISSN: 0142-0615

Springer verlag, ISBN: 978-0-387-76535-8

PAS-99(1), 217-221, ISSN: 0018-9510

978-0-201-89684-8, Boston

Diestel, R. (2000). *Graph Theory*, Springer-Verlag, ISBN: 978-3-642-14278-9, NewYork

hierarchical cluster analysis. *Pattern Recognition Letters*, Vol. 27, 1515-1521, ISSN:

islands in power networks. *IEEE Transactions on Power Apparatus and Systems*, Vol.

dimensional data sets. *Pattern Recognition Letters*, Vol. 27, 1590-1605, ISSN: 0167-

observability using Tabu search algorithm. *International Journal of Electrical Power &* 

validated the efficiency of the established novel routes finding algorithm.

accomplish fault isolation.

**11. Acknowledgements** 

0167-8655

8655

Candidates in "211 Project" of NCEPU.

analysis theory.

**12. References** 

If the *e*1 and *e*4 are opened with the other two edges closed, the current edge status vector *E* [1,0,0,1] , then

$$A = A\_{adj\\_s}^\* S \mathcal{G}(\mathcal{E}) = \begin{bmatrix} 1 & 1 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 1 & 1 \end{bmatrix} \tag{22}$$

Therefore, the vertex *v*1 and *v*2 are grouped into one connected pieces, and the left two vertexes are mapped into the second bus.

Sometimes, the edge *e*4 is opened from closed, and the edge *e*2 and *e*3 are closed, the current edge status vector has become as *E* [1,1,1,0]; therefore, the complete connected matrix *A* is equal to:

$$A = A\_{adj - \to}^\* \text{s?} (E) = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \end{bmatrix} \tag{23}$$

In other words, all the four vertexes are connected with each, and only one connected piece is formed with the current edge statuses. In this way, this connection is mapped into one bus.

### **10. Conclusion**

Electric power system is one of the most complex artificial systems in this world, which safe, steady, economical and reliable operation plays a very important part in guaranteeing socioeconomic development, even in safeguarding social stability. The complexity of electric power system is determined by its characteristics about constitution, configuration, operation, organization, etc. However, no matter what we adopt new analytical method or technical means, we must have a distinct recognition of electric power system itself and its complexity, and increase continuously analysis, operation and control level.

The characteristic of the adjoint matrix has been given an in-depth analysis, which is deduced from the adjacent matrix represented as the function of current edge status in the network. By the use of the simplifying method, the needed connected routes information could be extracted readily and accurately. Combination the original analysis of the adjoint marix and the connected routes extracting process, a novel connected routes finding algorithm is established. In this way, the complete connected matrix is finally formed as the function of the edge state, and each element could be represented by a set of connected routes provided by the proposed new algorithm. Once the status of each edge is determined, the connectivity between any two nodes is easily to be confirmed by substituting the current statuses into the corresponding connected routes set. These connected routes set could be found in the off-line way based on the novel routes finding algorithm, which will be able to save the on-line analysis time, especially for the topology analysis of power system. Finally, the case study on the angle connection in substation has validated the efficiency of the established novel routes finding algorithm.

The fault in electric power system can not be completely avoided. When electric power system operates from normal state to failure or abnormal operates, its electric quantities (current, voltage and their angles, etc.) may change significantly. In our researches, utilizing real-time measurements of PMU, we are using mainly graph theory and multivariate statistical analysis theory to seek after for the uniform laws of electrical quantities' marked changes. Then we can carry out fast and exact analysis of fault component. Finally we can accomplish fault isolation.

These researches have proven that the complexity of electric power system can be explored successfully by analysis and calculation based on graph theory and multivariate statistical analysis theory.

### **11. Acknowledgements**

This research was supported partly by the National Natural Science Foundation of China (50837002), the Fundamental Research Funds for the Central Universities (11MG37), the Natural Science Foundation of Hebei Province and the Training Plan of Top-notch Doctoral Candidates in "211 Project" of NCEPU.

### **12. References**

282 New Frontiers in Graph Theory

If the *e*1 and *e*4 are opened with the other two edges closed, the current edge status

1100 1100

0011

1111 1111

1111

\_ 3( ) <sup>1111</sup>

In other words, all the four vertexes are connected with each, and only one connected piece is formed with the current edge statuses. In this way, this connection is mapped into one

Electric power system is one of the most complex artificial systems in this world, which safe, steady, economical and reliable operation plays a very important part in guaranteeing socioeconomic development, even in safeguarding social stability. The complexity of electric power system is determined by its characteristics about constitution, configuration, operation, organization, etc. However, no matter what we adopt new analytical method or technical means, we must have a distinct recognition of electric power system itself and its

The characteristic of the adjoint matrix has been given an in-depth analysis, which is deduced from the adjacent matrix represented as the function of current edge status in the network. By the use of the simplifying method, the needed connected routes information could be extracted readily and accurately. Combination the original analysis of the adjoint marix and the connected routes extracting process, a novel connected routes finding algorithm is established. In this way, the complete connected matrix is finally formed as the function of the edge state, and each element could be represented by a set of connected routes provided by the proposed new algorithm. Once the status of each edge is determined, the connectivity between any two nodes is easily to be confirmed by substituting the current statuses into the corresponding connected routes set. These connected routes set could be found in the off-line way based on the novel routes finding algorithm, which will be able to save the on-line analysis time, especially for the topology

(22)

(23)

\_ 3( ) <sup>0011</sup>

Therefore, the vertex *v*1 and *v*2 are grouped into one connected pieces, and the left two

Sometimes, the edge *e*4 is opened from closed, and the edge *e*2 and *e*3 are closed, the current edge status vector has become as *E* [1,1,1,0]; therefore, the complete connected

\*

*A A sE adj* \*

complexity, and increase continuously analysis, operation and control level.

vector *E* [1,0,0,1] , then

matrix *A* is equal to:

**10. Conclusion** 

bus.

*A A sE adj*

vertexes are mapped into the second bus.


**14** 

*India* 

T. D. Sudhakar

**Power Restoration in Distribution** 

In this new era electric power has become a fundamental part of the infrastructure of modern society, with most of daily activity is based on the assumption that the desired electric power is readily available for utilization. In the near future, electric supply to houses, offices, schools and factories is taken for granted. The complex power distribution

The transfer of power from the generating stations to the consumers is known as an electric supply system (figure 1). It consists of three principal components, namely the generating station, transmission lines and distribution networks. The power is generated at favorable places which are quite far away from the customers. The power is produced and transmitted using a 3 phase 3 wire alternating current (A.C.) system and it is distributed using a 3 phase

The distribution network components are the distribution substation, the primary feeder, distribution transformers, secondary distribution transformers, sectionalizing switches, tie

The network carries electricity from the transmission systems and delivers it to consumers at the load centres through a number of power lines (branches). Switching on and off of these

The power distribution network can undergo outages, which may be forced or scheduled. Forced outages take place due to any faults in the network, whereas scheduled outages happen because of maintenance work. The various outages that occur in the distribution

During outages, the supply of power is either partially or completely isolated from the feeder to the load centres. This deficit of power supply has to be the minimized. To achieve

power lines makes the power to flow in the power distribution network.

**2. Power restoration in distribution system** 

system provides the required electricity to the customers.

**1. Introduction** 

4 wire A.C. system.

network are :

switches and the services.

Outage of the primary feeders

Outage of the distribution line

Outage of the distribution transformers

**Network Using MST Algorithms** 

*St Joseph's College of Engineering, Chennai,* 


## **Power Restoration in Distribution Network Using MST Algorithms**

T. D. Sudhakar *St Joseph's College of Engineering, Chennai, India* 

### **1. Introduction**

284 New Frontiers in Graph Theory

Rakpenthai, C., Premrudeepreechacharn, S., Uatrongjit, S. & Watson, N.R. (2005).

technique. *Electric Power Systems Research*, Vol. 75, 41-49, ISSN: 0378-7796 Robinson, R.C. (2004). *An Introduction to Dynamical Systems: Continuous and Discrete*, Pearson

Templ, M., Filzmoser, P. & Reimann, C. (2008). Cluster analysis applied to regional

Thomas, H.C., Charles, E.L., Ronald, L.R. & Clifford, S. (2001). *Introduction to Algorithms*, Second Edition, MIT Press and McGraw-Hill, ISBN: 978-0-262-03293-3, Cambridge

Tola, V., Lillo, F., Gallegati, M. & Mantegna, R.N. (2008). Cluster analysis for portfolio

Wang, C., Dou, C.X., Li, X.B. & Jia, Q.Q. (2007). A WAMS/PMU-based fault location technique. *Electric Power Systems Research*, Vol. 77, 936-945, ISSN: 0378-7796 Xue, Y.S. (2002). Interactions between power market stability and power system stability.

Ye, L. (2003). Study on sustainable development strategy of electric power in China in 2020.

Yuan, J.X. (2007). *Wide Area Protection and Emergency Control to Prevent Large Scale Blackout*,

Zhang, J.F., Wang, Z.P. & Zhang, Y.G. (2010). A new substation configuration algorithm

Zhang, J.F., Wang, Z.P., Zhang, Y.G. & Ma, J. (2010). A novel method of substation

Zhao, W.X., Hopke, P.K. & Prather, K.A. (2008). Comparison of two cluster analysis

Zhang, Y.G. & Wang, C.J. (2007). Multiformity of inherent randomicity and visitation

Zhang, Y.G., Wang, C.J. & Zhou, Z. (2006). Inherent randomicity in 4-symbolic dynamics.

Zhang, Y.G. & Wang, Z.P. (2008). Knot theory based on the minimal braid in Lorenz system. *International Journal of Theoretical Physics*, Vol. 47, 873-880, ISSN: 0020-7748 Zhang, Y.G., Xu, Y. & Wang, Z.P. (2010). Dynamical randomicity and predictive analysis in cubic chaotic system. *Nonlinear Dynamics*, Vol.61, 241-249, ISSN: 0924-090X Zhu, Y.L., Sidhu, T.S., Yang, M.Y. & Huo, L.M. (2002). An AI-based automatic power

based on the graphic characteristic of the main electrical connection. *Proc. 2010 5th* 

configuration based on the virtual impedance. *Proc. 2010 Asia-Pacific Power and* 

methods using single particle mass spectra. *Atmospheric Environment*, Vol. 42, 881-

density in n-symbolic dynamics. *Chaos, Solitons and Fractals*, Vol. 33, 685-694, ISSN:

network topology processor. *Electric Power Systems Research*, Vol. 61, 57-65, ISSN:

*Automation of Electric Power Systems*, Vol. 26, 1-6, ISSN: 1000-1026.

China Electric Power Press, ISBN : 978-7-508-35182-7, Beijing

*International Conference on Critial Infrastructure(CRIS 2010)*

*Chaos, Solitons and Fractals*, Vol. 28, 236-243, ISSN: 0960-0779

Education, ISBN: 978-0-131-43140-9, New Jersey

*Electric Power*, Vol. 36, 1-7, ISSN: 1004-9649

*Energy Engineering Conf. (APPEEC 2010)*

892, ISSN: 1352-2310

0960-0779

0378-7796

2213, ISSN: 0883-2927

1889

Measurement placement for power system state estimation using decomposition

geochemical data: Problems and possibilities. *Applied Geochemistry*, Vol. 23, 2198-

optimization. *Journal of Economic Dynamics and Control*, Vol.32, 235-258, ISSN: 0165-

In this new era electric power has become a fundamental part of the infrastructure of modern society, with most of daily activity is based on the assumption that the desired electric power is readily available for utilization. In the near future, electric supply to houses, offices, schools and factories is taken for granted. The complex power distribution system provides the required electricity to the customers.

The transfer of power from the generating stations to the consumers is known as an electric supply system (figure 1). It consists of three principal components, namely the generating station, transmission lines and distribution networks. The power is generated at favorable places which are quite far away from the customers. The power is produced and transmitted using a 3 phase 3 wire alternating current (A.C.) system and it is distributed using a 3 phase 4 wire A.C. system.

The distribution network components are the distribution substation, the primary feeder, distribution transformers, secondary distribution transformers, sectionalizing switches, tie switches and the services.

The network carries electricity from the transmission systems and delivers it to consumers at the load centres through a number of power lines (branches). Switching on and off of these power lines makes the power to flow in the power distribution network.

### **2. Power restoration in distribution system**

The power distribution network can undergo outages, which may be forced or scheduled. Forced outages take place due to any faults in the network, whereas scheduled outages happen because of maintenance work. The various outages that occur in the distribution network are :


During outages, the supply of power is either partially or completely isolated from the feeder to the load centres. This deficit of power supply has to be the minimized. To achieve

Power Restoration in Distribution Network Using MST Algorithms 287

The branches in the power distribution network are normally configured radially for the effective coordination of their protective systems and such radiality is considered here. These networks are divided into a number of subsystems, which contain a number of normally closed switches (sectional switches) and normally open switches (tie line switches). These switches are operated during conditions of maintenance, dispatch and abnormalities. The aim of this switching operation is to reschedule the loads more effectively and improve the reliability of the distribution network. By changing the status of the switches, the topology of the power distribution network is reconfigured, and the resulting line currents and losses are redistributed, with a change in the bus voltage. These parameters of the network are obtained using Backward Sweep Power Flow algorithm.

In the case of an outage in any part of the system, it is imperative to restore the power system to an optimal target of the network configuration. The problem of obtaining a target network by switching is referred to as power system restoration. Power restoration after an outage usually refers to an emergency situation and the resultant plan should meet the

Radial network structure. This requirement is based on the feeder design for ease in

 Restore as many loads as possible while considering priority customers Not cause violations in either engineering or operating constraints Outline a feasible sequence of operations to reach the final configuration

fault location, isolation and protective device coordination.

Fig. 2. Basic Power Distribution System

following requirements:

Power balancing should be done

No components must be overloaded

Reached in a short time

Fig. 1. Basic Electric Supply System

this goal, a proper switching sequence of power lines in the power distribution network is required. Sometimes, the load cannot be served to the customers; in which case, the loads are shed for the least priority customers.

The power distribution network in general, is built as an interconnected mesh network as shown in figure 2. Bus1, bus2 and bus3 indicate the feeder buses and the number in the circle indicates the load buses. The marking Si indicates the distribution branch i, that is used to transfer the power from one bus to another. Feeders in a distribution system have a mixture of types of loads, such as Very Important Person (VIP) & essential, industrial, commercial and domestic consumer loads. The peak load on feeders occurs at different times of the day, depending upon the type of load, making certain feeders to get heavily loaded and certain others to get lightly loaded. In such a practical situation, the reconfiguration based redistribution of the load amongst the feeders should attempt to evenly distribute the loads in the feeder.

286 New Frontiers in Graph Theory

this goal, a proper switching sequence of power lines in the power distribution network is required. Sometimes, the load cannot be served to the customers; in which case, the loads

The power distribution network in general, is built as an interconnected mesh network as shown in figure 2. Bus1, bus2 and bus3 indicate the feeder buses and the number in the circle indicates the load buses. The marking Si indicates the distribution branch i, that is used to transfer the power from one bus to another. Feeders in a distribution system have a mixture of types of loads, such as Very Important Person (VIP) & essential, industrial, commercial and domestic consumer loads. The peak load on feeders occurs at different times of the day, depending upon the type of load, making certain feeders to get heavily loaded and certain others to get lightly loaded. In such a practical situation, the reconfiguration based redistribution of the load amongst the feeders should attempt to

Fig. 1. Basic Electric Supply System

are shed for the least priority customers.

evenly distribute the loads in the feeder.

Fig. 2. Basic Power Distribution System

The branches in the power distribution network are normally configured radially for the effective coordination of their protective systems and such radiality is considered here. These networks are divided into a number of subsystems, which contain a number of normally closed switches (sectional switches) and normally open switches (tie line switches). These switches are operated during conditions of maintenance, dispatch and abnormalities. The aim of this switching operation is to reschedule the loads more effectively and improve the reliability of the distribution network. By changing the status of the switches, the topology of the power distribution network is reconfigured, and the resulting line currents and losses are redistributed, with a change in the bus voltage. These parameters of the network are obtained using Backward Sweep Power Flow algorithm.

In the case of an outage in any part of the system, it is imperative to restore the power system to an optimal target of the network configuration. The problem of obtaining a target network by switching is referred to as power system restoration. Power restoration after an outage usually refers to an emergency situation and the resultant plan should meet the following requirements:


Power Restoration in Distribution Network Using MST Algorithms 289

constraints, load shedding is done immediately. Load shedding option would imply loss of supply to essential loads such as medical facilities. If the time consumed is less; then the line losses and feeder capacity based on internal load division priority can be considered. To obtain the solution of the restoration problem without any iterative procedure, a graph

Graphs, the basic subject studied by the graph theory are abstract representations of a set of objects, where some pairs of objects are connected by links. The interconnected objects are represented mathematically as vertices, and the links that connect some pairs of vertices are called edges. Typically, a graph is depicted in a diagrammatic form as a set of dots for the vertices, joined by lines or curves called the edges. The vertices are also called nodes

A graph can be classified into two types namely an undirected and directed graph. A graph may be undirected, meaning that there is no distinction between the two vertices associated with each line, or its lines; or directed, meaning there is a distinction between one node and

doesn't show the direction it is an undirected graph.

Fig. 3. shows an example network with 6 nodes and 10 lines, which have their respective

In the mathematical field of the graph theory, a spanning tree T of a connected, undirected graph G is a tree composed of all the vertices and some (or perhaps all) of the lines of G. That is, every node lies in the tree, but no cycles (or loops) are formed. A spanning tree of a connected graph G can also be defined as a maximal set of lines of G that contains no cycle, or as a minimal set of lines that connect all the vertices. For a connected graph with V nodes,

Given a connected, undirected graph, a spanning tree of that graph is a subgraph, which is a tree and connects all the vertices together. A weight is assigned to each line, whose value represents how unfavorable it is for the considered task. Individual weights of lines in a spanning tree decide its weight. The total sum of all the weights of the lines in a particular

The line joining two nodes or vertices is called an line. Since the line

An line having a weight 5 being connected between the node 1 and

another. Table 1 shows the terminology for proceeding through the graph theory.

theory based minimum spanning tree (MST) methodology proposed.

**3. Graph theory** 

or points, and the edges are called lines.

Vertex or node

node 2

Table 1. Symbols used in minimum spanning tree

Term Meaning

**3.1 Minimum spanning tree** 

spanning tree is its weight.

any spanning tree will have the V-1 lines.

weights.

The implementation of power restoration in a vast distribution system is thus a complicated combinatorial optimization problem because there are a great number of switches in the distribution system. It may take a long time using combinatorial optimization algorithm to reach a feasible restoration plan satisfying all practical constraints. An efficient way of achieving this would be to operate those switches that cause minimum loss and satisfy the voltage, current and other constraints. The major constraints to be satisfied in the distribution network are :


Therefore, the dispatchers at many utilities tend to use their experience to narrow down and reach a proper restoration plan in a short period. This area has received a lot of attention by the researchers in the past three decades as evidenced by the number of publications (Sudhakar et. al 2011)

With the fast–paced changing technologies in the power industry, novel references addressing new technologies are being published. The automation of restoration of distribution power gained significance in the late eighties (Adibi and Kafka 1991). The state of the art methods used to solve the power system restoration for distribution system problems include Heuristic search (Morelato and Monticelli 1989), Expert system (Hotta et al 1990), and Knowledge based system (Matsumoto et al 1992). Due to the advancement in mathematics, new algorithms were developed to solve the restoration problem in distribution network. It mainly consisted of Artificial Neural Networks (Hoyong Kim et al 1993), Fuzzy Logic control (Han-Ching kuo and Yuan Yih Hsu 1993), Genetic Algorithm (Gregory Levitin et al 1995), Artificial Intelligence (Rahman 1993), Petri net (Fountas et al 1997), Tabu search (Toune 1998), Optimization (Nagata and Sasaki 2002), Ant colony search algorithm (Mohanty et al 2003) and Particle Swarm Optimization (Si-Qing Sheng et al 2009).

The main drawback faced in using the above methods, was the difficulty in identifying all the distribution branches used for the power to flow, after an outage for which predefined rules were used. To overcome this drawback, hybrid models such as fuzzy GA model (Ying-Tung Hsiao and Ching-Yang Chien 2000), was tried. To solve a complex combinatorial problem, the time required for solving the restoration problem using any of the above said methods is high. Now if hybrid models are used then the time required to obtain a solution is still higher. As a result it has become mandatory to identify the radial path of power flow with least mathematical efforts.

Most of the work reported focused on constraints like voltage limits, radiality and feeder capacity as the time required to obtain a restoration plan is more. To maintain these constraints, load shedding is done immediately. Load shedding option would imply loss of supply to essential loads such as medical facilities. If the time consumed is less; then the line losses and feeder capacity based on internal load division priority can be considered. To obtain the solution of the restoration problem without any iterative procedure, a graph theory based minimum spanning tree (MST) methodology proposed.

### **3. Graph theory**

288 New Frontiers in Graph Theory

The implementation of power restoration in a vast distribution system is thus a complicated combinatorial optimization problem because there are a great number of switches in the distribution system. It may take a long time using combinatorial optimization algorithm to reach a feasible restoration plan satisfying all practical constraints. An efficient way of achieving this would be to operate those switches that cause minimum loss and satisfy the voltage, current and other constraints. The major constraints to be satisfied in the

Therefore, the dispatchers at many utilities tend to use their experience to narrow down and reach a proper restoration plan in a short period. This area has received a lot of attention by the researchers in the past three decades as evidenced by the number of publications

With the fast–paced changing technologies in the power industry, novel references addressing new technologies are being published. The automation of restoration of distribution power gained significance in the late eighties (Adibi and Kafka 1991). The state of the art methods used to solve the power system restoration for distribution system problems include Heuristic search (Morelato and Monticelli 1989), Expert system (Hotta et al 1990), and Knowledge based system (Matsumoto et al 1992). Due to the advancement in mathematics, new algorithms were developed to solve the restoration problem in distribution network. It mainly consisted of Artificial Neural Networks (Hoyong Kim et al 1993), Fuzzy Logic control (Han-Ching kuo and Yuan Yih Hsu 1993), Genetic Algorithm (Gregory Levitin et al 1995), Artificial Intelligence (Rahman 1993), Petri net (Fountas et al 1997), Tabu search (Toune 1998), Optimization (Nagata and Sasaki 2002), Ant colony search algorithm (Mohanty et al 2003) and Particle Swarm Optimization (Si-Qing Sheng et al 2009). The main drawback faced in using the above methods, was the difficulty in identifying all the distribution branches used for the power to flow, after an outage for which predefined rules were used. To overcome this drawback, hybrid models such as fuzzy GA model (Ying-Tung Hsiao and Ching-Yang Chien 2000), was tried. To solve a complex combinatorial problem, the time required for solving the restoration problem using any of the above said methods is high. Now if hybrid models are used then the time required to obtain a solution is still higher. As a result it has become mandatory to identify the radial path of power flow

Most of the work reported focused on constraints like voltage limits, radiality and feeder capacity as the time required to obtain a restoration plan is more. To maintain these

distribution network are :

 Voltage fluctuation Customer priority Reliability of the network Security of the network Distributed generation

Capacitor switching,

(Sudhakar et. al 2011)

Sudden increase of load and

with least mathematical efforts.

Load allocation of the Feeder

Harmonics due to intermittent switching

Failure of automated communication technology

Graphs, the basic subject studied by the graph theory are abstract representations of a set of objects, where some pairs of objects are connected by links. The interconnected objects are represented mathematically as vertices, and the links that connect some pairs of vertices are called edges. Typically, a graph is depicted in a diagrammatic form as a set of dots for the vertices, joined by lines or curves called the edges. The vertices are also called nodes or points, and the edges are called lines.

A graph can be classified into two types namely an undirected and directed graph. A graph may be undirected, meaning that there is no distinction between the two vertices associated with each line, or its lines; or directed, meaning there is a distinction between one node and another. Table 1 shows the terminology for proceeding through the graph theory.


Table 1. Symbols used in minimum spanning tree

Fig. 3. shows an example network with 6 nodes and 10 lines, which have their respective weights.

### **3.1 Minimum spanning tree**

In the mathematical field of the graph theory, a spanning tree T of a connected, undirected graph G is a tree composed of all the vertices and some (or perhaps all) of the lines of G. That is, every node lies in the tree, but no cycles (or loops) are formed. A spanning tree of a connected graph G can also be defined as a maximal set of lines of G that contains no cycle, or as a minimal set of lines that connect all the vertices. For a connected graph with V nodes, any spanning tree will have the V-1 lines.

Given a connected, undirected graph, a spanning tree of that graph is a subgraph, which is a tree and connects all the vertices together. A weight is assigned to each line, whose value represents how unfavorable it is for the considered task. Individual weights of lines in a spanning tree decide its weight. The total sum of all the weights of the lines in a particular spanning tree is its weight.

Power Restoration in Distribution Network Using MST Algorithms 291

Kruskal's algorithm is an algorithm in graph theory presented in 1956 (Anany Levitin (2009)) that finds a minimum spanning tree for a connected weighted graph. This means that it finds a subgraph of the lines that form a tree. It includes every node of the network and the total weight of all the lines in the tree is minimized. To implement the Kruskal's algorithm, two conditions have to be satisfied. First the weight of the lines in a graph is arranged in the increasing order. Second an empty subgraph T (called Traversal matrix) is

Then, the algorithm considers a line, based on the order of increasing weight. If a line (*u*, *v*) (*u*, *v* are the starting & ending node of a line) does not form a cycle along with the existing lines in the subgraph (T) then the line (*u*, *v*) is added to the subgraph (T). Then the line (*u*, *v*) is discarded. If a line is added to the subgraph then the counter is incremented. It is checked that the counter value is equal to V–1, where V is the number of nodes. If it is true, the

The Kruskal's algorithm is applied to the example network as shown in figure 3. The step by step procedure of the algorithm is discussed by Sudhakar et al (2011). The resultant traversal

At the termination of the algorithm, the traversal matrix forms a MST of the graph. Based on

The Reverse-Delete algorithm is an algorithm in graph theory used to obtain a minimum spanning tree from a given connected, line-weighed graph. The Reverse-Delete algorithm starts with the original graph and deletes lines from it. The Reverse-Delete algorithm ensures connectivity in the graph before deletion. Since the algorithm only deletes lines

this process, a pseudo code of the algorithm is developed and is as follows,

Sort E in increasing order of edge weights and the sorted edges are in A.

Initialize the set of tree edges and its size, T.

procedure is stopped; otherwise, the process continues.

**3.3 Kruskal's algorithm** 

matrix with a weight of 15 is

 f e b a b f f d]

Counter 0

T T U (*u, v*)

**3.4 Reverse Delete algorithm** 

Return T

Pseudocode for the Kruskal's algorithm:

 While counter < |V|-1 If T U (*u, v*) is acyclic

Counter Counter+1

T = [b c

created.

Fig. 3. Example network for MST problem

A minimum spanning tree (MST) or minimum weight spanning tree is then a spanning tree with a weight less than or equal to the weight of every other spanning tree. This concept is often used in routing. The algorithms to find MST, a graph search algorithm that solves the single-source shortest path problem for a graph with non–negative line path weights, produces a shortest path tree. For a given source node in the graph, the algorithm finds the path with the lowest weight (i.e., the shortest path) between that node and every other node. For example, if the nodes of the graph represent cities, and the line path weights represent the driving distances between pairs of cities connected by a direct road then MST can be used to find the shortest route between one city and all other cities. The main advantage of using the MST is that the optimum solution is obtained in a single stage.

### **3.2 Algorithms for finding MST**

This section presents the proposed MST algorithm. Each algorithm is explained with a common example. A single graph can have many different spanning trees. If an exhaustive search approach to construct an MST is tried, two serious drawbacks arise. First, the number of spanning trees grows exponentially with the graph size; second, generating all the spanning trees for a given graph is not easy. To overcome these drawbacks the MST algorithms are proposed. The MST algorithms are further classified as line based MST algorithms and node based MST algorithms. They are

	- i. Kruskal's algorithm
	- ii. Reverse Delete algorithm
	- i. Prim's algorithm
	- ii. Dijkstra's algorithm

### **3.3 Kruskal's algorithm**

290 New Frontiers in Graph Theory

A minimum spanning tree (MST) or minimum weight spanning tree is then a spanning tree with a weight less than or equal to the weight of every other spanning tree. This concept is often used in routing. The algorithms to find MST, a graph search algorithm that solves the single-source shortest path problem for a graph with non–negative line path weights, produces a shortest path tree. For a given source node in the graph, the algorithm finds the path with the lowest weight (i.e., the shortest path) between that node and every other node. For example, if the nodes of the graph represent cities, and the line path weights represent the driving distances between pairs of cities connected by a direct road then MST can be used to find the shortest route between one city and all other cities. The main advantage of

This section presents the proposed MST algorithm. Each algorithm is explained with a common example. A single graph can have many different spanning trees. If an exhaustive search approach to construct an MST is tried, two serious drawbacks arise. First, the number of spanning trees grows exponentially with the graph size; second, generating all the spanning trees for a given graph is not easy. To overcome these drawbacks the MST algorithms are proposed. The MST algorithms are further classified as line based MST

using the MST is that the optimum solution is obtained in a single stage.

Fig. 3. Example network for MST problem

**3.2 Algorithms for finding MST** 

1. Line based MST algorithms i. Kruskal's algorithm ii. Reverse Delete algorithm 2. Node based MST algorithms i. Prim's algorithm ii. Dijkstra's algorithm

algorithms and node based MST algorithms. They are

Kruskal's algorithm is an algorithm in graph theory presented in 1956 (Anany Levitin (2009)) that finds a minimum spanning tree for a connected weighted graph. This means that it finds a subgraph of the lines that form a tree. It includes every node of the network and the total weight of all the lines in the tree is minimized. To implement the Kruskal's algorithm, two conditions have to be satisfied. First the weight of the lines in a graph is arranged in the increasing order. Second an empty subgraph T (called Traversal matrix) is created.

Then, the algorithm considers a line, based on the order of increasing weight. If a line (*u*, *v*) (*u*, *v* are the starting & ending node of a line) does not form a cycle along with the existing lines in the subgraph (T) then the line (*u*, *v*) is added to the subgraph (T). Then the line (*u*, *v*) is discarded. If a line is added to the subgraph then the counter is incremented. It is checked that the counter value is equal to V–1, where V is the number of nodes. If it is true, the procedure is stopped; otherwise, the process continues.

The Kruskal's algorithm is applied to the example network as shown in figure 3. The step by step procedure of the algorithm is discussed by Sudhakar et al (2011). The resultant traversal matrix with a weight of 15 is

 T = [b c f e b a b f f d]

At the termination of the algorithm, the traversal matrix forms a MST of the graph. Based on this process, a pseudo code of the algorithm is developed and is as follows,

Pseudocode for the Kruskal's algorithm:

Sort E in increasing order of edge weights and the sorted edges are in A.


Return T

### **3.4 Reverse Delete algorithm**

The Reverse-Delete algorithm is an algorithm in graph theory used to obtain a minimum spanning tree from a given connected, line-weighed graph. The Reverse-Delete algorithm starts with the original graph and deletes lines from it. The Reverse-Delete algorithm ensures connectivity in the graph before deletion. Since the algorithm only deletes lines

Power Restoration in Distribution Network Using MST Algorithms 293

This algorithm finds a subset of the nodes that form a tree that includes every node, where

The Prim's algorithm constructs an MST through a sequence of expanding subtrees. The initial subtree in such a sequence consists of a single node selected arbitrarily from the set *V–VT* of the graph's nodes. In the following steps, the current tree expands, by simply getting attached to a nearer node with less weight. The algorithm stops, after all the graph's nodes have been included in the tree being constructed. Since the algorithm expands a tree by exactly one node on each of its steps, the total number of such steps is *V–1*, where *V* is the

The nature of the Prim's algorithm makes it necessary to provide two data values for every other unselected node. The data values are provided through two arguments : first will be the unselected node's (*V*–*VT*) connectivity to the currently selected node (*VT*). It will be nil '– ' if no connectivity exists. The second entry (distance label) will be the respective weight. If there is no connection then the value will be ∞. With such labels, the smallest distance label

After a node *e\** is identified which is to be added to the tree, the following operations have

the total weight of all the lines in the tree is minimized.

in the set *V* – *VT*, is selected and added in the selected nodes list.

Move *e*\* from the set *V*–*VT* to the set of selected nodes *VT.* 

 Based on the nodes in set *VT*, the weights of the node in *V*–*VT* are updated. For each remaining node *u* in *V*–*VT*, *e\** is selected which has the minimum weight The *e\** is the next node to be added to the current tree T and the node *e\** is added in *VT* The Prim's algorithm is applied to the example network as shown in figure 3. The step by step procedure of the algorithm is discussed by Sudhakar et al (2011). Thus, the minimum

weight for traversing the graph is 15 and the resultant network is shown in figure 5.

number of nodes in the graph.

Fig. 5. Result of Prim's algorithm

to be performed:

when it does not disconnect the graph, any line removed by the algorithm forms a cycle prior to the deletion. Since the algorithm starts from the maximum weighted line and continues in descending order, the line removed from any cycle is the maximum weighted line in that cycle. Therefore, according to the definition of a minimum spanning tree, the lines removed by the algorithm are not in any minimum spanning tree.

The Reverse-Delete algorithm is applied to the example network as shown in figure 3. The step by step procedure of the algorithm is discussed by Sudhakar et al (2011). Thus, the minimum weight for traversing the graph is 15 and the resultant network is shown in figure 4.

Fig. 4. Final Result of Reverse-Delete algorithm

Based on this procedure a pseudo code of the algorithm is formed as follows :

```
Pseudocode for the Reverse-Delete algorithm: 
Function Reverse Delete (edges [T]) 
Sort T in decreasing order 
Define an index i  0 
 while i < size(T) 
 Define edge temp T[i] 
 delete T[i] 
 if temp.v1 and temp.v2 are not connected to the tree 
 T[i]  temp 
 i  i+1 
return edges[T]
```
### **3.5 Prim's algorithm**

The algorithm was developed in 1930 by the Czech mathematician, Vojtech Jarnik, and later independently, by the computer scientist, Robert C. Prim, in 1957 (Anany Levitin (2009)). 292 New Frontiers in Graph Theory

when it does not disconnect the graph, any line removed by the algorithm forms a cycle prior to the deletion. Since the algorithm starts from the maximum weighted line and continues in descending order, the line removed from any cycle is the maximum weighted line in that cycle. Therefore, according to the definition of a minimum spanning tree, the

The Reverse-Delete algorithm is applied to the example network as shown in figure 3. The step by step procedure of the algorithm is discussed by Sudhakar et al (2011). Thus, the minimum

weight for traversing the graph is 15 and the resultant network is shown in figure 4.

Based on this procedure a pseudo code of the algorithm is formed as follows :

The algorithm was developed in 1930 by the Czech mathematician, Vojtech Jarnik, and later independently, by the computer scientist, Robert C. Prim, in 1957 (Anany Levitin (2009)).

lines removed by the algorithm are not in any minimum spanning tree.

Fig. 4. Final Result of Reverse-Delete algorithm

Pseudocode for the Reverse-Delete algorithm:

if temp.v1 and temp.v2 are not connected to the tree

Function Reverse Delete (edges [T])

Sort T in decreasing order Define an index i 0 while i < size(T)

Define edge temp T[i]

 T[i] temp i i+1 return edges[T]

**3.5 Prim's algorithm** 

delete T[i]

This algorithm finds a subset of the nodes that form a tree that includes every node, where the total weight of all the lines in the tree is minimized.

The Prim's algorithm constructs an MST through a sequence of expanding subtrees. The initial subtree in such a sequence consists of a single node selected arbitrarily from the set *V–VT* of the graph's nodes. In the following steps, the current tree expands, by simply getting attached to a nearer node with less weight. The algorithm stops, after all the graph's nodes have been included in the tree being constructed. Since the algorithm expands a tree by exactly one node on each of its steps, the total number of such steps is *V–1*, where *V* is the number of nodes in the graph.

The nature of the Prim's algorithm makes it necessary to provide two data values for every other unselected node. The data values are provided through two arguments : first will be the unselected node's (*V*–*VT*) connectivity to the currently selected node (*VT*). It will be nil '– ' if no connectivity exists. The second entry (distance label) will be the respective weight. If

there is no connection then the value will be ∞. With such labels, the smallest distance label in the set *V* – *VT*, is selected and added in the selected nodes list.

After a node *e\** is identified which is to be added to the tree, the following operations have to be performed:


The Prim's algorithm is applied to the example network as shown in figure 3. The step by step procedure of the algorithm is discussed by Sudhakar et al (2011). Thus, the minimum weight for traversing the graph is 15 and the resultant network is shown in figure 5.

Fig. 5. Result of Prim's algorithm

Power Restoration in Distribution Network Using MST Algorithms 295

The four algorithms are applied to the example network of figure 3, and the results are

In the case of the Dijkstra's algorithm, the total weight of the resultant network is more than that of the other three algorithms; but for the case of node 'f' from the starting node 'a' the total weight using the Dijkstra's algorithm is 5 which is smaller than the value 7 obtained using the other three algorithms. As a result we cannot neglect the Dijkstra's algorithm as an

Graph theory based on MST approach has been discussed in various papers for various applications. Lin Ming Jin & Shu Park Chan (1989) presents an algorithm for finding the shortest path for power routing (DC) between two nodes in an electrical network used in the

Algorithm Total weight

Prim's algorithm 15 kruskal's algorithm 15 Dijkstra's algorithm 20 Reverse Delete algorithm 15

Table 2. Comparison of MST algorithms for example network

Based on this modus operandi, a pseudo code of the algorithm is developed as follows,

*Pseudocode for the Dijkstra's algorithm:*  **function** Dijkstra(*Graph*, *source*):

*// Unknown distance function from s to v*  dist[*v*] := infinity previous[*v*] := undefined

*// Remove best node from the priority queue; // returns to the source after first step* 

**3.7 Comparison of the results** 

*// Initializations* 

**for each** node *v* in *Graph*:

*// Set of all unvisited vertices* 

*// Distance from s to s*  dist[*source*] := 0

*Q* := copy(*Graph*) *// The main loop*  **while** *Q* **is not** empty:

 *u* := extract\_min(*Q*) **for each** neighbor *v* of *u*: *alt* = dist[*u*] + length(*u*, *v*)

tabulated in table 2.

inefficient method.

**3.8 MST applications** 

*// Relax (u,v)*  **if** *alt* < dist[*v*] dist[*v*] := *alt*  previous[*v*] := *u* 

Based on this procedure a pseudo code of the algorithm is formed as follows :

ALGORITHM *Prim(G)*  //Prim's algorithm for constructing an MST //Input: A weighted connected graph G = *(V, E) //* V is node; E is line //Output: ET*,* the set of lines composing the MST of *G* //the set of tree nodes can be initialized with any node �� ← ∅ *for i=1 to (V-1)* do find a minimum–weight line *e\** = (*v*\*,*u*\*) among all the lines *(v,u)*  such that *v* is in *VT* and *u* is in *V – VT* �� ← �� ∪ ��� �� ← �� ∪ ��� return *ET* 

#### **3.6 Dijkstra's algorithm**

The Dijkstra's algorithm, was conceived by the Dutch computer scientist Edsger Dijkstra in 1959 (Anany Levitin (2009)). This algorithm uses traversal matrix [T]. It indicates the distance from a single node to all the other nodes including it. In the considered example of figure 3, when node 'a' is considered first, its distance from it and all nodes from a through f will form the initial entries of [T]. The same procedure is repeated till all the nodes are selected and the final network with a total weight of 20 as shown in figure 6. algorithm is applied to the example network as shown in figure 3. The step by step procedure of the algorithm is discussed by Sudhakar et al (2010). Thus, the minimum weight for traversing the graph is 20 and the resultant network is shown in figure 6.

Fig. 6. Resultant network of Dijkstra's algorithm

294 New Frontiers in Graph Theory

//Input: A weighted connected graph G = *(V, E) //* V is node; E is line

find a minimum–weight line *e\** = (*v*\*,*u*\*) among all the lines *(v,u)* 

�� ← �� ∪ ��� �� ← �� ∪ ���

The Dijkstra's algorithm, was conceived by the Dutch computer scientist Edsger Dijkstra in 1959 (Anany Levitin (2009)). This algorithm uses traversal matrix [T]. It indicates the distance from a single node to all the other nodes including it. In the considered example of figure 3, when node 'a' is considered first, its distance from it and all nodes from a through f will form the initial entries of [T]. The same procedure is repeated till all the nodes are selected and the final network with a total weight of 20 as shown in figure 6. algorithm is applied to the example network as shown in figure 3. The step by step procedure of the algorithm is discussed by Sudhakar et al (2010). Thus, the minimum weight for traversing

Based on this procedure a pseudo code of the algorithm is formed as follows :

//Output: ET*,* the set of lines composing the MST of *G* //the set of tree nodes can be initialized with any node

//Prim's algorithm for constructing an MST

such that *v* is in *VT* and *u* is in *V – VT*

the graph is 20 and the resultant network is shown in figure 6.

Fig. 6. Resultant network of Dijkstra's algorithm

ALGORITHM *Prim(G)* 

�� ← ∅

return *ET* 

**3.6 Dijkstra's algorithm** 

*for i=1 to (V-1)* do

Based on this modus operandi, a pseudo code of the algorithm is developed as follows,

```
Pseudocode for the Dijkstra's algorithm: 
function Dijkstra(Graph, source): 
// Initializations 
for each node v in Graph: 
// Unknown distance function from s to v 
 dist[v] := infinity previous[v] := undefined 
// Distance from s to s 
 dist[source] := 0 
// Set of all unvisited vertices 
Q := copy(Graph) 
// The main loop 
while Q is not empty: 
// Remove best node from the priority queue; 
 // returns to the source after first step 
 u := extract_min(Q) 
 for each neighbor v of u: 
 alt = dist[u] + length(u, v) 
// Relax (u,v) 
 if alt < dist[v] 
 dist[v] := alt 
 previous[v] := u
```
### **3.7 Comparison of the results**

The four algorithms are applied to the example network of figure 3, and the results are tabulated in table 2.


Table 2. Comparison of MST algorithms for example network

In the case of the Dijkstra's algorithm, the total weight of the resultant network is more than that of the other three algorithms; but for the case of node 'f' from the starting node 'a' the total weight using the Dijkstra's algorithm is 5 which is smaller than the value 7 obtained using the other three algorithms. As a result we cannot neglect the Dijkstra's algorithm as an inefficient method.

### **3.8 MST applications**

Graph theory based on MST approach has been discussed in various papers for various applications. Lin Ming Jin & Shu Park Chan (1989) presents an algorithm for finding the shortest path for power routing (DC) between two nodes in an electrical network used in the

Power Restoration in Distribution Network Using MST Algorithms 297

reduction involves the load transfer between the feeders or substations by changing the position of the switches. The radial configuration corresponds to a 'spanning tree' of a graph

Given a graph, find a spanning tree such that the problem formulation of the restoration

max *K K K B f L X* 

The position of the sectional and tie line switches is considered here as the binary decision variable. This variable decides whether the switch is open or closed. The

If there are m switches in the initial network, there will be 2m on / off switching options. That is, for a two switch network, 22 switching options are possible [(0,0), (0,1),

For the two switch network the decision vector can be represented as X = (0,0), X = (0,1),

where │Vj│is the voltage at j node, │Vmin j│is the minimum permitted voltage at node j, │Vmax j│is the maximum permitted voltage at node j, and j belongs to a set of buses

iii. Radiality : It is a condition in power distribution network that only one feeder bus feeds

Li < LMP i (5)

iv. Loading constraints : A general expression for loading constraints would be

ii. Voltage limits : For each bus bar, the voltage constraints have upper and lower limits. A

XK = 1 (if the Kth switch is closed)

(1)

= 0 (if the Kth switch is open) (2)

X = [X1, X2, X3 ……………….. Xm]. (3)

│Vmin j │ ≤ │Vj │≤ │Vmax j│ (4)

representing the network topology.

**Find the Optimal Power Path**  With the following constraints:

> Where LK is the load at bus K B is the total number of buses

XK is the decision variable

X = (1,0) and X = (1,1).

a load bus.

i. Maximize the power restored to the isolated area,

binary decision variable, XK is defined as

(1,0), (1,1)]. The resultant decision vector is given by

general expression for voltage constraints would be

where voltage constraints are observed.

problem is given here Objective Function is to

airlines. Hiroyuki Mork, Senji Tsuzuki (1991) presents mathematically MST for network topological observability analysis. Shun Lin Su et al (1994) dealt with application of the MST for finding the connectivity in VLSI circuits. Cavellucci & Lyra (1997), presented the minimization of energy losses in distribution systems by applying a general search method to a Brazilian power network. Here outages were not considered as an important factor. Michel Barbehenn (1998) discusses about the application of Dijkstra's algorithm for various applications like airline electrical networks. Ali Shatnawi et al (1999) indicates the use of Floyd – Warshall's based MST to find the time scheduling in the data flow graph of a DSP. Partricia Amancio Vargas (2002) uses the learning classifier system for loss minimization in a power system. Kaigui Xie (2003) calculates the reliability index of radial network using forward search method of MST. TianTian CAi & Qian Ai (2005) discusses the depth first search method used to find the MST for the optimal placement of the PMU devices in the power system. Distribution reconfiguration algorithm, named Core Schema Genetic Shortest-path Algorithm (CSGSA) proposed by Yixin Yu & Jianzhong Wu (2002) is based on the weights calculation method for each load condition based on line losses.

The above survey highlighted the extension of the application of graph theory for MV power distribution AC system, which has been attempted at this juncture. Here, the mathematical formulation of Yixin Yu has been applied to a PDN wherein distribution branch outages have been fully addressed. Thus to obtain the restoration plan quickly without any iterative procedure, a graph theory based methodology using MST algorithms is proposed here. Four algorithms based on graph theory are used to restructure the PDN by considering the distribution branch outage which forms the major contribution of this work.

The MST algorithm identifies all the possible paths for the power to flow and obtains only one solution. In a single iteration the MST algorithm overcome the radiality constraint. Since, MST algorithm gives a path of minimum impedance, the line losses will be minimum with the result no separate loss minimization procedure is required here. The solution of MST algorithm minimizes the solution time and as a result loss minimization and load shedding with internal priorities are included in the proposed work. Thus, in a minimum time a power system restoration solution is obtained, which will not lead to cascaded outage.

### **4. Restoration problem**

An outage degrades the most important function of an electrical system, that of supplying the customers, and thus has a radical influence on the operating objectives. Whenever power supply interruption occurs in distribution systems due to an outage, it is imperative to bring back the system promptly to its initial state or to an optimal target network, by switching operations. The problem of obtaining a target network is called as power system restoration, has two prime objectives (a) the number of customers with a restored supply should be the largest possible and (b) the restoration should be accomplished as quickly as possible.

In this section, the network reconfiguration problem for service restoration is discussed in detail. The system is represented on a per phase basis and the load along a feeder section is represented as constant P, Q loads placed at the end of the lines. It is assumed that every switch is associated with a line in the system. The network reconfiguration problem for loss reduction involves the load transfer between the feeders or substations by changing the position of the switches. The radial configuration corresponds to a 'spanning tree' of a graph representing the network topology.

Given a graph, find a spanning tree such that the problem formulation of the restoration problem is given here

Objective Function is to

296 New Frontiers in Graph Theory

airlines. Hiroyuki Mork, Senji Tsuzuki (1991) presents mathematically MST for network topological observability analysis. Shun Lin Su et al (1994) dealt with application of the MST for finding the connectivity in VLSI circuits. Cavellucci & Lyra (1997), presented the minimization of energy losses in distribution systems by applying a general search method to a Brazilian power network. Here outages were not considered as an important factor. Michel Barbehenn (1998) discusses about the application of Dijkstra's algorithm for various applications like airline electrical networks. Ali Shatnawi et al (1999) indicates the use of Floyd – Warshall's based MST to find the time scheduling in the data flow graph of a DSP. Partricia Amancio Vargas (2002) uses the learning classifier system for loss minimization in a power system. Kaigui Xie (2003) calculates the reliability index of radial network using forward search method of MST. TianTian CAi & Qian Ai (2005) discusses the depth first search method used to find the MST for the optimal placement of the PMU devices in the power system. Distribution reconfiguration algorithm, named Core Schema Genetic Shortest-path Algorithm (CSGSA) proposed by Yixin Yu & Jianzhong Wu (2002) is based on

the weights calculation method for each load condition based on line losses.

outage.

**4. Restoration problem** 

The above survey highlighted the extension of the application of graph theory for MV power distribution AC system, which has been attempted at this juncture. Here, the mathematical formulation of Yixin Yu has been applied to a PDN wherein distribution branch outages have been fully addressed. Thus to obtain the restoration plan quickly without any iterative procedure, a graph theory based methodology using MST algorithms is proposed here. Four algorithms based on graph theory are used to restructure the PDN by considering the distribution branch outage which forms the major contribution of this work. The MST algorithm identifies all the possible paths for the power to flow and obtains only one solution. In a single iteration the MST algorithm overcome the radiality constraint. Since, MST algorithm gives a path of minimum impedance, the line losses will be minimum with the result no separate loss minimization procedure is required here. The solution of MST algorithm minimizes the solution time and as a result loss minimization and load shedding with internal priorities are included in the proposed work. Thus, in a minimum time a power system restoration solution is obtained, which will not lead to cascaded

An outage degrades the most important function of an electrical system, that of supplying the customers, and thus has a radical influence on the operating objectives. Whenever power supply interruption occurs in distribution systems due to an outage, it is imperative to bring back the system promptly to its initial state or to an optimal target network, by switching operations. The problem of obtaining a target network is called as power system restoration, has two prime objectives (a) the number of customers with a restored supply should be the

In this section, the network reconfiguration problem for service restoration is discussed in detail. The system is represented on a per phase basis and the load along a feeder section is represented as constant P, Q loads placed at the end of the lines. It is assumed that every switch is associated with a line in the system. The network reconfiguration problem for loss

largest possible and (b) the restoration should be accomplished as quickly as possible.

#### **Find the Optimal Power Path**

With the following constraints:

i. Maximize the power restored to the isolated area,

$$\mathbf{max}\,\mathbf{x}\,f = \sum\_{\mathbf{K}\,\sigma\,\mathbf{R}} L\_{\mathbf{K}} X\_{\mathbf{K}}\tag{1}$$

Where LK is the load at bus K

B is the total number of buses

XK is the decision variable

The position of the sectional and tie line switches is considered here as the binary decision variable. This variable decides whether the switch is open or closed. The binary decision variable, XK is defined as

$$\chi\_{\mathcal{K}} = \mathbf{1} \quad \text{(if the } \mathcal{K}^{\text{th}} \text{ switch is closed)}$$

$$= \mathbf{0} \text{ (if the } \mathcal{K}^{\text{th}} \text{ switch is open)} \tag{2}$$

If there are m switches in the initial network, there will be 2m on / off switching options. That is, for a two switch network, 22 switching options are possible [(0,0), (0,1), (1,0), (1,1)]. The resultant decision vector is given by

$$\boldsymbol{\chi} = [\boldsymbol{\chi}\_1, \boldsymbol{\chi}\_2, \boldsymbol{\chi}\_3, \dots, \dots, \dots, \dots, \dots, \boldsymbol{\chi}\_m]. \tag{3}$$

For the two switch network the decision vector can be represented as X = (0,0), X = (0,1), X = (1,0) and X = (1,1).

ii. Voltage limits : For each bus bar, the voltage constraints have upper and lower limits. A general expression for voltage constraints would be

$$\left|\left|\mathbf{V}\_{\min\mathbf{j}}\right|\right| \le \left|\left|\mathbf{V}\_{\mathbf{j}}\right|\right| \le \left|\left|\mathbf{V}\_{\max\mathbf{j}}\right|\right|\tag{4}$$

where │Vj│is the voltage at j node, │Vmin j│is the minimum permitted voltage at node j, │Vmax j│is the maximum permitted voltage at node j, and j belongs to a set of buses where voltage constraints are observed.


$$\mathbf{I}\_i \ll \mathbf{I}\_{\text{MP'i}} \tag{5}$$

Power Restoration in Distribution Network Using MST Algorithms 299

Step 15. Check for over current condition. If the current capacity are violated then perform

By applying this methodology objective function is solved and the constraints are satisfied. The result of step 7 finds a path for the power to flow after an outage, which satisfies the objective function. This step also satisfies the constraints viz., maximize the power restored to the isolated area, radiality and line losses. The power restored to the isolated area is maximum as the MST obtained after step 7 has all the possible buses available in the network. So all the loads connected to these buses will receive the power. The MST does not allows any closed loop in the network, as a result the MST obtained after step 7 will not have any closed loops, so the radiality constraint is satisfied. The MST network will have a minimum impedance value because the MST is obtained by considering the impedance

The feeder capacity constraint is mainly applicable for the multi feeder networks. In the case of the single feeder network, the loads are rearranged in the same network whereas in the multi feeder network there are some conditions that the loads of a feeder are transferred to the next feeder nearby. This condition is checked in the step 10. If there is any feeder overloading then load transferring is done. If load transferring is also not possible then load

Step 13 checks the voltage limit condition and step 15 checks the loading constraint of the network. The maximum allowable limits are based on the network considered. Thus the proposed methodology satisfies all the above said objective function and the constraint.

The proposed methodology is not an iterative procedure, it calculates the amount of the load to be shed at each bus or load transferring between feeder (in the case of multi feeders) three times to satisfy the constraints. The load shed or load transferring has to be performed three times because the MST obtained by step 7 is based on the impedance minimization; it means the load has no influence on the solution. To bring in the effect of the load conditions only the load shedding or load transferring is done. Each time the amount of load to be shed

The original configuration of 33–bus test distribution network shown in figure 7 has a total load capacity of 3.525 MW and 2.3 Mvar. The network consists of 33 buses and 37 branches, where branches S1–S32 and S33–S37 indicate the sectional and tie lines switch respectively. The total impedance of the network for the original configuration having sectional lines is

For the given network, the proposed methodology using the four MST algorithms is applied and the switch that should be kept open under normal conditions is tabulated in Table 3. The table indicates the switches those act as tie switches, their total impedance of the resultant network, loss of the network after applying the Kruskal's algorithm, Reverse delete algorithm, Prim's algorithm & Dijkstra's algorithm and minimum p.u. voltage of the

Step 17. If all the constraints are satisfied then display the optimal switching sequence

value of each distribution line. Then the losses of the network will be minimum.

shedding is done based on the priority of the customer's constraint.

is calculated at each bus and finally all the loads are shed simultaneously.

21.8744+ j 18.1456 and the loss of the network 0.1869MW and 0.1240Mvar.

network.

**6. Results of the proposed MST algorithms for restoration problem** 

load shedding otherwise proceed to step 17. Step 16. Perform the load flow for the modified conditions

where Li is the loading of the network element i, LMP i is the maximum permitted loading of the network element i, and i belongs to a set of protected network elements. These protected network elements, are normally lines and feeders that can be protected by actual protection devices, or can be algorithmically protected. However, the fact is that, the considered feeder is not capable of supplying the whole load and hence, cannot be used further for problem solving.


This is a combinatorial optimization problem, since the solution involves the consideration of all possible spanning trees.

### **5. Application of the proposed MST algorithms for restoration problem**

MST algorithm is a graph search algorithm that solves the single-source shortest path problem for a graph with non–negative weights, producing a shortest path tree. For a given source vertex (node) in the graph, the algorithm finds the path with lowest impedance (i.e. the shortest path) between the source node and every other node.

In order to achieve a maximum amount of power restored in a radial distribution system, the aim is to identify the appropriate switching options, which consists of all the buses in the network. In the proposed method, the distribution system is considered with all its laterals simultaneously, instead of determining the switching options on loop by loop basis. In applying the graph theory the buses and the feeders are considered as the node, the distribution line is considered as line and the impedance of the distribution line is considered as weight of the line. With this consideration the proposed graph theory based algorithm for the distribution system is :


298 New Frontiers in Graph Theory

vii. Priority of customers: As the priority of each service zone is determined in advance, which customers would be restored can be determined according to the LMP i.

This is a combinatorial optimization problem, since the solution involves the consideration

MST algorithm is a graph search algorithm that solves the single-source shortest path problem for a graph with non–negative weights, producing a shortest path tree. For a given source vertex (node) in the graph, the algorithm finds the path with lowest impedance (i.e.

In order to achieve a maximum amount of power restored in a radial distribution system, the aim is to identify the appropriate switching options, which consists of all the buses in the network. In the proposed method, the distribution system is considered with all its laterals simultaneously, instead of determining the switching options on loop by loop basis. In applying the graph theory the buses and the feeders are considered as the node, the distribution line is considered as line and the impedance of the distribution line is considered as weight of the line. With this consideration the proposed graph theory based

Step 2. Get the input data about the amount of loads at each bus, the feeder capacity and

Step 11. Check for feeder overloading condition. If the feeders are overloaded, then load

Step 13. Check for over voltage condition. If the voltage limits are violated then perform

shedding. Otherwise if the feeders are not overloaded proceed to step 13.

transferring can be done. If load transferring is not possible then perform load

**5. Application of the proposed MST algorithms for restoration problem** 

the shortest path) between the source node and every other node.

Step 3. In case of any outage remove those data from the input data file

Step 6. If it is multi feeder, then enter the number of feeders

Step 8. Perform the load flow for the resultant network

Step 12. Perform the load flow for the modified conditions

load shedding otherwise proceed to step 15. Step 14. Perform the load flow for the modified conditions

cannot be used further for problem solving.

of all possible spanning trees.

algorithm for the distribution system is : Step 1. Initial power flow path is stored

Step 7. Get the MST for the feeders

the current status of all the lines

Step 4. Check for multi feeder or single feeder Step 5. If it is single feeder go for step 7

Step 9. Check for multi feeder or single feeder Step 10. If it is single feeder go to step 13

v. Line losses: The total power losses of the network should be minimum. vi. Feeder capacity: The total capacity of the feeder should not be violated. and

where Li is the loading of the network element i, LMP i is the maximum permitted loading of the network element i, and i belongs to a set of protected network elements. These protected network elements, are normally lines and feeders that can be protected by actual protection devices, or can be algorithmically protected. However, the fact is that, the considered feeder is not capable of supplying the whole load and hence,


By applying this methodology objective function is solved and the constraints are satisfied. The result of step 7 finds a path for the power to flow after an outage, which satisfies the objective function. This step also satisfies the constraints viz., maximize the power restored to the isolated area, radiality and line losses. The power restored to the isolated area is maximum as the MST obtained after step 7 has all the possible buses available in the network. So all the loads connected to these buses will receive the power. The MST does not allows any closed loop in the network, as a result the MST obtained after step 7 will not have any closed loops, so the radiality constraint is satisfied. The MST network will have a minimum impedance value because the MST is obtained by considering the impedance value of each distribution line. Then the losses of the network will be minimum.

The feeder capacity constraint is mainly applicable for the multi feeder networks. In the case of the single feeder network, the loads are rearranged in the same network whereas in the multi feeder network there are some conditions that the loads of a feeder are transferred to the next feeder nearby. This condition is checked in the step 10. If there is any feeder overloading then load transferring is done. If load transferring is also not possible then load shedding is done based on the priority of the customer's constraint.

Step 13 checks the voltage limit condition and step 15 checks the loading constraint of the network. The maximum allowable limits are based on the network considered. Thus the proposed methodology satisfies all the above said objective function and the constraint.

The proposed methodology is not an iterative procedure, it calculates the amount of the load to be shed at each bus or load transferring between feeder (in the case of multi feeders) three times to satisfy the constraints. The load shed or load transferring has to be performed three times because the MST obtained by step 7 is based on the impedance minimization; it means the load has no influence on the solution. To bring in the effect of the load conditions only the load shedding or load transferring is done. Each time the amount of load to be shed is calculated at each bus and finally all the loads are shed simultaneously.

### **6. Results of the proposed MST algorithms for restoration problem**

The original configuration of 33–bus test distribution network shown in figure 7 has a total load capacity of 3.525 MW and 2.3 Mvar. The network consists of 33 buses and 37 branches, where branches S1–S32 and S33–S37 indicate the sectional and tie lines switch respectively. The total impedance of the network for the original configuration having sectional lines is 21.8744+ j 18.1456 and the loss of the network 0.1869MW and 0.1240Mvar.

For the given network, the proposed methodology using the four MST algorithms is applied and the switch that should be kept open under normal conditions is tabulated in Table 3. The table indicates the switches those act as tie switches, their total impedance of the resultant network, loss of the network after applying the Kruskal's algorithm, Reverse delete algorithm, Prim's algorithm & Dijkstra's algorithm and minimum p.u. voltage of the network.

Power Restoration in Distribution Network Using MST Algorithms 301

For the same network hybrid GA (Jizhong Zhu and Chang (1998)) and heuristic search method (Shirmohammadi and Hong (1989)) are applied and their results are tabulated in Table 4.

REFINED GA S7 S10 S14 S36 S37 25.38 22.31 0.2007 0.1776 0.883

METHOD S7 S9 S14 S32 S37 24.39 21.61 0.1984 0.1760 0.887

Using the proposed methodology for a single line outage in 33 – bus network, the results are

S2 S2 S8 S24 S32 S34 S3 S3 S7 S9 S14 S16 S4 S4 S7 S9 S14 S16 S5 S5 S7 S9 S14 S16 S6 S6 S9 S13 S16 S28 S7 S7 S9 S16 S28 S34 S8 S8 S15 S28 S33 S34 S9 S9 S14 S16 S28 S33 S10 S10 S14 S16 S28 S33 S11 S11 S14 S16 S28 S33 S12 S12 S9 S16 S28 S33 S13 S13 S9 S16 S28 S33 S14 S14 S9 S16 S28 S33 S15 S15 S9 S14 S28 S33 S16 S16 S9 S14 S28 S33 S17 S17 S9 S14 S28 S33 S18 S18 S13 S16 S28 S35 S19 S19 S13 S16 S28 S35 S20 S20 S13 S16 S28 S35 S21 S21 S14 S16 S28 S33 S22 S22 S9 S14 S16 S33 S23 S23 S9 S14 S16 S33 S24 S24 S9 S14 S16 S33 S25 S25 S9 S14 S16 S33 S26 S26 S9 S14 S16 S33 S27 S27 S9 S14 S16 S33 S28 S28 S9 S14 S16 S33 S29 S29 S9 S14 S28 S33 S30 S30 S9 S14 S28 S33 S31 S31 S9 S14 S28 S33 S32 S32 S9 S14 S28 S33

Table 4. Switches that are open and the impedance of the network

OUTAGE IN LINE SWITCHES THAT ARE OPEN

Table 5. Result for single line outage in 33 bus network

S1 Power system cannot be restored

Total Impedance (Ω)

Real power loss

R X MW Mvar p.u.

Reactive power loss

Minimum bus Voltage

Algorithm Tie Switches

obtained and tabulated in Table 5.

HEURISTIC

Fig. 7. Thirty three bus single feeder distribution network


Table 3. Switches that are open and the impedance of the network

From the table it is observed that the resultant losses of the network obtained using the MST algorithms for the normal condition are less when compared to that of the original configuration. In the case of Dijkstra's algorithm it is noted that the impedance value is higher than the total impedance obtained using other three MST algorithm and the initial configuration. The value of the loss is less when compared to other minimum spanning tree algorithms and the initial network.

300 New Frontiers in Graph Theory

Total Impedance

KRUSKAL'S S16 S27 S33 S34 S35 20.52 16.49 0.1780 0.1230 0.922

DELETE S16 S27 S33 S34 S35 20.52 16.49 0.1780 0.1230 0.922 PRIM'S S16 S27 S33 S34 S35 20.52 16.49 0.1780 0.1230 0.922 DIJKSTRA'S S9 S14 S16 S28 S33 26.15 22.46 0.1671 0.1192 0.928

From the table it is observed that the resultant losses of the network obtained using the MST algorithms for the normal condition are less when compared to that of the original configuration. In the case of Dijkstra's algorithm it is noted that the impedance value is higher than the total impedance obtained using other three MST algorithm and the initial configuration. The value of the loss is less when compared to other minimum spanning tree

Real power loss

R X Voltage Ω Ω MW Mvar p.u.

Reactive power loss

Minimum bus

Fig. 7. Thirty three bus single feeder distribution network

Table 3. Switches that are open and the impedance of the network

Algorithm Tie Switches

algorithms and the initial network.

REVERSE

For the same network hybrid GA (Jizhong Zhu and Chang (1998)) and heuristic search method (Shirmohammadi and Hong (1989)) are applied and their results are tabulated in Table 4.


Table 4. Switches that are open and the impedance of the network

Using the proposed methodology for a single line outage in 33 – bus network, the results are obtained and tabulated in Table 5.


Table 5. Result for single line outage in 33 bus network

Power Restoration in Distribution Network Using MST Algorithms 303

Fig. 9. Onboard LEDs displaying status of lines S1 to S16

Fig. 10. Additional LEDs displaying status of lines S17 to S37

A feeder reconfiguration method using MST for service restoration of radial distribution system is presented. From the important observations of the present study it could be

 The out-of-service area is reduced to the maximum by the developed MST methodology The power losses of distribution systems are reduced by proper feeder reconfiguration.

**7. Conclusion** 

concluded that:

### **6.1 Hardware implementation of the proposed MST algorithms for restoration problem**

For the real time application in the automated world the developed program has to be used with hardware. So the developed methodology is implemented using Verilog HDL. Verilog is a hardware description language (HDL). A HDL is a language used to describe a digital system, for example, a network switch, or any memory or a single flip flop. This means that by using a HDL, one can describe any hardware at any level.

The proposed methodology indicates the ON and OFF status of the switch. In this hardware the ON and OFF status of a line is denoted by LOGIC 1 and LOGIC 0 respectively. The status of all the lines is denoted through on-board LEDs which is interfaced with the FPGA kit. The I/O pins of the FPGA chip are configured and port mapped accordingly. The Verilog program for 33 – bus single feeder system is implemented in Verilog through SPARTAN 3 FPGA (Field Programmable Gate Array) kit (Figure 8). It uses a XILINX XC3S400 chip for processing. The XC3S400 FPGA chip is embedded in a kit with peripheral ICs and components for research and development purpose.

Fig. 8. XILINX SPARTAN3 FPGA Kit

A Verilog program is written using XILINX ISE software to program the FPGA and display the status of lines as output based on the outage line which is given as input. The chip is programmed using XILINX ISE navigator tool. The FPGA kit used in this project consists of sixteen input switches and sixteen output LEDs (Figure 9). In addition the kit also has a 34 pin FRC and 60 pin FRC connector for 94 I/Os. Using these additional pins, the status of other switches (S17 – S37) are indicated in a bread board (Figure 10).

302 New Frontiers in Graph Theory

**6.1 Hardware implementation of the proposed MST algorithms for restoration problem**  For the real time application in the automated world the developed program has to be used with hardware. So the developed methodology is implemented using Verilog HDL. Verilog is a hardware description language (HDL). A HDL is a language used to describe a digital system, for example, a network switch, or any memory or a single flip flop. This means that

The proposed methodology indicates the ON and OFF status of the switch. In this hardware the ON and OFF status of a line is denoted by LOGIC 1 and LOGIC 0 respectively. The status of all the lines is denoted through on-board LEDs which is interfaced with the FPGA kit. The I/O pins of the FPGA chip are configured and port mapped accordingly. The Verilog program for 33 – bus single feeder system is implemented in Verilog through SPARTAN 3 FPGA (Field Programmable Gate Array) kit (Figure 8). It uses a XILINX XC3S400 chip for processing. The XC3S400 FPGA chip is embedded in a kit with peripheral

A Verilog program is written using XILINX ISE software to program the FPGA and display the status of lines as output based on the outage line which is given as input. The chip is programmed using XILINX ISE navigator tool. The FPGA kit used in this project consists of sixteen input switches and sixteen output LEDs (Figure 9). In addition the kit also has a 34 pin FRC and 60 pin FRC connector for 94 I/Os. Using these additional pins, the status of

other switches (S17 – S37) are indicated in a bread board (Figure 10).

by using a HDL, one can describe any hardware at any level.

ICs and components for research and development purpose.

Fig. 8. XILINX SPARTAN3 FPGA Kit

Fig. 9. Onboard LEDs displaying status of lines S1 to S16

Fig. 10. Additional LEDs displaying status of lines S17 to S37

### **7. Conclusion**

A feeder reconfiguration method using MST for service restoration of radial distribution system is presented. From the important observations of the present study it could be concluded that:


Power Restoration in Distribution Network Using MST Algorithms 305

Michel Barbehenn, (1998), *A note on the complexity of Dijkstra's algorithm for graphs with weighted vertices*, IEEE Transactions on computers, vol. 41, no 2, feb 1998, pp 263. Mohanty, I., Kalita, J., Das, S., Pahwa, A. and Buehler, E., (2003), *Ant algorithms for the optimal* 

Morelato, A. L. and Monticelli, A. (1989) *Heuristic Search Approach to Distribution System Restoration*, IEEE Transactions on Power Delivery, Vol. 4, No. 4, pp. 2235-2241. Nagata, T. and Sasaki, H., (2002), *A Multi-Agent Approach to Power System Restoration*, IEEE

Partricia Amancio Vargas, Christiano Lyra Filho and Fernanado J Von Zuben, (2002), *On line* 

Rahman, S., (1993), *Artificial intelligence in electric power systems – a survey of the Japanese industry*, IEEE Transactions on Power System, Vol. 8, No. 3, pp. 1211-1218. Shun Lin Su, Charles H Barry and Chi Yuan Lo, (1994) *A space efficient short finding* 

Si – Qing Sheng, Yun Cao and Yu Yao, (2009), *Distribution Network Reconfiguration Based on* 

Sudhakar T D, et. Al, (2010), "*Prim's Algorithm for Loss Minimization and Service Restoration in* 

Sudhakar T D, et. Al, (2010), "*A Graph Theory - Based Distribution Feeder Reconfiguration for* 

Sudhakar T D, et. Al, (2011), "*Power System Reconfiguration based on Kruskal's Algorithm*" IEEE

Sudhakar T D, et. Al, (2011), "*Power System Restoration using Reverse Delete Algorithm* 

Sudhakar T D, et. Al, (2011), "*Restoration of Power Distribution Network – A Bibliographical Survey*", European Transactions on Electrical Power, Vol. 21, pp 635 – 655 TianTian CAi and Qian Ai, (2005), *Research of PMU optimal placement in power systems",* 

Toune, S., Fudo, H., Genji, T., Fukuyama, Y. and Nakanishi, Y., (1998), *A reactive tabu search* 

Ying – Tung Hsiao and Ching – Yang Chien, (2000), *Enhancement of Restoration Service in* 

Swarm Intelligence Symposium, SIS '03, IEEE, pp. 132-137.

transactions on power systems, Vol. 17, No. 2, pp. 457- 462.

systems, vol. 13, no. 8, August 1994, pp 1065 – 1068.

Engineering Conference, APPEEC 2009, IEEE, pp. 1-4

conference ICEES 2011 Volume 1 Page No 234 – 240

Congress on Computational Intelligence, pp. 763-768.

Power Systems, Vol. 15, No. 4, pp. 1394-1400.

and Intelligent System, Page : 373 – 378

Engineering (IJEC), Volume 2, Number 1 (2010), pp. 43 – 62

*systems*, Springer, pp 181 – 196.

No. 3, 2010, pp 161 – 168

960-845735-1

*restoration of distribution feeders during cold load pickup,* Proceedings of the 2003

*approach for loss reduction in electric power distribution networks using learner classifier* 

*algorithms*, IEEE Transactions on computer aided design of integrated circuit &

*Particle Swarm Optimization and Chaos Searching*", Asia-Pacific Power and Energy

*Distribution Networks*", International Journal of Electrical and Computer

*Service Restoration*", International Journal of Power and Energy Systems, Vol. 30,

*Implemented in FPGA*", Second IET International Conference on Sustainable Energy

*International conference on system theory and scientific computation*, pp 38 – 43, ISBN

*for service restoration in electric power distribution systems*" The 1998 IEEE International Conference on Evolutionary Computation Proceedings, IEEE World

*Distribution Systems Using a Combination Fuzzy – GA Method*, IEEE Transactions On


Test results obtained indicate that, this method results in better restoration plan when compared to other reference papers.

### **8. References**


304 New Frontiers in Graph Theory

In addition to power–loss reduction, the voltage profile is improved by the proposed

Based on the methodology the feeder loads and load flow are performed each time, so

Test results obtained indicate that, this method results in better restoration plan when

Adibi, M. M. and Kafka, R. J. (1991). *Power System Restoration Issues*, IEEE Computer

Ali Shatnawi, M O Ahmad and M N Swamy, (1999) *Scheduling of DSP data flow graphs onto* 

Cavellucci and Lyra, (1997), *Minimization of energy losses in electric power distribution system by* 

Fountas, N. A. Hatziargyriou, N. D. and Valavanisl, K. P. (1997). *Hierarchical Time Extended* 

Gregory Levitin, Shmuel Mazal–Tov and David Elmakis, (1995). *Genetic algorithm for optimal* 

Han – Ching kuo and Yuan Yih Hsu, (1993). *Distribution System Load Estimation and Service* 

Hiroyuki Mork and Senji Tsuzuki, (1991), *A fast method for topological observability analysis* 

Hotta, K., Nomura, H., Takemoto, H., Suzuki, K., Nakamura, S. and Fukui, S. (1990). *The* 

*Center*, IEEE Transactions on Power Systems, Vol. 5, No. 3, pp. 1032-1038. Hoyong Kim, Yunseok ko and Kyung–Hee Jung, (1993), *Artificial Neural-Network based Feeder* 

Kaigui Xie, Jiaqi Zhou and R Billinton, (2003), *Reliability evaluation algorithm for complex* 

Matsumoto, K., Sakaguchi, T., Kafka, R. J. and Adibi, M. M., (1992), *Knowledge-Based Systems* 

Gener. Transm. Distrib., vol. 150, no. 6, November 2003, pp 686 – 690 Lin Ming Jin and Shu Park Chan, (1989), *An electrical method for finding suboptimal routes*,

*intelligent search strategies*, International transaction in operational research, vol. 4,

*Petri Nets As A Generic Tool For Power System restoration*, IEEE Transactions on

*sectionalizing in radial distribution systems with alternative supply*, Electric Power

*Restoration using a Fuzzy Set Approach*, IEEE Transactions on Power Delivery, Vol. 8,

*using minimum spanning tree technique*, IEEE Transaction on power system vol. 6, no.

*Implementation of a Real-Time Expert System for a Restoration Guide in a Dispatching* 

*Reconfiguration for Loss Reduction in Distribution Systems*, IEEE Transactions on

*medium voltage electrical distribution networks based on the shortest path*, IEE Proc.-

*as Operational Aids in Power System Restoration*, Proceedings of the IEEE, Vol. 80, No.

*multiprocessor for maximum throughput*, IEEE 1999, pp 386 – 389.

that the effect of unbalanced power distribution network is also considered.

It can be applied to distribution network of any size.

Applications in Power, Vol. 4, No. 2, pp. 19-24.

Power Systems, Vol. 12, No. 2, pp. 837-843.

Power Systems, Vol. 8, No. 3, pp. 1356-1366.

Systems Research, Vol. 35, pp. 149-155.

compared to other reference papers.

no. 1, pp 23 – 33.

No. 4, pp. 1950-1957.

2, May 1991, pp 491 – 500.

ISCAS'89 IEEE pp 935 – 938.

5, pp. 689-697.

method.

**8. References** 


**0**

**15**

**Applications of Graphical Clustering Algorithms**

<sup>1</sup>*Programa de Pós Graduação em Genética, Faculdade de Medicina de Ribeirão Preto,*

The field of statistical genetics has been the area of a great deal of active research in recent years; due in part to dramatic advances in sequencing technology which has led to vast amounts of genomic data becoming available at lower and lower costs. The data from these sequencing efforts is not only copious, but is also characterized by significant levels of experimental noise. Processing data of this nature to draw statistically significant inferences requires dealing with a number of challenges, both statistical and algorithmic. In this chapter we will not discuss the very substantial statistical issues which arise in extracting genome sequences, but rather will focus on computational and algorithmic issues which arise in drawing biological inferences once the sequence is known. Event though our discussion will be oriented more towards applications of graph theory, it is worth keeping in mind that statistical considerations will still play a role due the intrinsically probabilistic nature of Mendelian Genetics as well as finite sample sizes. We will first begin by reviewing earlier well known work which will serve to illustrate the utility of graph theoretical concepts in dealing with genomic data. The data at our disposal are assumed to consist of observations of at a large number of locations (tens of thousands or possibly much more) on multiple chromosomes for a collections of individuals, or plants or animals; for now we assume that these individuals are related with known parent offpsring information. We restrict our attention to species which have just two chromosomes, but much of what we will discuss can be generalized to species with more than two chromosomes although the computational implementation could be challenging. At any locus (precise location on a specified chromosome) we assume that there are two or more possible alleles in the population, the precise number is assumed to differ from locus to locus. The number of possible observable genotypes at each locus will thus also vary from locus to locus. In a population of related individuals with known parent offspring relations between individuals (*i.e.* pedigree) it is possible to predict the probability for an offspring to receive a given allele from a parent based on Mendelian Genetics. If we represent a given locus for a given individual by a vertex, we can assign multiple possible states to each vertex depending on how many genotypes are possible. Since genetic information flows from parents to offspring

**1. Introduction**

\*Bolsista CAPES/Brasil

**in Genome Wide Association Mapping**

K.J. Abraham1\* and Rohan Fernando2

<sup>2</sup>*Dept. of Animal Science, Iowa State Univ*

*Universidade de São Paulo*

<sup>1</sup>*Ribeirão Preto SP, Brazil*

<sup>2</sup>*Ames IA USA*

Yixin Yu, and Jianzhong Wu, (2002), *Loads Combination Method Based Core Schema Genetic Shortest-path Algorithm For Distribution Network Reconfiguration*, 2002 IEEE, pp 1729 – 1733.

## **Applications of Graphical Clustering Algorithms in Genome Wide Association Mapping**

K.J. Abraham1\* and Rohan Fernando2

*Programa de Pós Graduação em Genética, Faculdade de Medicina de Ribeirão Preto, Universidade de São Paulo Dept. of Animal Science, Iowa State Univ Ribeirão Preto SP, Brazil Ames IA USA*

### **1. Introduction**

306 New Frontiers in Graph Theory

Yixin Yu, and Jianzhong Wu, (2002), *Loads Combination Method Based Core Schema Genetic* 

– 1733.

*Shortest-path Algorithm For Distribution Network Reconfiguration*, 2002 IEEE, pp 1729

The field of statistical genetics has been the area of a great deal of active research in recent years; due in part to dramatic advances in sequencing technology which has led to vast amounts of genomic data becoming available at lower and lower costs. The data from these sequencing efforts is not only copious, but is also characterized by significant levels of experimental noise. Processing data of this nature to draw statistically significant inferences requires dealing with a number of challenges, both statistical and algorithmic. In this chapter we will not discuss the very substantial statistical issues which arise in extracting genome sequences, but rather will focus on computational and algorithmic issues which arise in drawing biological inferences once the sequence is known. Event though our discussion will be oriented more towards applications of graph theory, it is worth keeping in mind that statistical considerations will still play a role due the intrinsically probabilistic nature of Mendelian Genetics as well as finite sample sizes. We will first begin by reviewing earlier well known work which will serve to illustrate the utility of graph theoretical concepts in dealing with genomic data. The data at our disposal are assumed to consist of observations of at a large number of locations (tens of thousands or possibly much more) on multiple chromosomes for a collections of individuals, or plants or animals; for now we assume that these individuals are related with known parent offpsring information. We restrict our attention to species which have just two chromosomes, but much of what we will discuss can be generalized to species with more than two chromosomes although the computational implementation could be challenging. At any locus (precise location on a specified chromosome) we assume that there are two or more possible alleles in the population, the precise number is assumed to differ from locus to locus. The number of possible observable genotypes at each locus will thus also vary from locus to locus. In a population of related individuals with known parent offspring relations between individuals (*i.e.* pedigree) it is possible to predict the probability for an offspring to receive a given allele from a parent based on Mendelian Genetics. If we represent a given locus for a given individual by a vertex, we can assign multiple possible states to each vertex depending on how many genotypes are possible. Since genetic information flows from parents to offspring

<sup>\*</sup>Bolsista CAPES/Brasil

represent each locus by a vertex, the LD structure can be captured graphically by introducing an undirected edge between a pair of vertices whenever the LD between the vertices in the pair is statistically significantly different from zero. It is assumed that there is a user defined significance threshold. The edge is undirected because the statment of statistical association between loci relates only to correlation, and does not carry any implications of causality. This defines an undirected graph whose edge structure is indicative of the LD patterns between the loci under consideration. Unlike in (Fishelson & Geiger, 2002); (Fishelson & Geiger, 2004); we do not associate states with a vertex in a graph, all that information has been averaged over all indviduals in determining the LD between markers. The use of graphical models to elucidate the LD structure between loci is well established (Thomas & Camp, 2004) as is the connection between graphical models and discrete multivariate probability distributions (Lauritzen, 1996). To summarize, datasets in statistical genetics consist of a vast collection of discretized observations with potentially very complex correlations between the observations; graph theoretical methods can be adopted for describing and analyzing data of this nature. In the rest of this chapter, we will discuss some applications of this nature, some open problems

Applications of Graphical Clustering Algorithms in Genome Wide Association Mapping 309

Understanding the LD structure is of considerable interest not only from the viewpoint of population genetics, but is vital for deducing the location of genes influencing traits in populations by Genetic Association Mapping. The Case Control design is a popular design for Genetic Association Mapping (Thomas, 2004). Here the data are assumed to consist of a large number of genotypes at fixed loci observed on two distinct groups of individuals, healthy controls and diseased cases, and we assume that the individuals are unrelated to each other. We assume that the genotypes are observed at marker loci, *i.e.* locations on the chromosome where there are no genes directly influencing the disease. Nonethless, if genotypes are observed at a large number of sufficiently closely spaced markers , there may be some markers physically close to the gene influencing the disease and which are potentially in strong LD with the diesease gene leading to a statisticaly significant association between certain genotypes and disease status. The goal of Case Control studies is to discover which markers (if any) show statistically significant associations with disease status and then draw conclusions about the physical location of a gene causing the disease with relation to these markers. As the association is statistical in nature it is important to understand potential causes of false positives in order to minimize Type I error. Two very important causes of Type I error in Case Control studies are population stratification and multiple testing artifacts. As we will see, undirected graphical models can be used to acquire new insights on both these problems. We begin with an analysis of population stratification; population stratification can be understood in terms of a difference in genetic content between cases and controls over and above any differences at loci in high LD with the disease gene. For example, if all the diseased cases are from one ethnic group, and all the healthy controls are from another ethnic group, then there will be statistically significant associations between case/control status and genotypes at loci which reflect differences in ethnicity *i.e.* population structure , in addition to loci which are possibly liked to the disease. This is an example of population stratification, and will lead to false positive associations at loci reflecting the ethnic differences between cases and controls but unrelated to the disease under study. In this very simple

and possible solutions.

**2.1 Population stratification**

**2. Graphical methods in association mapping**

we can construct a directed graph where the arrows flow from parental vertices to offspring vertices. The indegree of each vertex is maximally two, while the outdegree will depend on how many offspring an individual has. We thus have a directed graph where each vertex has multiple states (genotypes or alleles) associated with it. Since individuals cannot be their own ancestors, the graph is acyclic as well as being directed. With each edge we can associate a transmission probability which is determined by Mendelian Genetics; in addition there is a Markov Field Property involved as conditional on parental genotypes offspring genotypes are independent of all other ancestral genotypes and sib genotypes. We thus have all the ingredients of a Bayesian Network. Many important problems relating to genetic inference from data on pedigrees have been formulated in the language of Bayesian Networks (Fishelson & Geiger, 2002); (Fishelson & Geiger, 2004); finding exact and approximate solutions to these problems particulary on large data sets has led to the development of very sophisticated algorithms which we will not discuss here. The key feature underlying the data is that it consists of a potentially large but discrete number of observations. These observations have a very complex correlational structure, some of the observations are heavily correlated (*eg.* the genotypes of parents and offspring at the same locus) while others may be very loosely correlated (*eg.* the genotypes of individuals and ancestors going back several generations). The discrete nature of the data points permits us to assign a vertex in a graph to each data point while the edge structure (which arises from the pedigree structure) is a reflection of the association between data points; seen in this light the use of a graph theoretical formulation is quite natural. In what follows, the data under consideration will have the same features, suggesting the use of graphical models but our discussion will focus more on the use of undirected graphical models.

In order to motivate the application of undirected graphical models, we consider two fixed loci on the same chromosome in a population of individuals. It is frequently observed that the joint distribution of alleles at loci which are in close physical proximity on the same chromosome, is not uniform. More specifically, if there are two alleles at one locus *A* or *a* and *B* or *b* at another locus, then the probability of finding allele *B* in some arbitrary individual in a population may depend on the which allele (*A* or *a*) is present at the other locus. In the language of probabilities P(*A*, *B*) �= P(*A*)P(*B*) for certain pairs of loci; this is the phenomenon of linkage disequilibrium (LD) (Weir, 1996). The extent and statistical significance of the non-randomness of the alleleic association can be quantified by analyzing a (3 × 3) contingency table whose entries are genotype counts. If there are just two of the three possible genotypes present, or if the population from which the unrelated individuals are sampled is subject to certain other constraints, it becomes possible to estimate the linkage disequilibrium between each pair of distinct markers using just a (2 × 2) contingency table, alternatively the non-randomness in the asociation between the alleles depends one just one function of the allele counts. What is actually computed is just the sample LD, the standard errors on the LD will depend inversely on the size of the population. The magnitude of the observed LD can vary quite dramatically depending on which loci are being compared, large LD is very much more common among loci close together than loci on different chromosomes. Furthermore, while LD tends to decrease as the distance between loci increases, the decrease is often neither uniform nor monotonic. This discussion can be extended to multiple loci by considering larger contingency tables, more sophisticated multivariate discrete probability distributions and also multiple coefficients of association. Our data once again consists of a large number of discretized observations with a possibly complex correlation structure between the observations; suggesting the use of a graph theoretical formulation. If we represent each locus by a vertex, the LD structure can be captured graphically by introducing an undirected edge between a pair of vertices whenever the LD between the vertices in the pair is statistically significantly different from zero. It is assumed that there is a user defined significance threshold. The edge is undirected because the statment of statistical association between loci relates only to correlation, and does not carry any implications of causality. This defines an undirected graph whose edge structure is indicative of the LD patterns between the loci under consideration. Unlike in (Fishelson & Geiger, 2002); (Fishelson & Geiger, 2004); we do not associate states with a vertex in a graph, all that information has been averaged over all indviduals in determining the LD between markers. The use of graphical models to elucidate the LD structure between loci is well established (Thomas & Camp, 2004) as is the connection between graphical models and discrete multivariate probability distributions (Lauritzen, 1996). To summarize, datasets in statistical genetics consist of a vast collection of discretized observations with potentially very complex correlations between the observations; graph theoretical methods can be adopted for describing and analyzing data of this nature. In the rest of this chapter, we will discuss some applications of this nature, some open problems and possible solutions.

### **2. Graphical methods in association mapping**

### **2.1 Population stratification**

2

undirected graphical models.

we can construct a directed graph where the arrows flow from parental vertices to offspring vertices. The indegree of each vertex is maximally two, while the outdegree will depend on how many offspring an individual has. We thus have a directed graph where each vertex has multiple states (genotypes or alleles) associated with it. Since individuals cannot be their own ancestors, the graph is acyclic as well as being directed. With each edge we can associate a transmission probability which is determined by Mendelian Genetics; in addition there is a Markov Field Property involved as conditional on parental genotypes offspring genotypes are independent of all other ancestral genotypes and sib genotypes. We thus have all the ingredients of a Bayesian Network. Many important problems relating to genetic inference from data on pedigrees have been formulated in the language of Bayesian Networks (Fishelson & Geiger, 2002); (Fishelson & Geiger, 2004); finding exact and approximate solutions to these problems particulary on large data sets has led to the development of very sophisticated algorithms which we will not discuss here. The key feature underlying the data is that it consists of a potentially large but discrete number of observations. These observations have a very complex correlational structure, some of the observations are heavily correlated (*eg.* the genotypes of parents and offspring at the same locus) while others may be very loosely correlated (*eg.* the genotypes of individuals and ancestors going back several generations). The discrete nature of the data points permits us to assign a vertex in a graph to each data point while the edge structure (which arises from the pedigree structure) is a reflection of the association between data points; seen in this light the use of a graph theoretical formulation is quite natural. In what follows, the data under consideration will have the same features, suggesting the use of graphical models but our discussion will focus more on the use of

In order to motivate the application of undirected graphical models, we consider two fixed loci on the same chromosome in a population of individuals. It is frequently observed that the joint distribution of alleles at loci which are in close physical proximity on the same chromosome, is not uniform. More specifically, if there are two alleles at one locus *A* or *a* and *B* or *b* at another locus, then the probability of finding allele *B* in some arbitrary individual in a population may depend on the which allele (*A* or *a*) is present at the other locus. In the language of probabilities P(*A*, *B*) �= P(*A*)P(*B*) for certain pairs of loci; this is the phenomenon of linkage disequilibrium (LD) (Weir, 1996). The extent and statistical significance of the non-randomness of the alleleic association can be quantified by analyzing a (3 × 3) contingency table whose entries are genotype counts. If there are just two of the three possible genotypes present, or if the population from which the unrelated individuals are sampled is subject to certain other constraints, it becomes possible to estimate the linkage disequilibrium between each pair of distinct markers using just a (2 × 2) contingency table, alternatively the non-randomness in the asociation between the alleles depends one just one function of the allele counts. What is actually computed is just the sample LD, the standard errors on the LD will depend inversely on the size of the population. The magnitude of the observed LD can vary quite dramatically depending on which loci are being compared, large LD is very much more common among loci close together than loci on different chromosomes. Furthermore, while LD tends to decrease as the distance between loci increases, the decrease is often neither uniform nor monotonic. This discussion can be extended to multiple loci by considering larger contingency tables, more sophisticated multivariate discrete probability distributions and also multiple coefficients of association. Our data once again consists of a large number of discretized observations with a possibly complex correlation structure between the observations; suggesting the use of a graph theoretical formulation. If we Understanding the LD structure is of considerable interest not only from the viewpoint of population genetics, but is vital for deducing the location of genes influencing traits in populations by Genetic Association Mapping. The Case Control design is a popular design for Genetic Association Mapping (Thomas, 2004). Here the data are assumed to consist of a large number of genotypes at fixed loci observed on two distinct groups of individuals, healthy controls and diseased cases, and we assume that the individuals are unrelated to each other. We assume that the genotypes are observed at marker loci, *i.e.* locations on the chromosome where there are no genes directly influencing the disease. Nonethless, if genotypes are observed at a large number of sufficiently closely spaced markers , there may be some markers physically close to the gene influencing the disease and which are potentially in strong LD with the diesease gene leading to a statisticaly significant association between certain genotypes and disease status. The goal of Case Control studies is to discover which markers (if any) show statistically significant associations with disease status and then draw conclusions about the physical location of a gene causing the disease with relation to these markers. As the association is statistical in nature it is important to understand potential causes of false positives in order to minimize Type I error. Two very important causes of Type I error in Case Control studies are population stratification and multiple testing artifacts. As we will see, undirected graphical models can be used to acquire new insights on both these problems. We begin with an analysis of population stratification; population stratification can be understood in terms of a difference in genetic content between cases and controls over and above any differences at loci in high LD with the disease gene. For example, if all the diseased cases are from one ethnic group, and all the healthy controls are from another ethnic group, then there will be statistically significant associations between case/control status and genotypes at loci which reflect differences in ethnicity *i.e.* population structure , in addition to loci which are possibly liked to the disease. This is an example of population stratification, and will lead to false positive associations at loci reflecting the ethnic differences between cases and controls but unrelated to the disease under study. In this very simple

The input to the algorithm is N , a set of *N* markers, an *N* × *N* symmetric matrix M with positive off diagonal values, and a positive constant *c*. The precise value of the diagonal matrix elements of M are not relevant as long as they are smaller than *c* . If we denote the elements of N by *Nj* (1 ≤ *j* ≤ *N*) then each row of M corresponds to a unique marker; with this assignment M*ij*(*i* �= *j*) is simply the magnitude of the association between markers *Ni* and *Nj*. All the different *Mij* can be easily computed given a rectangular data matrix of genotypes in which individuals are indexed by rows and each column contains the genotypes for one particular marker. As mentioned earlier we assign to each marker a vertex in an undirected graph G. Thus G has a set of vertices V with *N* elements denoted by *Vi* ∈ V, where 1 ≤ *i* ≤ *N*. Since each marker is assigned to a unique row of M , we can now uniquely associate to each row of M a vertex *Vi* ∈ V, where 1 ≤ *i* ≤ *N*. Let the set of edges of G be denoted by E. An undirected edge *Eij* exists between any two elements *Vi* and *Vj* of V if M*ij* > *c*. This condition is adequate to define all the elements of E. There can clearly be no edges from any vertex to itself due to the choice of the diagonal matrix elements of M. By a suitable choice of *c*, any two unlinked vertices in G can be made to correspond to two unassociated markers in N . The precise value of *c* needed to achieve this correspondence will depend on some user specified threshold for defining significant association. Thus given a subset of vertices {*Vi*, *Vj*, *Vk*, *Vm*} with no edges connecting any of the six possible pairs of vertices that can be formed from this subset, we can find a corresponding subset of markers {*Ni*, *Nj*, *Nk*, *Nm*} which are mutually unassociated. This argument can be extended to any V*<sup>s</sup>* ⊂ V which gives rise to a corresponding N*<sup>s</sup>* ⊂ N of mutually unassociated markers. Furthermore, each unique <sup>N</sup>*<sup>s</sup>* ⊂ N corresponds to a unique <sup>V</sup>*<sup>s</sup>* ⊂ V. However, any <sup>V</sup>*<sup>s</sup>* corresponds to a clique on <sup>G</sup>*c*, the complement graph of G. If we want the largest possible N*<sup>s</sup>* ⊂ N of mutually unassociated

Applications of Graphical Clustering Algorithms in Genome Wide Association Mapping 311

markers we must find the maximum independent set of vertices in G.

significance threshold.

We have thus transformed the problem of finding the largest possible set of mutually unassociated markers to a well known problem in graph theory that of finding the maximum independent subset of vertices in an undirected graph, (or equivalently the clique of largest size on the complement graph) a problem for which there is no known efficient solution. Thus we are forced to resort to heuristics which yield only approximate solutions, more precisely a subset of vertices which may be smaller in size than the true maximum independent subset. As a cross-check on any given solution it would be useful to have a different solution for the sake of comparision. This motivates the use of a stochastic greedy heuristic which can generate multiple solutions, rather than use of one of the many well known published heuristic algorithms for this problem. The graph that we have is unweighted, although we could have considered a weighted graph with the LD between markers playing the role of weights. Although the precise LD information has been ignored in the construction of the graph and in our heuristic algorithm, this does not matter. LD represents a statistical correlation and all that matters for our purposes is whether the correlation is significant or not. One complication we have ignored here is that the presence or absence of edges is determined by comparing sample LD values with some threshold; in a more sophisticated scheme the standard errors on the sample LD values could also be used to assign probabilities for the presence of edges in the graph where the corresponding sample LD values are close to the

We will next describe a stochastic greedy heuristic for finding the clique of maximum size on an undirected graph, which due to the exact corespondence between maximum cliques and maximum independent sets can readily be applied to our maximum independent set problem.

instance we just considered two ethnic groups, with all the cases drawn from one group and all the controls from the other, in more typical instances, both the cases and controls will themselves be mixtures of two or more ethnic groups. In these more realistic scenarios population stratification will be a problem when the proportions of various distinct groups are different in cases and controls and when genotypes are observed at loci where the frequencies of the various genotypes are different in the various ethnic groups represented in the case and control samples. The effects of population stratification can be ameliorated by carefully matching ethnicities between cases and controls but this is not always possible or feasible. In real life situations, it is safer to assume that population stratification exists, which then must be taken into account before testing any markers for association with disease status. There are two broad approaches to correcting for population stratification in genetic association studies, non-parametric and parametric. The most popular parametric method for dealing with population structure is using the program *Structure* (Pritchard, 2000) ;(Falush, 2003) in which specific scenarios for population admixture are assumed. *Structure* attempts to assign the individuals to specific clusters based on a specific model, the genotypes are the feature vectors used to decide how to assign individuals to clusters. In addition to the genotype data the number of populations present in the data must be supplied by the user, this is analogous to specifying the number of clusters in *k*-means or other clustering methods. In the most sophisticated scenario (the Linkage Model) the genotypes for any individual reflect a mixture of different populations with different chromosomal segments possibly arising from different populations. The number of populations however is not specified and must be supplied by the user. The precise assignment of individuals to different populations frequently arises only after a long MCMC simulation which uses genotypes for all individuals at all loci as input. Any LD between the loci is corrected for in the process of assigning individuals to constituent sub-populations. Since it is not uncommon to have genotypes at tens of thousands ( frequently more) of loci implementing the methodology of *Structure* can be time consuming partly due to the sheer size of the data set and partly due the overhead of correcting for LD between the loci which is typically present when there are a large number of loci under consideration. The presence of LD between the loci also suggests that even though the number of loci may be large, the various loci do not necessarily contribute additional independent information on population stratification. This suggests that with a judicious choice of mutually independent loci, population stratification can be analyzed with a smaller and more manageable subset of the data in less CPU time. We will next explain how exactly this can be done using graph theoretical ideas and mention an application to real data.

An optimal set of loci for discerning population structure should be sufficiently large so that loci characteristic of populations whose frequency in the sample is relatively small, are nonetheless included, while ensuring a high degree of statistical independence between the loci. The requirement of statistical independence between the loci can be made more precise by ensuring that the loci are in low LD with one another. What we are then looking for is the largest possible subset of loci such that the LD between any arbitrary pair of loci is low. We will recast the problem in the language of graph theory using the correspondence between vertices in a graph and loci on a chromosome we discussed earlier and show a correspondence between a well known combinatorial optimization problem, that of finding the maximum independent set on an undirected graph. As there is no known polynomial time solution for this problem, a randomized heuristic algorithm will be described along with its performance on a real data set.

4

instance we just considered two ethnic groups, with all the cases drawn from one group and all the controls from the other, in more typical instances, both the cases and controls will themselves be mixtures of two or more ethnic groups. In these more realistic scenarios population stratification will be a problem when the proportions of various distinct groups are different in cases and controls and when genotypes are observed at loci where the frequencies of the various genotypes are different in the various ethnic groups represented in the case and control samples. The effects of population stratification can be ameliorated by carefully matching ethnicities between cases and controls but this is not always possible or feasible. In real life situations, it is safer to assume that population stratification exists, which then must be taken into account before testing any markers for association with disease status. There are two broad approaches to correcting for population stratification in genetic association studies, non-parametric and parametric. The most popular parametric method for dealing with population structure is using the program *Structure* (Pritchard, 2000) ;(Falush, 2003) in which specific scenarios for population admixture are assumed. *Structure* attempts to assign the individuals to specific clusters based on a specific model, the genotypes are the feature vectors used to decide how to assign individuals to clusters. In addition to the genotype data the number of populations present in the data must be supplied by the user, this is analogous to specifying the number of clusters in *k*-means or other clustering methods. In the most sophisticated scenario (the Linkage Model) the genotypes for any individual reflect a mixture of different populations with different chromosomal segments possibly arising from different populations. The number of populations however is not specified and must be supplied by the user. The precise assignment of individuals to different populations frequently arises only after a long MCMC simulation which uses genotypes for all individuals at all loci as input. Any LD between the loci is corrected for in the process of assigning individuals to constituent sub-populations. Since it is not uncommon to have genotypes at tens of thousands ( frequently more) of loci implementing the methodology of *Structure* can be time consuming partly due to the sheer size of the data set and partly due the overhead of correcting for LD between the loci which is typically present when there are a large number of loci under consideration. The presence of LD between the loci also suggests that even though the number of loci may be large, the various loci do not necessarily contribute additional independent information on population stratification. This suggests that with a judicious choice of mutually independent loci, population stratification can be analyzed with a smaller and more manageable subset of the data in less CPU time. We will next explain how exactly this can be done using graph

theoretical ideas and mention an application to real data.

on a real data set.

An optimal set of loci for discerning population structure should be sufficiently large so that loci characteristic of populations whose frequency in the sample is relatively small, are nonetheless included, while ensuring a high degree of statistical independence between the loci. The requirement of statistical independence between the loci can be made more precise by ensuring that the loci are in low LD with one another. What we are then looking for is the largest possible subset of loci such that the LD between any arbitrary pair of loci is low. We will recast the problem in the language of graph theory using the correspondence between vertices in a graph and loci on a chromosome we discussed earlier and show a correspondence between a well known combinatorial optimization problem, that of finding the maximum independent set on an undirected graph. As there is no known polynomial time solution for this problem, a randomized heuristic algorithm will be described along with its performance The input to the algorithm is N , a set of *N* markers, an *N* × *N* symmetric matrix M with positive off diagonal values, and a positive constant *c*. The precise value of the diagonal matrix elements of M are not relevant as long as they are smaller than *c* . If we denote the elements of N by *Nj* (1 ≤ *j* ≤ *N*) then each row of M corresponds to a unique marker; with this assignment M*ij*(*i* �= *j*) is simply the magnitude of the association between markers *Ni* and *Nj*. All the different *Mij* can be easily computed given a rectangular data matrix of genotypes in which individuals are indexed by rows and each column contains the genotypes for one particular marker. As mentioned earlier we assign to each marker a vertex in an undirected graph G. Thus G has a set of vertices V with *N* elements denoted by *Vi* ∈ V, where 1 ≤ *i* ≤ *N*. Since each marker is assigned to a unique row of M , we can now uniquely associate to each row of M a vertex *Vi* ∈ V, where 1 ≤ *i* ≤ *N*. Let the set of edges of G be denoted by E. An undirected edge *Eij* exists between any two elements *Vi* and *Vj* of V if M*ij* > *c*. This condition is adequate to define all the elements of E. There can clearly be no edges from any vertex to itself due to the choice of the diagonal matrix elements of M. By a suitable choice of *c*, any two unlinked vertices in G can be made to correspond to two unassociated markers in N . The precise value of *c* needed to achieve this correspondence will depend on some user specified threshold for defining significant association. Thus given a subset of vertices {*Vi*, *Vj*, *Vk*, *Vm*} with no edges connecting any of the six possible pairs of vertices that can be formed from this subset, we can find a corresponding subset of markers {*Ni*, *Nj*, *Nk*, *Nm*} which are mutually unassociated. This argument can be extended to any V*<sup>s</sup>* ⊂ V which gives rise to a corresponding N*<sup>s</sup>* ⊂ N of mutually unassociated markers. Furthermore, each unique <sup>N</sup>*<sup>s</sup>* ⊂ N corresponds to a unique <sup>V</sup>*<sup>s</sup>* ⊂ V. However, any <sup>V</sup>*<sup>s</sup>* corresponds to a clique on <sup>G</sup>*c*, the complement graph of G. If we want the largest possible N*<sup>s</sup>* ⊂ N of mutually unassociated markers we must find the maximum independent set of vertices in G.

We have thus transformed the problem of finding the largest possible set of mutually unassociated markers to a well known problem in graph theory that of finding the maximum independent subset of vertices in an undirected graph, (or equivalently the clique of largest size on the complement graph) a problem for which there is no known efficient solution. Thus we are forced to resort to heuristics which yield only approximate solutions, more precisely a subset of vertices which may be smaller in size than the true maximum independent subset. As a cross-check on any given solution it would be useful to have a different solution for the sake of comparision. This motivates the use of a stochastic greedy heuristic which can generate multiple solutions, rather than use of one of the many well known published heuristic algorithms for this problem. The graph that we have is unweighted, although we could have considered a weighted graph with the LD between markers playing the role of weights. Although the precise LD information has been ignored in the construction of the graph and in our heuristic algorithm, this does not matter. LD represents a statistical correlation and all that matters for our purposes is whether the correlation is significant or not. One complication we have ignored here is that the presence or absence of edges is determined by comparing sample LD values with some threshold; in a more sophisticated scheme the standard errors on the sample LD values could also be used to assign probabilities for the presence of edges in the graph where the corresponding sample LD values are close to the significance threshold.

We will next describe a stochastic greedy heuristic for finding the clique of maximum size on an undirected graph, which due to the exact corespondence between maximum cliques and maximum independent sets can readily be applied to our maximum independent set problem.

It is also possible to define a deterministic greedy heuristic in which the vertices selected in step 3 of the initialization and step 4 of the main loop are just those with the largest number of neighbors. If the parameter *γ* is made larger and larger, then the output from the program will increasingly resemble that from a deterministic greedy heuristic. It is worth pointing out that our algorithm does not make use of the relative location of markers with respect to each other along the chromosome, thus the methodology we outline is applicable whether the LD decays rapidly or slowly as a function of the distance between markers on the chromosome. The output from the algorithm returns a subset of markers which is not necessarily the largest subset of independent markers, nontheless the number of markers returned could still be large enough to get an accurate handle on population stratification. We now briefly discuss

Applications of Graphical Clustering Algorithms in Genome Wide Association Mapping 313

the application of of this to real data, more details are available in (Hamblin, 2010).

in (Thomas & Camp, 2004).

In conjunction with the Barley Coordinated Agricultural Project (www.BarleyCAP.org), 1816 Barley lines (treated as individuals for our purposes) were genotyped at 1415 markers. Five initial attempts to run *Structure* with 500,000 iterations and 100,000 burn in steps taking into account the association between markers and allowing for admixture between populations were unsuccessfull due to non-convergence of the MCMC iterations. At this stage, our algorithm was used to identify a subset of markers with linkage disequilibrium *r*<sup>2</sup> between any two markers in the subset to be less than 0.25, a criteria used to decide when to consider markers unlinked. A subset of 486 markers was identified and used as input for *Structure* allowing for admixture between individuals but no association between markers. Eight runs of *Structure* with 100,000 burn in and 200,000 analysis iterations all converged with consistent likelihood estimates, illustrating the utility of selecting unassociated markers as opposed to using the entire set and allowing for association between markers. It is worth pointing out that constituent populations identified by *Structure* have differing linkage disequilibrium structure at both short and large distances, with some SNPs in a few but not all of the subpopulations in high LD even when 50cM apart. As mentioned earlier, our algorithm does not use map distances in selecting markers, neither the presence of significant LD between unlinked markers nor the very different patterns of LD in the subpopulations is an issue. This feature gives rise to a complex edge structure on the graph, similar to the examples considered

We next turn our attention to the relevance of the maximum independent set problem to non-parametric methods for analyzing population stratification. The most widely used non-parametric approach for analyzing population stratification is Principal Components Analysis, a number of popular implementations such as EIGENSTRAT (Price, 2006) and EIGENSOFT (Patterson, 2006) are available. We will discuss the relevance of the apparoaches just described to EIGENSOFT and then show how some of the statistical methodology in EIGENSOFT might have applications to machine learning problems outside of statistical genetics. The input data for EIGENSOFT is a rectangular data matrix where the rows correspond to individuals and there is one column for each marker, the entries of the data-matrix correspond to the genotypes suitably parametrized and standardized. The key idea behind the implementation in (Patterson, 2006) is the realization that in the absence of population stratification, the largest Singular Value of the data matrix is distributed according to the Tracy Widom distribution (Tracy & Widom, 1994). However, even in the absence of stratification, deviations from the Tracy Widom distribution are possible if there is LD between the markers. One way to avoid false signals of population stratification is to choose a set of markers which are mutually uncorrelated, preferrably as large an unrelated set of markers

### • Description of Algorithm

As before we assume we have an undirected graph G in which V is the set of vertices and E is the set of edges. G is not assumed related to any genetic marker map so the algorithm is at this stage perfectly general. The algorithm also requires as input a positive parameter *γ* which is a measure of how far the algorithm deviates from a deterministic greedy heuristic. The larger the value of *γ* the closer the algorithm resembles a deterministic heuristic. We define *Li* the set of neighbors of *Vi* and *ni* size of *Li*, and assume *ni* > 0 ∀ *Vi* ∈ V. We define sets of vertices *CandSet*, *TempSet* as well as *ReturnSet* which is the output from the program.

Informally, the algorithms starts by picking a seed vertex which has a relatively large number of neighbors, relatively large being defined with respect to the number of neighbors of all the vertices in the graph. This seed vertex *Vs* is inserted into *ReturnSet*. *CandSet* is initialized by the set of neighbors *Vs*, while *TempSet* is initialized by the empty set. An element *Vn* of *CandSet* is chosen on the basis of having a relatively large number of neighbors and *TempSet* is the set of neighbors of *Vn* not already included in *ReturnSet*. Next *CandSet* ← (*CandSet* ∩ *TempSet*), which has the effect of ensuring that all all surviving elements of *CandSet* are elements of both *Vs* and *Vn*, *i.e.* all elements of *CandSet* are connected to all elements of *ReturnSet*. Once this step is carried out, it is safe to pick another element from *CandSet* and repeat the cycle untill *CandSet* is the null set. At this stage *ReturnSet* cannot be further augmented and the algorithm halts. A more precise description of the algorithm is given below.

• Initialization

1. Compute *norm* <sup>=</sup> *<sup>N</sup>* ∑ *i*=1 *nγ i* . 2. Evaluate *pi* = (*n<sup>γ</sup> <sup>i</sup>* /*norm*) ∀ *i* 1 ≤ *i* ≤ *N*. 3. Pick some *j* with probability *pj*. 4. Insert *Vj* in *ReturnSet*. 5. *CandSet* ← *Lj*. 6. *TempSet* ← ∅.

### • Main Loop

while *CandSet* �= ∅ do

If *CandSet* ≡ ∅ return *ReturnSet*.

```
1. Evaluate nγ
            i ∀ Vi ∈ CandSet
2. Compute norm = ∑ nγ
                       i
with the summation restricted to elements of CandSet
3. Compute pk = (nγ
                   k /norm) ∀ Vk ∈ CandSet
4. Select Vn ∈ CandSet with probability pn.
5. Insert Vn in ReturnSet.
6. TempSet ← {Vm ∈ Ln : Vm ∈/ ReturnSet where 1 ≤ m ≤ N}
7. CandSet ← (CandSet ∩ TempSet)
8. TempSet ← ∅
```
6

• Description of Algorithm

algorithm is given below.

1. Compute *norm* <sup>=</sup> *<sup>N</sup>*

4. Insert *Vj* in *ReturnSet*.

while *CandSet* �= ∅ do

2. Compute *norm* = ∑ *n<sup>γ</sup>*

5. Insert *Vn* in *ReturnSet*.

If *CandSet* ≡ ∅ return *ReturnSet*.

3. Compute *pk* = (*n<sup>γ</sup>*

8. *TempSet* ← ∅

1. Evaluate *n<sup>γ</sup>*

2. Evaluate *pi* = (*n<sup>γ</sup>*

5. *CandSet* ← *Lj*. 6. *TempSet* ← ∅.

• Main Loop

∑ *i*=1 *nγ i* .

*<sup>i</sup>* ∀ *Vi* ∈ *CandSet*

4. Select *Vn* ∈ *CandSet* with probability *pn*.

7. *CandSet* ← (*CandSet* ∩ *TempSet*)

*i* with the summation restricted to elements of *CandSet*

*<sup>k</sup>* /*norm*) ∀ *Vk* ∈ *CandSet*

6. *TempSet* ← {*Vm* ∈ *Ln* : *Vm* ∈/ *ReturnSet* where 1 ≤ *m* ≤ *N*}

3. Pick some *j* with probability *pj*.

*<sup>i</sup>* /*norm*) ∀ *i* 1 ≤ *i* ≤ *N*.

• Initialization

As before we assume we have an undirected graph G in which V is the set of vertices and E is the set of edges. G is not assumed related to any genetic marker map so the algorithm is at this stage perfectly general. The algorithm also requires as input a positive parameter *γ* which is a measure of how far the algorithm deviates from a deterministic greedy heuristic. The larger the value of *γ* the closer the algorithm resembles a deterministic heuristic. We define *Li* the set of neighbors of *Vi* and *ni* size of *Li*, and assume *ni* > 0 ∀ *Vi* ∈ V. We define sets of vertices

Informally, the algorithms starts by picking a seed vertex which has a relatively large number of neighbors, relatively large being defined with respect to the number of neighbors of all the vertices in the graph. This seed vertex *Vs* is inserted into *ReturnSet*. *CandSet* is initialized by the set of neighbors *Vs*, while *TempSet* is initialized by the empty set. An element *Vn* of *CandSet* is chosen on the basis of having a relatively large number of neighbors and *TempSet* is the set of neighbors of *Vn* not already included in *ReturnSet*. Next *CandSet* ← (*CandSet* ∩ *TempSet*), which has the effect of ensuring that all all surviving elements of *CandSet* are elements of both *Vs* and *Vn*, *i.e.* all elements of *CandSet* are connected to all elements of *ReturnSet*. Once this step is carried out, it is safe to pick another element from *CandSet* and repeat the cycle untill *CandSet* is the null set. At this stage *ReturnSet* cannot be further augmented and the algorithm halts. A more precise description of the

*CandSet*, *TempSet* as well as *ReturnSet* which is the output from the program.

It is also possible to define a deterministic greedy heuristic in which the vertices selected in step 3 of the initialization and step 4 of the main loop are just those with the largest number of neighbors. If the parameter *γ* is made larger and larger, then the output from the program will increasingly resemble that from a deterministic greedy heuristic. It is worth pointing out that our algorithm does not make use of the relative location of markers with respect to each other along the chromosome, thus the methodology we outline is applicable whether the LD decays rapidly or slowly as a function of the distance between markers on the chromosome. The output from the algorithm returns a subset of markers which is not necessarily the largest subset of independent markers, nontheless the number of markers returned could still be large enough to get an accurate handle on population stratification. We now briefly discuss the application of of this to real data, more details are available in (Hamblin, 2010).

In conjunction with the Barley Coordinated Agricultural Project (www.BarleyCAP.org), 1816 Barley lines (treated as individuals for our purposes) were genotyped at 1415 markers. Five initial attempts to run *Structure* with 500,000 iterations and 100,000 burn in steps taking into account the association between markers and allowing for admixture between populations were unsuccessfull due to non-convergence of the MCMC iterations. At this stage, our algorithm was used to identify a subset of markers with linkage disequilibrium *r*<sup>2</sup> between any two markers in the subset to be less than 0.25, a criteria used to decide when to consider markers unlinked. A subset of 486 markers was identified and used as input for *Structure* allowing for admixture between individuals but no association between markers. Eight runs of *Structure* with 100,000 burn in and 200,000 analysis iterations all converged with consistent likelihood estimates, illustrating the utility of selecting unassociated markers as opposed to using the entire set and allowing for association between markers. It is worth pointing out that constituent populations identified by *Structure* have differing linkage disequilibrium structure at both short and large distances, with some SNPs in a few but not all of the subpopulations in high LD even when 50cM apart. As mentioned earlier, our algorithm does not use map distances in selecting markers, neither the presence of significant LD between unlinked markers nor the very different patterns of LD in the subpopulations is an issue. This feature gives rise to a complex edge structure on the graph, similar to the examples considered in (Thomas & Camp, 2004).

We next turn our attention to the relevance of the maximum independent set problem to non-parametric methods for analyzing population stratification. The most widely used non-parametric approach for analyzing population stratification is Principal Components Analysis, a number of popular implementations such as EIGENSTRAT (Price, 2006) and EIGENSOFT (Patterson, 2006) are available. We will discuss the relevance of the apparoaches just described to EIGENSOFT and then show how some of the statistical methodology in EIGENSOFT might have applications to machine learning problems outside of statistical genetics. The input data for EIGENSOFT is a rectangular data matrix where the rows correspond to individuals and there is one column for each marker, the entries of the data-matrix correspond to the genotypes suitably parametrized and standardized. The key idea behind the implementation in (Patterson, 2006) is the realization that in the absence of population stratification, the largest Singular Value of the data matrix is distributed according to the Tracy Widom distribution (Tracy & Widom, 1994). However, even in the absence of stratification, deviations from the Tracy Widom distribution are possible if there is LD between the markers. One way to avoid false signals of population stratification is to choose a set of markers which are mutually uncorrelated, preferrably as large an unrelated set of markers

the cost of allowing a certain number of false positives is by controlling the False Discovery Rate (FDR)(Benjamini & Hochberg, 1995); variants on this idea have also been considered. It has been suggested by (Nyholt, 2004) that the Bonferroni corrections be modified by replacing *N* with *N*∗, the number of independent tests, where hopefully *N*∗ is very much smaller than *N*. With this replacement, the significance threshold can be made less stringent lowering the Type II error rate. We will next examine this sugestion in the language of graph theory, more specifically we will consider the problem of finding a suitable subset of independent markers, the size of this subset is the number of independent markers. One key observation is that restricting ourselves to a subset of markers is most meaningfull if it is possible to choose that subset of markers not only to be statistically independent also to be serve as surrogates for all the markers under consideration. If the latter condition is fulfilled, then testing only the markers in the independent subset can be regarded as testing each and every marker. If this condition is not fulfilled, we run the risk of skipping association tests on some markers which are part of the panel. It is worth pointing out that the idea that a limited subset of markers can be used as surrogates for an entire panel is well established; this is the notion underlying the use of tag SNPs in GWAS (Carlson, 2004). Identifying an optimal tag SNPs in a marker panel given the LD matrix between the markers can be reformulated as a variety of different well known graph theoretical problem, including the search for a dominating set of smallest size (Li & Wang, 2011). In order not to underestimate the number of independent tests it is necessary that the subset of markers be as large as possible; from our earlier discussion of population stratification it is clear than once again we are dealing with finding a maximum independent set on a undirected graph defined by the LD structure between the markers and a user defined specification of statistical independence between markers. The condition that the markers we select be proxies for all the markers in the panel can be fulfilled by requiring that each vertex be connected by an edge to at least one of the markers in the maximum independent set. In other words, the maximum independent set should be a dominating set for the graph. Since any maximal independent set is a dominating set (Foulds, 1992) the maximum independent set satisfies this condition. If the heuristic used to find the maximum independent set only returns a maximal independent set, this attractive feature will be preserved. Thus estimating the number of independent tests via maximum independent set heuristics seems to have some advantages. One can also approach the problem of estimating *N*∗ in terms of the the size of the smallest dominating set on the graph. If the smallest dominating set turns out not to be an independent set, then the resulting estimate of *N*∗ would be smaller than what we would obtain from analyzing independent sets, but not easy to estimate precisely, given the dependence of the markers. This point is illustrated in Fig. 1. where{*A*, *B*, *E*, *F*} is the maximum independent set, but all markers can be tested by considering just two (not independent) markers *C* and *D*. In situations such as these, it is not clear what to value use

Applications of Graphical Clustering Algorithms in Genome Wide Association Mapping 315

<sup>C</sup> <sup>D</sup>

F

E

for *N*∗.

A

B

Fig. 1. Ambuguity in *N*∗

as possible. As we have seen in the discussion of model dependent population stratification, choosing this set is tantamount to solving an instance of a maximum independent set on an undirected graph defined by the LD matrix. In practical instances, alternative methods have been used to find a set of unrelated markers, for example by exploiting special features of the LD structure or by other approximations(Heerwarden, 2010). It is not clear that these approaches will find the largest possible set of uncorrelated markers which is required for putting the most stringent bounds on the extent of population stratification. Very few (if any) attempts have been made to use the methodology previously described to identify as large a subset of unrelated markers as possible, such an analysis could be fruitful. This concludes our discussion on the application of graph theoretical methods for analyzing population stratification. The key point of our discussion is the relevance of the problem of finding the maximum independent set to understanding population stratification. This connection has not been established before (to the best of our knowledge) and can be exploited to speed up the the analysis of population stratification in real data sets. Before going on to discuss the application of graph theoretical methods to multiple testing, it is worth mentioning how the methodology developed in EIGENSOFT could possibly be used to address a long standing problem in cluster analysis, *i.e.* how to identify the number of distinct groupings in a dataset. As mentioned in our discussion of *Structure* the number of constituent populations to fit in *Structure* is user defined, in (Patterson, 2006) the authors point out how this number might be reliably estimated using the sample singular values of the data matrix and the details of the Tracy Widom Distribution. What this amounts to is computing a non-parametric statistic of the dataset which is then used to estimate the number of distinct groupings in the dataset. Since the methodology is very general and model independent it could conceivably be applied to a whole range of problems far removed from statistical genetics.

#### **2.2 Multiple testing**

Another major source of Type-I error in Genome Wide Association studies (GWAS) is false positives arising from multiple testing, and as mentioned earlier these can arise even if population stratification between cases and controls is fortuitously negligible or has been controlled for in some manner. Before we discuss the relevance of graph theoretical methods for understanding multiple testing artefacts, it is worth outlining the root of the problem and some common remedies. A large number of markers (*N*) are tested one after another for association with the trait or disease of interest. Under *H*<sup>0</sup> none of the markers are associated with the trait, and in addition the p-values for the test statistic are distributed like ∼ *U*(0, 1). For a significance level *α* the expected number of significant tests under *H*<sup>0</sup> will be ∼ *Nα*, since *<sup>N</sup>* in modern GWAS can be <sup>O</sup>(106) this leads to a sizeable number of false positives even if *α* is small. One way to ensure that there are no false positives with *N* independent tests is by choosing *α* so that *Nα* � 1 (the Bonferroni correction). However this leads to such stringent significance thresholds that only markers with very strong effects are picked up and many markers associated with the trait are ignored because their effects are not large enough to survive the stringent significance threshold, *i.e* there are is a large Type II error rate. Furthermore, if all the tests are not independent due to correlations between the markers the correction is excessively conservative. This problem can be avoided by permutation testing which leads to a non-parametric estimate of the number of significant test under *H*<sup>0</sup> given the correlation structure between the markers. While this approach certainly works it can become computationally very intensive when there are hundreds of thousands of markers to be tested. A less computationally intensive method to lower the number of Type II errors at 8

**2.2 Multiple testing**

as possible. As we have seen in the discussion of model dependent population stratification, choosing this set is tantamount to solving an instance of a maximum independent set on an undirected graph defined by the LD matrix. In practical instances, alternative methods have been used to find a set of unrelated markers, for example by exploiting special features of the LD structure or by other approximations(Heerwarden, 2010). It is not clear that these approaches will find the largest possible set of uncorrelated markers which is required for putting the most stringent bounds on the extent of population stratification. Very few (if any) attempts have been made to use the methodology previously described to identify as large a subset of unrelated markers as possible, such an analysis could be fruitful. This concludes our discussion on the application of graph theoretical methods for analyzing population stratification. The key point of our discussion is the relevance of the problem of finding the maximum independent set to understanding population stratification. This connection has not been established before (to the best of our knowledge) and can be exploited to speed up the the analysis of population stratification in real data sets. Before going on to discuss the application of graph theoretical methods to multiple testing, it is worth mentioning how the methodology developed in EIGENSOFT could possibly be used to address a long standing problem in cluster analysis, *i.e.* how to identify the number of distinct groupings in a dataset. As mentioned in our discussion of *Structure* the number of constituent populations to fit in *Structure* is user defined, in (Patterson, 2006) the authors point out how this number might be reliably estimated using the sample singular values of the data matrix and the details of the Tracy Widom Distribution. What this amounts to is computing a non-parametric statistic of the dataset which is then used to estimate the number of distinct groupings in the dataset. Since the methodology is very general and model independent it could conceivably be applied

Another major source of Type-I error in Genome Wide Association studies (GWAS) is false positives arising from multiple testing, and as mentioned earlier these can arise even if population stratification between cases and controls is fortuitously negligible or has been controlled for in some manner. Before we discuss the relevance of graph theoretical methods for understanding multiple testing artefacts, it is worth outlining the root of the problem and some common remedies. A large number of markers (*N*) are tested one after another for association with the trait or disease of interest. Under *H*<sup>0</sup> none of the markers are associated with the trait, and in addition the p-values for the test statistic are distributed like ∼ *U*(0, 1). For a significance level *α* the expected number of significant tests under *H*<sup>0</sup> will be ∼ *Nα*, since *<sup>N</sup>* in modern GWAS can be <sup>O</sup>(106) this leads to a sizeable number of false positives even if *α* is small. One way to ensure that there are no false positives with *N* independent tests is by choosing *α* so that *Nα* � 1 (the Bonferroni correction). However this leads to such stringent significance thresholds that only markers with very strong effects are picked up and many markers associated with the trait are ignored because their effects are not large enough to survive the stringent significance threshold, *i.e* there are is a large Type II error rate. Furthermore, if all the tests are not independent due to correlations between the markers the correction is excessively conservative. This problem can be avoided by permutation testing which leads to a non-parametric estimate of the number of significant test under *H*<sup>0</sup> given the correlation structure between the markers. While this approach certainly works it can become computationally very intensive when there are hundreds of thousands of markers to be tested. A less computationally intensive method to lower the number of Type II errors at

to a whole range of problems far removed from statistical genetics.

the cost of allowing a certain number of false positives is by controlling the False Discovery Rate (FDR)(Benjamini & Hochberg, 1995); variants on this idea have also been considered. It has been suggested by (Nyholt, 2004) that the Bonferroni corrections be modified by replacing *N* with *N*∗, the number of independent tests, where hopefully *N*∗ is very much smaller than *N*. With this replacement, the significance threshold can be made less stringent lowering the Type II error rate. We will next examine this sugestion in the language of graph theory, more specifically we will consider the problem of finding a suitable subset of independent markers, the size of this subset is the number of independent markers. One key observation is that restricting ourselves to a subset of markers is most meaningfull if it is possible to choose that subset of markers not only to be statistically independent also to be serve as surrogates for all the markers under consideration. If the latter condition is fulfilled, then testing only the markers in the independent subset can be regarded as testing each and every marker. If this condition is not fulfilled, we run the risk of skipping association tests on some markers which are part of the panel. It is worth pointing out that the idea that a limited subset of markers can be used as surrogates for an entire panel is well established; this is the notion underlying the use of tag SNPs in GWAS (Carlson, 2004). Identifying an optimal tag SNPs in a marker panel given the LD matrix between the markers can be reformulated as a variety of different well known graph theoretical problem, including the search for a dominating set of smallest size (Li & Wang, 2011). In order not to underestimate the number of independent tests it is necessary that the subset of markers be as large as possible; from our earlier discussion of population stratification it is clear than once again we are dealing with finding a maximum independent set on a undirected graph defined by the LD structure between the markers and a user defined specification of statistical independence between markers. The condition that the markers we select be proxies for all the markers in the panel can be fulfilled by requiring that each vertex be connected by an edge to at least one of the markers in the maximum independent set. In other words, the maximum independent set should be a dominating set for the graph. Since any maximal independent set is a dominating set (Foulds, 1992) the maximum independent set satisfies this condition. If the heuristic used to find the maximum independent set only returns a maximal independent set, this attractive feature will be preserved. Thus estimating the number of independent tests via maximum independent set heuristics seems to have some advantages. One can also approach the problem of estimating *N*∗ in terms of the the size of the smallest dominating set on the graph. If the smallest dominating set turns out not to be an independent set, then the resulting estimate of *N*∗ would be smaller than what we would obtain from analyzing independent sets, but not easy to estimate precisely, given the dependence of the markers. This point is illustrated in Fig. 1. where{*A*, *B*, *E*, *F*} is the maximum independent set, but all markers can be tested by considering just two (not independent) markers *C* and *D*. In situations such as these, it is not clear what to value use for *N*∗.

Fig. 1. Ambuguity in *N*∗

This provides the motivation for introducing Markov Chain Monte Carlo (MCMC) methods which have been used extensively in linkage analysis (Thompson, 2005). The simplest form of MCMC sampler to implement is the Gibbs sampler, which however can be very tricky to implement on a large pedigree with many known genotypes. One of the key conceptual difficulties in implementing the Gibbs Sampler can be illustrated on a very simple situation

Applications of Graphical Clustering Algorithms in Genome Wide Association Mapping 317

The two offspring have observed genotypes, and the laws of Mendelian Inheritance dictate that the two parental genotypic combinations are either {{1, 2}, {1, 3}} or {{1, 3}, {1, 2}} in obvious notation. In order for the sampler to be irreducible transitions between configurations should be possible, and in keeping with textbook Gibbs sampling one parental genotype would be updated at a time keeping the other fixed. Let us begin from the configuration{{1, 2}, {1, 3}} with a view to reaching {{1, 3}, {1, 2}}. If we sample conditional on any one parent and the known genotypes, there is no way in which we can update the genotype of the other parent; *i.e.* the sampler gets stuck in the starting configuration. Thus a single site update is problematic and it is easy to see that the root of the problem lies in the stringent constraints arising from Mendelian Genetics which lead to strong correlations between the variables to be updated. A possible solution within the framework of Gibbs sampling is to update both parental genotypes simultaneously, *i.e.* use a blocking Gibbs sampler where a block consists of multiple stochastic variables which are strongly correlated and must be updated simultaneously. The idea of updating multiple strongly correlated variables during a single MCMC update in order to improve convergence is well established and outperforms standard Gibbs sampling in statistical genetics (Totir, 2003) and other applications. (Swendsen & Wang, 1987); (Roberts & Sahu, 1997). Furthermore, this approach has been applied in Bayesian Networks arising not only in Statistical Genetics (Jensen & Kong, 1999);(Thomas, 2000), but also in expert systems (Jensen, 1995). For our purposes the optimal choice of blocks is not only crucial for ensuring the irreducibility of the sampler but also for improving the mixing and convergence properties of the sampler. In the rest of this chapter we will study the issue of block definition and relate this problem to a well known problem in machine learning, that of partitioning data sets into semi-autonomous clusters. Before doing so we will briefly mention another aspect of likelihood computations on large pedigrees which has attracted recent attention, *i.e.* the relation to constraint satisfaction. The problem of finding assignments of unknown genotypes consistent with known genotypes, the pedigree

involving just four individuals as shown in the following figure.

Fig. 2. Trouble with Gibbs

In practise implementing the prescription of (Nyholt, 2004) has been shown to be problematic in real and simulated datasets (Dudbridge & Koeleman, 2004);(Salyakina, 2005);(Coneely & Boehnke, 2007), but there has been no general model independent analysis as to why these difficulties arise. Our graph theoretical analysis sheds light on possible ambiguities in the prescription of (Nyholt, 2004) which may be at part of the reason for its observed limitations. Before concluding our discussion on the applications of the maximum independent set it worth recalling that all that heuristics can deliver is a lower bound on the size of the maximum complete set. What is missing is some means using the data to obtain an estimate of the upper bound, such an estimate could potentially improve the performance and applicability of the heuristics. One feature of the data which has not been exploited is that the *N* × *N* matrix of correlation values is obtained from a data matrix with dimensionality *Nind* × *N*, where *Nind* is the number of individuals and typically *Nind* < *N*. Thus both the data matrix and the correlation matrix can be expected to have rank less than *N*. The redundancy in the rows of the correlation matrix due to the reduced rank could possibly be exploited in order to obtain an upper bound on the size of the maximum independent set. As has been shown in (Li & Li, 2005) this redundancy can be used to obtain an alternative estimate for the number of independent tests; combining the approach of (Li & Li, 2005) with the maximum independent set heuristic we describe here could be a fruitfull line of future research.

#### **3. Blocking Gibbs**

In the remainder of this chapter we will focus on possible applications of graph theoretical methodology to analysing pedigree data; more precisely we will consider individuals with known parent offspring relations and genotypic information at a possibly large number of loci. As was mentioned earlier, the pedigree structure and the genotypes can be combined to form a Bayesian Network where the conditional probabilities along the edges are defined by Mendelian Genetics. Since there are known genotypes there are vertices in the Bayesian networks where evidence is available. From the standpoint of genetic linkage analysis one of the most important quantities to be computed from a pedigree and associated genotypic data is the Likelihood (Ott, 1999). Computing the Likelihood involves evaluating a very complex series of nested sums and products of conditional probabilities over expressions such as the one shown below:

$$\cdots \cdot P(\mathbf{g}^G \mid \mathbf{g}^F, \mathbf{g}^E) \, P(\mathbf{g}^H \mid \mathbf{g}^F, \mathbf{g}^E) \, P(\mathbf{g}^E \mid \mathbf{g}^A, \mathbf{g}^B) \, P(\mathbf{g}^I \mid \mathbf{g}^C, \mathbf{g}^D) \, P(\mathbf{g}^C \mid \mathbf{g}^A, \mathbf{g}^B) \, P(\mathbf{g}^D \mid \mathbf{g}^A, \mathbf{g}^B) \cdots \tag{1}$$

*gA*, *gB*, *etc.* are discrete random variables representing either genotypes or alleles, and the ··· indicate the presence of many more such conditional probabilities. The conditional probabilities shown above are typical of the factors that would appear in the Joint Probability Distribution defined by the Bayesian Network, however realistic pedigrees often contain far more factors than can be written down. Computing the Likelihood involves summing over all allowed values of all the random variables, (*i.e.* all consistent genotypes), and in realistic situations where there are huge numbers of conditional probabilities, this is analytically intractable. Numerical solutions are hypothetically possible due to the local structure of the computations (Lauritzen & Spiegelhalter, 1988). The computational effort involved depends critically on the order in which the summations are performed (Jordan, 2004) and determining the lowest cost summation order is N P Hard (Arnborg, 1987). If no good heuristic algorithm for determining the most efficient summation order can be found the multiple sum cannot be performed exactly, and must be approximated by sampling the most significant terms. This provides the motivation for introducing Markov Chain Monte Carlo (MCMC) methods which have been used extensively in linkage analysis (Thompson, 2005). The simplest form of MCMC sampler to implement is the Gibbs sampler, which however can be very tricky to implement on a large pedigree with many known genotypes. One of the key conceptual difficulties in implementing the Gibbs Sampler can be illustrated on a very simple situation involving just four individuals as shown in the following figure.

Fig. 2. Trouble with Gibbs

10

**3. Blocking Gibbs**

one shown below:

In practise implementing the prescription of (Nyholt, 2004) has been shown to be problematic in real and simulated datasets (Dudbridge & Koeleman, 2004);(Salyakina, 2005);(Coneely & Boehnke, 2007), but there has been no general model independent analysis as to why these difficulties arise. Our graph theoretical analysis sheds light on possible ambiguities in the prescription of (Nyholt, 2004) which may be at part of the reason for its observed limitations. Before concluding our discussion on the applications of the maximum independent set it worth recalling that all that heuristics can deliver is a lower bound on the size of the maximum complete set. What is missing is some means using the data to obtain an estimate of the upper bound, such an estimate could potentially improve the performance and applicability of the heuristics. One feature of the data which has not been exploited is that the *N* × *N* matrix of correlation values is obtained from a data matrix with dimensionality *Nind* × *N*, where *Nind* is the number of individuals and typically *Nind* < *N*. Thus both the data matrix and the correlation matrix can be expected to have rank less than *N*. The redundancy in the rows of the correlation matrix due to the reduced rank could possibly be exploited in order to obtain an upper bound on the size of the maximum independent set. As has been shown in (Li & Li, 2005) this redundancy can be used to obtain an alternative estimate for the number of independent tests; combining the approach of (Li & Li, 2005) with the maximum independent

In the remainder of this chapter we will focus on possible applications of graph theoretical methodology to analysing pedigree data; more precisely we will consider individuals with known parent offspring relations and genotypic information at a possibly large number of loci. As was mentioned earlier, the pedigree structure and the genotypes can be combined to form a Bayesian Network where the conditional probabilities along the edges are defined by Mendelian Genetics. Since there are known genotypes there are vertices in the Bayesian networks where evidence is available. From the standpoint of genetic linkage analysis one of the most important quantities to be computed from a pedigree and associated genotypic data is the Likelihood (Ott, 1999). Computing the Likelihood involves evaluating a very complex series of nested sums and products of conditional probabilities over expressions such as the

··· *<sup>P</sup>*(*g<sup>G</sup>* <sup>|</sup> *<sup>g</sup>F*, *<sup>g</sup>E*) *<sup>P</sup>*(*g<sup>H</sup>* <sup>|</sup> *<sup>g</sup>F*, *<sup>g</sup>E*) *<sup>P</sup>*(*g<sup>E</sup>* <sup>|</sup> *<sup>g</sup>A*, *<sup>g</sup>B*)*P*(*g<sup>I</sup>* <sup>|</sup> *<sup>g</sup>C*, *<sup>g</sup>D*)*P*(*g<sup>C</sup>* <sup>|</sup> *<sup>g</sup>A*, *<sup>g</sup>B*) *<sup>P</sup>*(*g<sup>D</sup>* <sup>|</sup> *<sup>g</sup>A*, *<sup>g</sup>B*)···

*gA*, *gB*, *etc.* are discrete random variables representing either genotypes or alleles, and the ··· indicate the presence of many more such conditional probabilities. The conditional probabilities shown above are typical of the factors that would appear in the Joint Probability Distribution defined by the Bayesian Network, however realistic pedigrees often contain far more factors than can be written down. Computing the Likelihood involves summing over all allowed values of all the random variables, (*i.e.* all consistent genotypes), and in realistic situations where there are huge numbers of conditional probabilities, this is analytically intractable. Numerical solutions are hypothetically possible due to the local structure of the computations (Lauritzen & Spiegelhalter, 1988). The computational effort involved depends critically on the order in which the summations are performed (Jordan, 2004) and determining the lowest cost summation order is N P Hard (Arnborg, 1987). If no good heuristic algorithm for determining the most efficient summation order can be found the multiple sum cannot be performed exactly, and must be approximated by sampling the most significant terms.

(1)

set heuristic we describe here could be a fruitfull line of future research.

The two offspring have observed genotypes, and the laws of Mendelian Inheritance dictate that the two parental genotypic combinations are either {{1, 2}, {1, 3}} or {{1, 3}, {1, 2}} in obvious notation. In order for the sampler to be irreducible transitions between configurations should be possible, and in keeping with textbook Gibbs sampling one parental genotype would be updated at a time keeping the other fixed. Let us begin from the configuration{{1, 2}, {1, 3}} with a view to reaching {{1, 3}, {1, 2}}. If we sample conditional on any one parent and the known genotypes, there is no way in which we can update the genotype of the other parent; *i.e.* the sampler gets stuck in the starting configuration. Thus a single site update is problematic and it is easy to see that the root of the problem lies in the stringent constraints arising from Mendelian Genetics which lead to strong correlations between the variables to be updated. A possible solution within the framework of Gibbs sampling is to update both parental genotypes simultaneously, *i.e.* use a blocking Gibbs sampler where a block consists of multiple stochastic variables which are strongly correlated and must be updated simultaneously. The idea of updating multiple strongly correlated variables during a single MCMC update in order to improve convergence is well established and outperforms standard Gibbs sampling in statistical genetics (Totir, 2003) and other applications. (Swendsen & Wang, 1987); (Roberts & Sahu, 1997). Furthermore, this approach has been applied in Bayesian Networks arising not only in Statistical Genetics (Jensen & Kong, 1999);(Thomas, 2000), but also in expert systems (Jensen, 1995). For our purposes the optimal choice of blocks is not only crucial for ensuring the irreducibility of the sampler but also for improving the mixing and convergence properties of the sampler. In the rest of this chapter we will study the issue of block definition and relate this problem to a well known problem in machine learning, that of partitioning data sets into semi-autonomous clusters. Before doing so we will briefly mention another aspect of likelihood computations on large pedigrees which has attracted recent attention, *i.e.* the relation to constraint satisfaction. The problem of finding assignments of unknown genotypes consistent with known genotypes, the pedigree

of a data set into clusters. Note that we have not specified the number of partitions in advance; if this scheme were to be implemented on an arbitrary dataset it would not only assign all the elements of the dataset to clusters but could also return the number of partitions. Thus any heuristic solution for finding optimal blocks could be very useful in a number of machine learning applications. One important distinction between pedigree analysis and other applications is the requirement that the sampler mix rapidly, this was the motivation for the use of overlapping blocks. The relevance to data partitioning problems of a more general nature is greatest when the clusters are expected to overlap. The other important distinction is that many genotypes in pedigrees may be unknown, corresponding to vertices with no information. Missing or ambiguous data are not as widely considered in other data

Applications of Graphical Clustering Algorithms in Genome Wide Association Mapping 319

sets, so the analogy works better when there are not too many unknown genotypes.

One outline of a Blocking Gibbs scheme was made in (Abraham, 2007) where the problem of Block Identification and consistent assignment of genotypes were addressed simultaneously. The algorithmic insight exploited in (Abraham, 2007) was that the genotypes of any given individual are strongly dependent by just a handfull of close relatives; in the language of the pedigree graph the state of a vertex is influenced by just a handfull of neighbouring vertices. This is because the edge structure in the graph reflects a combination of either relatedness between individuals or physical distance between loci. The notion of neighbouring vertices can be made more precise by defining distances between vertices in terms of a breadth first search. Due to the underlying Markov Field Property, vertices which are far apart as defined by the breadth first search are expected to be roughly independent. Once there is a guideline for deciding which vertices can be expected to be independent of other vertices, it becomes possible to partition the graph into overlapping blocks in which consistent genotype assignments in a block can be made with little input from the evidence from other blocks. The dataset used in (Abraham, 2007) is very complex and has many of the features discussed in (Jensen & Sheehan, 1998) which are known to lead to difficulties, nonetheless it was possible to generate a consistent set of genotypes using the scheme just outlined. Furthermore, it was checked that the posterior probabilities of the genotypes found in this manner were consistent with those that would have been obtained in the absence of any approximations. This suggests that separation of vertices on the graph is a useful guideline for assessing the approximate independence of the corresponding random variables. Criteria similar to these have been successfully used to construct blocks and mcmc samplers in other complex examples, (Habier, 2009);(Habier, 2010) indicating that the basic idea may have a broad general applicability.

If we consider the problem in a more general light, what we have done is to use the known correlations in a data set containing many discrete observations to identify subsets of variables which have strong correlations with each other but weaker correlations with the other variables. If this methodology were to be applied to cluster a general data set with a a known matrix of correlation values it would be first necesary to define graph and identify edges between the vertices (datapoints). Identifying edges could be acchieved through a user defined threshold which could be defined independent of the data values as described in our discussion of population stratification , or could be defined in terms of some suitable number of sample standard deviations above the sample mean of all the correlation values. Once the edges are specified in this manner, the procedure used in (Abraham, 2007) could be used to define blocks which in a more general case would correspond to a cluster in the data set. One advantage of this procedure is that it has been shown to work in the context of pedigree graphs where inaccurate assignment of vertices to clusters will often be penalized by poor

structure and the laws of Mendelian Inheritance can be viewed as finding the solution of a constraint satisfaction problem, and is known to be computationally hard (Aceto, 2001). There is however one additional complication which arises in dealing with pedigrees, each solution can be assigned a posterior probability and what is required are the solutions with higher posterior probabilities. What an irreducible ergodic MCMC sampler should do is not only find solutions to a very complex contraint satisfaction problem, but also assign the correct posterior probability to the various solutions. Seen in this light it is easy to see why the MCMC sampling on pedigrees can be so challenging.

The key difficulty in constructing blocks is correctly grouping strongly correlated variables together, followed by updating them simultaneously in a manner consistent with the known genotypes. In simple instances like Fig. 2, grouping variables is easy, but in more complicated cases such as the pedigree in Fig. 3 it can be highly non-trivial.

#### Fig. 3. Large pedigree

A moments reflection will suggest that the difficulty in partitioning the pedigree of Fig. 3 into blocks arises because of the large number of cycles in the graph. A more general analysis of the difficulties has been undertaken in (Jensen & Sheehan, 1998), the presence of cycles is indeed a problem and no general solution for dividing an arbitrary pedigree into blocks is known. However, a few features of a well motivated Blocking Scheme can be identified


It is easy to understand the relevance of these criteria, the last two criteria are not only relevant for pedigree analysis but are also similar to what might expected from an optimal partitioning 12

sampling on pedigrees can be so challenging.

Fig. 3. Large pedigree

biased MCMC estimates.

with variables outside the block.

irreducubility issues mentioned earlier will arise

cases such as the pedigree in Fig. 3 it can be highly non-trivial.

structure and the laws of Mendelian Inheritance can be viewed as finding the solution of a constraint satisfaction problem, and is known to be computationally hard (Aceto, 2001). There is however one additional complication which arises in dealing with pedigrees, each solution can be assigned a posterior probability and what is required are the solutions with higher posterior probabilities. What an irreducible ergodic MCMC sampler should do is not only find solutions to a very complex contraint satisfaction problem, but also assign the correct posterior probability to the various solutions. Seen in this light it is easy to see why the MCMC

The key difficulty in constructing blocks is correctly grouping strongly correlated variables together, followed by updating them simultaneously in a manner consistent with the known genotypes. In simple instances like Fig. 2, grouping variables is easy, but in more complicated

A moments reflection will suggest that the difficulty in partitioning the pedigree of Fig. 3 into blocks arises because of the large number of cycles in the graph. A more general analysis of the difficulties has been undertaken in (Jensen & Sheehan, 1998), the presence of cycles is indeed a problem and no general solution for dividing an arbitrary pedigree into blocks is known. However, a few features of a well motivated Blocking Scheme can be identified

• The assignment of blocks should be such that all the variables are assigned to at least one block. If this condition is not satisfied, some variables may not be updated leading to

• All strongly correlated variables must be contained in the same block, if not the

• Within a given block variables should be more strongly correlated with each other than

It is easy to understand the relevance of these criteria, the last two criteria are not only relevant for pedigree analysis but are also similar to what might expected from an optimal partitioning of a data set into clusters. Note that we have not specified the number of partitions in advance; if this scheme were to be implemented on an arbitrary dataset it would not only assign all the elements of the dataset to clusters but could also return the number of partitions. Thus any heuristic solution for finding optimal blocks could be very useful in a number of machine learning applications. One important distinction between pedigree analysis and other applications is the requirement that the sampler mix rapidly, this was the motivation for the use of overlapping blocks. The relevance to data partitioning problems of a more general nature is greatest when the clusters are expected to overlap. The other important distinction is that many genotypes in pedigrees may be unknown, corresponding to vertices with no information. Missing or ambiguous data are not as widely considered in other data sets, so the analogy works better when there are not too many unknown genotypes.

One outline of a Blocking Gibbs scheme was made in (Abraham, 2007) where the problem of Block Identification and consistent assignment of genotypes were addressed simultaneously. The algorithmic insight exploited in (Abraham, 2007) was that the genotypes of any given individual are strongly dependent by just a handfull of close relatives; in the language of the pedigree graph the state of a vertex is influenced by just a handfull of neighbouring vertices. This is because the edge structure in the graph reflects a combination of either relatedness between individuals or physical distance between loci. The notion of neighbouring vertices can be made more precise by defining distances between vertices in terms of a breadth first search. Due to the underlying Markov Field Property, vertices which are far apart as defined by the breadth first search are expected to be roughly independent. Once there is a guideline for deciding which vertices can be expected to be independent of other vertices, it becomes possible to partition the graph into overlapping blocks in which consistent genotype assignments in a block can be made with little input from the evidence from other blocks. The dataset used in (Abraham, 2007) is very complex and has many of the features discussed in (Jensen & Sheehan, 1998) which are known to lead to difficulties, nonetheless it was possible to generate a consistent set of genotypes using the scheme just outlined. Furthermore, it was checked that the posterior probabilities of the genotypes found in this manner were consistent with those that would have been obtained in the absence of any approximations. This suggests that separation of vertices on the graph is a useful guideline for assessing the approximate independence of the corresponding random variables. Criteria similar to these have been successfully used to construct blocks and mcmc samplers in other complex examples, (Habier, 2009);(Habier, 2010) indicating that the basic idea may have a broad general applicability.

If we consider the problem in a more general light, what we have done is to use the known correlations in a data set containing many discrete observations to identify subsets of variables which have strong correlations with each other but weaker correlations with the other variables. If this methodology were to be applied to cluster a general data set with a a known matrix of correlation values it would be first necesary to define graph and identify edges between the vertices (datapoints). Identifying edges could be acchieved through a user defined threshold which could be defined independent of the data values as described in our discussion of population stratification , or could be defined in terms of some suitable number of sample standard deviations above the sample mean of all the correlation values. Once the edges are specified in this manner, the procedure used in (Abraham, 2007) could be used to define blocks which in a more general case would correspond to a cluster in the data set. One advantage of this procedure is that it has been shown to work in the context of pedigree graphs where inaccurate assignment of vertices to clusters will often be penalized by poor

Benjamini, Y. & Hochberg, Y. (1995). Controlling the false discovery rate a practical and

Applications of Graphical Clustering Algorithms in Genome Wide Association Mapping 321

Carlson, C.S., *et.al.*. (2004). Selecting a maximally informative set of single-nucleotide

Coneely, K. & Boehnke, M. (2007). So many correlated tests, so little time! rapid

Dudbridge, F. & Koeleman, B. (2004). Efficient computation of significance levels for multiple

Falush, D., *et.al.*. (2003). Inference of population structure using multilocus genotype data: Linked loci and correlated allele frequencies, *Genetics* 164: 1567–1587. Fishelson, M. & Geiger, D. (2002). Exact genetic linkage computations for general pedigrees,

Fishelson, M. & Geiger, D. (2004). Optimizing exact genetic linkage computations, *Journal of*

Habier, D., *et.al.*. (2009). Genomic selection using low density marker panels, *Genetics*

Habier, D., *et.al.*. (2010). A two-stage approximation for analysis of mixture genetic models in

Hamblin, M.T., *et.al.*. (2010). Population structure and linkage disequilibrium in us barley germplasm: Implications for association mapping, *Crop Science* 50(2): 556–566. Heerwarden, J. V., *et.al.*. (2010). Fine scale genetic structure in the wild ancestor of maize zea

Jensen, C. & Kong, A. (1999). Blocking gibbs sampling for linkage analysis in large pedigrees,

Jensen, C. & Sheehan, N. (1998). Problem with determination of noncommunicating classes for markov chain monte carlo applications in pedigree analysis, *Biometrics* 54: 416–425. Jensen, C.S., *et.al.*. (1995). Blocking gibbs sampling in very large probabilistic expert systems,

Lauritzen, S. & Spiegelhalter, D. (1988). Local computations with probabilities on graphical

Li, J. & Li, K. (2005). Adjusting multiple testing in multilocus analyses using the eigenvalues

Li, J. & Wang, W.-B. (2011). Tag snp selection, *in* E. Zeggini & A. Morris (eds), *Analysis of Complex Disease Association Studies, A Practical Guide*, Academic Press, pp. 49–65. Nyholt, D. (2004). A simple correction for multiple testing for single nucleotide

Ott, J. (1999). *Statistical Methods in Genetic Epidemiology*, The Johns Hopkins University Press.

structures and their application to expert systems, *Journal of the Royal Statistical Society*

polymorphisms in linkage disequilibrium with each other, *American Journal of Human*

studies, *American Journal of Human Genetics* 75(3): 424–435.

mays ssp parviglumis, *Molecular Ecology* 19: 1162–1163.

*International journal of human computer studies* 42(6): 573–704.

*American Journal of Human Genetics* 65(3): 885–901.

Jordan, M. (2004). Graphical models, *Statistical Science* 19(1): 140–155. Lauritzen, S. L. (1996). *Graphical Models*, Oxford University Press.

of a correlation matrix, *Human Heredity* 95: 221–227.

57: 289–300.

182: 343–353.

*Series B* 50: 157–224.

*Genetics* 74(2): 765–769.

*Journal of Human Genetics* 74: 106–120.

*Bioinformatics* 18 Suppl. 1: S189–S198.

*Computational Biology* 11(2-3): 263–275. Foulds, L. (1992). *Graph Theory Applications*, Springer Verlag.

large pedigrees, *Genetics* 185: 655–670.

*Genetics* 81(6): 2074–2093.

powerful approach to multiple testing, *Journal of the Royal Statistical Society B*

polymorphisms for association analysis using linkage disequilibrium, *American*

adjustments of p values for multiple correlated tests, *American Journal of Human*

associations in large studies of correlated data, including genomewide association

MCMC convergence or in extreme cases by a lack of irreducibility of the sampler. Adapting the blocking methodologies in (Abraham, 2007);(Habier, 2009) and (Habier, 2010) to other cluster identification in general ohmics data sets could prove to be fruitful.

We next consider a long standing issue which is relevant in both block assignment in blocking gibbs and cluster assignment in general, *i.e.* the problem of determining the number of independent subgroups in the data set making as few model dependent assuptions as possible. As was mentioned in our discussion of non-parametric population stratification , the authors of (Patterson, 2006) suggest that from the elements of a suitably constructed correlation matrix a test statistic can be obtained which can be used to decide on the appropriate number of populations to use as input for parametric population stratification analysis. The treatment of this issue in (Patterson, 2006) is so general that it would appear to be the basis for a model-free approach that could be used to estimate the number of subgroups in an arbitrary ohmics data set given a matrix of correlation values. As applied to blocking gibbs, the matrix of correlation values could be substituted by the distance matrix used in (Abraham, 2007) or some more sophisticated variant thereof. In this regard it is worth recalling that number zero eigenvalues of the Laplacian of an undirected graph is the number of connected components, which supplies a lower bound on the number of clusters. Thus the connection between the entries of a suitable correlation matrix and the number of clusters is well established, by applying the results of (Patterson, 2006) it might be possible to extract more detailed information on the number of clusters present in a dataset.

### **4. Conclusions**

In this chapter we have discussed the relevance and applications of graph theoretical methods to a number of problems in statistical genetics. In particular, some novel applications of the maximum independent set on an undirected graph to population stratification were presented. Some key issues in the construction of Blocking Gibbs Samplers on complex pedigrees were discussed along with their relevance outside of statistical genetics.

### **5. Acknowledgments**

RLF and KJA both received supprot from the United States Department of Agriculture, National Research Iniative Grant USDA NRI-2009-03924. KJA also acknowledges financial support of the program Professor Visitante do Exterior of Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) , Brasil. KJA thanks Prof. Jean-Eudes Dazard and members of the Department of Computation and Mathematics, University of São Paulo (Ribeirão Preto) for valuable discussions.

### **6. References**


14

**4. Conclusions**

**5. Acknowledgments**

**6. References**

(Ribeirão Preto) for valuable discussions.

MCMC convergence or in extreme cases by a lack of irreducibility of the sampler. Adapting the blocking methodologies in (Abraham, 2007);(Habier, 2009) and (Habier, 2010) to other

We next consider a long standing issue which is relevant in both block assignment in blocking gibbs and cluster assignment in general, *i.e.* the problem of determining the number of independent subgroups in the data set making as few model dependent assuptions as possible. As was mentioned in our discussion of non-parametric population stratification , the authors of (Patterson, 2006) suggest that from the elements of a suitably constructed correlation matrix a test statistic can be obtained which can be used to decide on the appropriate number of populations to use as input for parametric population stratification analysis. The treatment of this issue in (Patterson, 2006) is so general that it would appear to be the basis for a model-free approach that could be used to estimate the number of subgroups in an arbitrary ohmics data set given a matrix of correlation values. As applied to blocking gibbs, the matrix of correlation values could be substituted by the distance matrix used in (Abraham, 2007) or some more sophisticated variant thereof. In this regard it is worth recalling that number zero eigenvalues of the Laplacian of an undirected graph is the number of connected components, which supplies a lower bound on the number of clusters. Thus the connection between the entries of a suitable correlation matrix and the number of clusters is well established, by applying the results of (Patterson, 2006) it might be possible to extract

In this chapter we have discussed the relevance and applications of graph theoretical methods to a number of problems in statistical genetics. In particular, some novel applications of the maximum independent set on an undirected graph to population stratification were presented. Some key issues in the construction of Blocking Gibbs Samplers on complex

RLF and KJA both received supprot from the United States Department of Agriculture, National Research Iniative Grant USDA NRI-2009-03924. KJA also acknowledges financial support of the program Professor Visitante do Exterior of Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) , Brasil. KJA thanks Prof. Jean-Eudes Dazard and members of the Department of Computation and Mathematics, University of São Paulo

Abraham, K.J., *et.al.*. (2007). Improved techniques for sampling complex pedigrees with the

Aceto, L., *et. al.*. (2001). The complexity of checking consistency of pedigree information and related problems, *The Journal of Computer Science and Technology* 19(1): 42–59. Arnborg, S., *et.al.*. (1987). Complexity of finding embeddings in a k-tree, *SIAM Journal on*

gibbs sampler, *Genetics, Selection and Evolution* 39: 27–38.

*Algebraic and Discrete Methods* 8: 277–284.

pedigrees were discussed along with their relevance outside of statistical genetics.

cluster identification in general ohmics data sets could prove to be fruitful.

more detailed information on the number of clusters present in a dataset.


Lauritzen, S. L. (1996). *Graphical Models*, Oxford University Press.


**0**

**16**

*Italy*

**Centralities Based Analysis of Complex Networks**

Characterizing, describing, and extracting information from a network is by now one of the main goals of science, since the study of network currently draws the attention of several fields of research, as biology, economics, social science, computer science and so on. The main goal is to analyze networks in order to extract their emergent properties (Bhalla & Iyengar (1999)) and to understand functionality of such complex systems. Two possible analysis approaches can be applied to a complex network: the first based on the study of its topological structure, the second based on the dynamic properties of the system described by the network itself. Since "always structure affects function" (Strogatz (2001)), the topological approach wants to understand networks functionality through the analysis of their structure. For instance, the topological structure of the road network affects critical traffic jam areas, the topology of social networks affects the spread of information and disease and the topology of the power grid affects the robustness and stability of power transmission. Remarkable results have been reached in the topological analysis of networks, concerning the study and characterization of networks structure, and even if far from being complete, several key notions have been introduced. These unifying principles underly the topology of networks belonging to different fields of science. Fundamental are the notions of scale-free network (Barabasi & Albert (1999); Jeong et al. (2000)), cluster (Newman (2006)), network motifs (Milo et al. (2002); Shen-Orr et al. (2002)), small-world property (Watts & Strogatz (1998); Watts (1999); Wagner & Fell (2001)) and centralities. Particularly, centralities have been initially applied to the field of social science (Freeman (1977)) and then to biological networks (Wuchty & Stadler (2003)). Usually, works regarding biological networks rightly consider global properties of the network and when centralities are used, they are often considered from a global point of view, as for example analyzing degree or centralities distribution (Jeong et al. (2000); Wagner & Fell (2001); Wuchty & Stadler (2003); Yamada & Bork (2009); Joy et al. (2005)). A node-oriented approach have been used analyzing attack tolerance of network, where consequences of central nodes deletion are studied (Albert et al. (2000); Crucitti et al. (2004)). But also in this case the analysis have been concentrate on global properties of the network and not on the relevance of the single nodes in the network. Similarly, available software for network analysis is usually oriented to global analysis and characterization of the whole networks. To identify relevant nodes of a biological network, protocols of analysis integrating centralities analysis and lab experimental data are needed and the same for software allowing this kind of analysis. Cytoscape is an excellent visualization and analysis tool with the analysis features greatly enhanced by plug-ins. Plug-in such as NetworkAnalyzer (Assenov et al. (2008)) computes some node centralities but does not allow direct integration with experimental data. Applications such as VisANT

**1. Introduction**

Giovanni Scardoni and Carlo Laudanna

*Center for BioMedical Computing (CBMC), University of Verona*


## **Centralities Based Analysis of Complex Networks**

Giovanni Scardoni and Carlo Laudanna

*Center for BioMedical Computing (CBMC), University of Verona Italy*

#### **1. Introduction**

16

2(12): 2074–2093.

*B* 59(6): 573–704.

*Genetics* 155(2-3): 945–959.

*Human Heredity* 60: 19–25.

*Computing* 10: 259–269.

*Evolution* 35: 585–604.

*Physical Review Letters* 58: 86–88.

World Scientific Publishing, pp. 183–217.

*in Mathematical Physics* 159: 151–174.

Patterson, N. *et.al.*. (2006). Population structure and eigenanalysis, *PLoS Genetics*

322 New Frontiers in Graph Theory

Price, A.L., *et.al.*. (2006). Principal components analysis corrects for stratification in

Pritchard, J.K., *at.al.*. (2000). Inference of population structure using multilocus genotype data,

Roberts, G. & Sahu, S. (1997). Updating schemes, correlation structure, blocking and

Salyakina, D., *et.al.*. (2005). Evaluation of nyholt's procedure for multiple testing correction,

Swendsen, R. & Wang, J.-S. (1987). Nonuniversal critical dynamics in monte carlo simulations,

Thomas, A. & Camp, N. (2004). Graphical modelling of the joint distributions of alleles at

Thomas, A., *et.al.*. (2000). Multilocus linkage analysis by blocked gibbs sampling, *Statistics and*

Totir, L.R., *et.al.*. (2003). A comparison of alternative methods to compute conditional genotype

Tracy, C. & Widom, H. (1994). Level spacing distribution and the airy kernel, *Communications*

Weir, B. S. (1996). *Genetic Data Analysis II*, Sinauer Associates, Sunderland MA 01375 USA.

F. Liang & J.-S. Wang (eds), *Markov Chain Monte Carlo Innovations and Applications*,

probabilities for genetic evaluation with finite locus models, *Genetics,Selection and*

Thomas, D. T. (2004). *Statistical Methods in Genetic Epidemiology*, Oxford University Press. Thompson, E. A. (2005). Mcmc in the analysis of genetic data on pedigrees, *in* W. S. Kendall,

associated loci, *American Journal of Human Genetics* 74: 1088–1101.

parameterization for the gibbs sampler, *Journal of the Royal Statistical Society Series*

genome-wide association studies, *Nature Genetics* 38: 904–909.

Characterizing, describing, and extracting information from a network is by now one of the main goals of science, since the study of network currently draws the attention of several fields of research, as biology, economics, social science, computer science and so on. The main goal is to analyze networks in order to extract their emergent properties (Bhalla & Iyengar (1999)) and to understand functionality of such complex systems. Two possible analysis approaches can be applied to a complex network: the first based on the study of its topological structure, the second based on the dynamic properties of the system described by the network itself. Since "always structure affects function" (Strogatz (2001)), the topological approach wants to understand networks functionality through the analysis of their structure. For instance, the topological structure of the road network affects critical traffic jam areas, the topology of social networks affects the spread of information and disease and the topology of the power grid affects the robustness and stability of power transmission. Remarkable results have been reached in the topological analysis of networks, concerning the study and characterization of networks structure, and even if far from being complete, several key notions have been introduced. These unifying principles underly the topology of networks belonging to different fields of science. Fundamental are the notions of scale-free network (Barabasi & Albert (1999); Jeong et al. (2000)), cluster (Newman (2006)), network motifs (Milo et al. (2002); Shen-Orr et al. (2002)), small-world property (Watts & Strogatz (1998); Watts (1999); Wagner & Fell (2001)) and centralities. Particularly, centralities have been initially applied to the field of social science (Freeman (1977)) and then to biological networks (Wuchty & Stadler (2003)). Usually, works regarding biological networks rightly consider global properties of the network and when centralities are used, they are often considered from a global point of view, as for example analyzing degree or centralities distribution (Jeong et al. (2000); Wagner & Fell (2001); Wuchty & Stadler (2003); Yamada & Bork (2009); Joy et al. (2005)). A node-oriented approach have been used analyzing attack tolerance of network, where consequences of central nodes deletion are studied (Albert et al. (2000); Crucitti et al. (2004)). But also in this case the analysis have been concentrate on global properties of the network and not on the relevance of the single nodes in the network. Similarly, available software for network analysis is usually oriented to global analysis and characterization of the whole networks. To identify relevant nodes of a biological network, protocols of analysis integrating centralities analysis and lab experimental data are needed and the same for software allowing this kind of analysis. Cytoscape is an excellent visualization and analysis tool with the analysis features greatly enhanced by plug-ins. Plug-in such as NetworkAnalyzer (Assenov et al. (2008)) computes some node centralities but does not allow direct integration with experimental data. Applications such as VisANT

Section 2 consists in a review of some centralities considered important with particular consideration for biological networks. For each centrality a possible biological meaning have been treated and some examples illustrate their significance. Section 3 introduce the CentiScaPe software, the Cytoscape plug-in we implemented for computing network centralities. Main feature of the software is the possibility of integrating experimental data-set with the topological analysis. In CentiScaPe, computed centralities can be easily correlated between each other or with biological parameters derived from the experiments in order to identify the most significant nodes according to both topological and biological properties. In section 4 the protocol of analysis is introduced through an example of analysis of a human kino-phosphatome network. Most relevant kinases and phosphatases according to their centralities values have been extracted from the network and their phosphorylation level in threonine and tyrosine have been obtained through a lab experiment. Centrality values and activation (phosphorylation) levels have been integrated using CentiScaPe and most relevant kinases and phosphatases according to both centrality values and activation levels have been easily identified. Section 5 introduce the Interference software to measure the changes in the

Centralities Based Analysis of Complex Networks 325

In this section, some of the classical network centralities are introduced. For each centrality, we present the mathematical definition, a brief description with some examples, and a possible biological meaning in a protein network. A good and complete description of network centralities can be found in (Koschützki et al. (2005)), where also some algorithms are presented. For many centralities indices it is required that network is connected, i.e. each node is reachable from all the others. If not, some centralities can results in infinity values or some other not properly correct computation. Besides some centralities are not defined for directed graph (except of trivial situation), so we will consider here only connected undirected

Let *G* = (*N*, *E*) an undirected graph, with *n* = |*N*| vertexes. *deg*(*v*), indicate the degree the vertex. *dist*(*v*, *w*) is the shortest path between *v* and *w*. *σst* is the number of shortest paths between *s* and *t* and *σst*(*v*) is the number of shortest paths between *s* and *t* passing through

• The "distance" between two nodes, *dist*(*v*, *w*) is the shortest path between the two nodes; • All calculated scores are computed giving to "higher" values a "positive" meaning, where positive does refer to node proximity to other nodes. Thus, independently on the calculated node centrality, higher scores indicate proximity and lower scores indicate

Is the simplest topological index, corresponding to the number of nodes adjacent to a given node *v*, where "adjacent" means directly connected. The nodes directly connected to a given node *v* are also called "first neighbors" of the given node. Thus, the degree also corresponds to the number of adjacent incident edges. In directed networks we distinguish in-degree, when

remoteness of a given node *v* from the other nodes in the graph.

topological structure of complex networks.

graph.

**Preliminary definitions**

the vertex *v*. Notably:

**2.1 Degree (***deg*(*k*)**)**

• Vertex = nodes; edges = arches;

**2. Node centralities: definition and description**

(Hu et al. (2005)), and Centibin (Junker et al. (2006)) calculate centralities, although they either calculate fewer centralities or are not suitable to integration with experimental data. Starting from these general considerations, the first part of this chapter concern the application of network centralities analysis to complex networks from a perspective oriented to identify relevant nodes, with a particular attention to biological networks. Necessary steps to do this are illustrated above through an example of protein-protein interaction network analysis. The aim of the first part of this chapter is to face the centralities analysis of a protein interaction network from a node oriented point of view. The same approach can then be extended to several kinds of complex networks. We want to identify nodes that are relevant for the networks for both centralities analysis and lab experiments. To do this, the following steps have been done:


A further step have been introduced. Once we have identified relevant proteins in a network, we are interested in identifying non-obvious relation between these and other proteins in the network. In any network structure, the role of a node depends, not only on the features of the node itself, but also on the topological structure of the network and on the other nodes features. So even if centralities are node properties, they depend also on other nodes. We know that in a protein network nodes can be added or deleted because of different reasons as for example gene duplication (adding) or gene deletion or drug usage (deleting). More generally, If we delete a relevant node in a complex network, the effects of the deletion have impact not only on the single node and its neighbors, but also on other part of the network. For instance, if you are close friend of an important politician of your town, you have a central role in the social network of the town, and consequently your friends have a central role. But if this politician looses his central role, or if he is completely excluded from the political life of the town, for instance because they put him in prison (this correspond to a deletion on the social network), also you loose your central role in the network and the same for those people related to you. The idea is that the impact of an adding or deletion of a node can be measured through the variation of centrality values of the other nodes in the network. Such notion we introduced have been called "network centralities interference". It allows to identify those nodes that are more sensitive to deletion or adding of a particular node in the network. The Interference Cytoscape plugin have been released to allow this kind of analysis (Scardoni & Laudanna (2011)).

2 Will-be-set-by-IN-TECH

(Hu et al. (2005)), and Centibin (Junker et al. (2006)) calculate centralities, although they either calculate fewer centralities or are not suitable to integration with experimental data. Starting from these general considerations, the first part of this chapter concern the application of network centralities analysis to complex networks from a perspective oriented to identify relevant nodes, with a particular attention to biological networks. Necessary steps to do this are illustrated above through an example of protein-protein interaction network analysis. The aim of the first part of this chapter is to face the centralities analysis of a protein interaction network from a node oriented point of view. The same approach can then be extended to several kinds of complex networks. We want to identify nodes that are relevant for the networks for both centralities analysis and lab experiments. To do this, the following steps

• Some centralities that we consider significant have been detected. A biological meaning of

• A protocol of analysis for a protein network based on integration of centralities analysis

• A software (CentiScaPe) for computing centralities and integrating topological analysis

• A human kino-phosphatome network have been extracted from a global human protein interactome data-set, including 11120 nodes and 84776 unique undirected interactions

• CentiScaPe have been applied to this human kino-phosphatome network and activation level (in threonine and thyrosine) of each protein obtained performeing lab experiments

• Proteins important from both topological analysis and activation level have been easily identified: the attention of successive experiments and analysis should be focused on these

A further step have been introduced. Once we have identified relevant proteins in a network, we are interested in identifying non-obvious relation between these and other proteins in the network. In any network structure, the role of a node depends, not only on the features of the node itself, but also on the topological structure of the network and on the other nodes features. So even if centralities are node properties, they depend also on other nodes. We know that in a protein network nodes can be added or deleted because of different reasons as for example gene duplication (adding) or gene deletion or drug usage (deleting). More generally, If we delete a relevant node in a complex network, the effects of the deletion have impact not only on the single node and its neighbors, but also on other part of the network. For instance, if you are close friend of an important politician of your town, you have a central role in the social network of the town, and consequently your friends have a central role. But if this politician looses his central role, or if he is completely excluded from the political life of the town, for instance because they put him in prison (this correspond to a deletion on the social network), also you loose your central role in the network and the same for those people related to you. The idea is that the impact of an adding or deletion of a node can be measured through the variation of centrality values of the other nodes in the network. Such notion we introduced have been called "network centralities interference". It allows to identify those nodes that are more sensitive to deletion or adding of a particular node in the network. The Interference Cytoscape plugin have been released to allow this kind of analysis

and data from lab experiments (activation level) have been designed.

have been done:

proteins.

(Scardoni & Laudanna (2011)).

these centralities have been hypothesized.

obtained from public data-bases.

have been related to centrality values.

results with lab experimental data set is presented.

Section 2 consists in a review of some centralities considered important with particular consideration for biological networks. For each centrality a possible biological meaning have been treated and some examples illustrate their significance. Section 3 introduce the CentiScaPe software, the Cytoscape plug-in we implemented for computing network centralities. Main feature of the software is the possibility of integrating experimental data-set with the topological analysis. In CentiScaPe, computed centralities can be easily correlated between each other or with biological parameters derived from the experiments in order to identify the most significant nodes according to both topological and biological properties. In section 4 the protocol of analysis is introduced through an example of analysis of a human kino-phosphatome network. Most relevant kinases and phosphatases according to their centralities values have been extracted from the network and their phosphorylation level in threonine and tyrosine have been obtained through a lab experiment. Centrality values and activation (phosphorylation) levels have been integrated using CentiScaPe and most relevant kinases and phosphatases according to both centrality values and activation levels have been easily identified. Section 5 introduce the Interference software to measure the changes in the topological structure of complex networks.

#### **2. Node centralities: definition and description**

In this section, some of the classical network centralities are introduced. For each centrality, we present the mathematical definition, a brief description with some examples, and a possible biological meaning in a protein network. A good and complete description of network centralities can be found in (Koschützki et al. (2005)), where also some algorithms are presented. For many centralities indices it is required that network is connected, i.e. each node is reachable from all the others. If not, some centralities can results in infinity values or some other not properly correct computation. Besides some centralities are not defined for directed graph (except of trivial situation), so we will consider here only connected undirected graph.

#### **Preliminary definitions**

Let *G* = (*N*, *E*) an undirected graph, with *n* = |*N*| vertexes. *deg*(*v*), indicate the degree the vertex. *dist*(*v*, *w*) is the shortest path between *v* and *w*. *σst* is the number of shortest paths between *s* and *t* and *σst*(*v*) is the number of shortest paths between *s* and *t* passing through the vertex *v*. Notably:


#### **2.1 Degree (***deg*(*k*)**)**

Is the simplest topological index, corresponding to the number of nodes adjacent to a given node *v*, where "adjacent" means directly connected. The nodes directly connected to a given node *v* are also called "first neighbors" of the given node. Thus, the degree also corresponds to the number of adjacent incident edges. In directed networks we distinguish in-degree, when

Fig. 1. a. A network where high diameter is due to a low number of nodes. b. A network

convergence. Indeed, a big protein network with low diameter may suggest that the proteins within the network had a functional co-evolution. The diameter should be carefully weighted

Centralities Based Analysis of Complex Networks 327

*AvDG* <sup>=</sup> <sup>∑</sup>*i*,*j*∈*<sup>N</sup> dist*(*i*, *<sup>j</sup>*)

where *n* is the number of nodes in *G*. The average distance (shortest path) of a graph *G*, corresponding to the sum of all shortest paths between vertex couples divided for the total number of vertex couples. Often it is not an integer. As for the diameter, it can be a simple and general parameter of graph "compactness", meaning with that the overall tendency of nodes to stay in proximity. Being an average, it can be somehow more informative than the diameter and can be also considered a general indicator of network "navigability". A "high" average distance indicates that the nodes are distant (disperse), implying little graph compactness. In contrast a "low" average distance indicates that all the nodes are in proximity and the graph is compact (figure **??**). In quantitative terms, "high" and "low" are better defined when compared to the total number of nodes in the graph. Thus, a low average distance of a very big graph (with hundreds of nodes) is more meaningful in term of compactness than a low

The average distance of a biological network, for instance a protein-signaling network, can be interpreted as the overall easiness of the proteins to communicate and/or influence their reciprocal function. It could be also a sign of functional convergence. Indeed, a big protein network with low average distance may suggest that the proteins within the network have the tendency to generate functional complexes and/or modules (although centrality indexes

*n*(*n* − 1)

with low diameter and average distance. The network is "compact".

if the graph is not fully connected (that is, there are isolated nodes).

average distance of a small graph (with few nodes).

should be also calculated to support that indication).

**2.3 Average distance (***AvDG***)**

**In biological terms**

the edges target the node *v*, and out-degree, when the edges target the adjacent neighbors of *v*. Calculation of the degree allows determining the "degree distribution" *P*(*k*), which gives the probability that a selected node has exactly *k* links. *P*(*k*) is obtained counting the number of nodes *N*(*k*) with *k* = 1, 2, 3 . . . links and dividing by the total number of nodes N. Determining the degree distribution allows distinguishing different kind of graphs. For instance, a graph with a peaked degree distribution (Gaussian distribution) indicates that the system has a characteristic degree with no highly connected nodes. This is typical of random, non-natural, networks. By contrast, a power-law degree distribution indicates the presence of few nodes having a very high degree. Nodes with high degree (highly connected) are called "hubs" and hold together several nodes with lower degree. Networks displaying a degree distribution approximating a power-law, *<sup>P</sup>*(*k*) <sup>≈</sup> *<sup>k</sup>*−*γ*, where *<sup>γ</sup>* is degree exponent, are called scale-free networks (Barabasi & Albert (1999)). Scale-free networks are mainly dominated by hubs and are intrinsically robust to random attacks but vulnerable to selected alterations (Albert et al. (2000); Jeong et al. (2001)). Scale-free networks are typically natural networks.

#### **In biological terms**

The degree allows an immediate evaluation of the regulatory relevance of the node. For instance, in signaling networks, proteins with very high degree are interacting with several other signaling proteins, thus suggesting a central regulatory role, that is they are likely to be regulatory "hubs". For instance, signaling proteins encoded by oncogenes, such as HRAS, SRC or TP53, are hubs. Depending on the nature of the protein, the degree could indicate a central role in amplification (kinases), diversification and turnover (small GTPases), signaling module assembly (docking proteins), gene expression (transcription factors), etc. Signaling networks have typically a scale-free architecture.

### **2.2 Diameter (**Δ*G***)**

Δ*G* is the maximal distance (shortest path) amongst all the distances calculated between each couple of vertexes in the graph *G*. The diameter indicates how much distant are the two most distant nodes. It can be a first and simple general parameter of graph "compactness", meaning with that the overall proximity between nodes. A "high" graph diameter indicates that the two nodes determining that diameter are very distant, implying little graph compactness. However, it is possible that two nodes are very distant, thus giving a high graph diameter, but several other nodes are not (see figure 1). Therefore, a graph could have high diameter and still being rather compact or have very compact regions. Thus, a high graph diameter can be misleading in term of evaluation of graph compactness. In contrast a "low" graph diameter is much more informative and reliable. Indeed, a low diameter surely indicates that all the nodes are in proximity and the graph is compact. In quantitative terms, "high" and "low" are better defined when compared to the total number of nodes in the graph. Thus, a low diameter of a very big graph (with hundreds of nodes) is much more meaningful in term of compactness than a low diameter of a small graph (with few nodes). Notably, the diameter enables to measure the development of a network in time.

#### **In biological terms**

The diameter, and thus the compactness, of a biological network, for instance a protein-signaling network, can be interpreted as the overall easiness of the proteins to communicate and/or influence their reciprocal function. It could be also a sign of functional

4 Will-be-set-by-IN-TECH

the edges target the node *v*, and out-degree, when the edges target the adjacent neighbors of *v*. Calculation of the degree allows determining the "degree distribution" *P*(*k*), which gives the probability that a selected node has exactly *k* links. *P*(*k*) is obtained counting the number of nodes *N*(*k*) with *k* = 1, 2, 3 . . . links and dividing by the total number of nodes N. Determining the degree distribution allows distinguishing different kind of graphs. For instance, a graph with a peaked degree distribution (Gaussian distribution) indicates that the system has a characteristic degree with no highly connected nodes. This is typical of random, non-natural, networks. By contrast, a power-law degree distribution indicates the presence of few nodes having a very high degree. Nodes with high degree (highly connected) are called "hubs" and hold together several nodes with lower degree. Networks displaying a degree distribution approximating a power-law, *<sup>P</sup>*(*k*) <sup>≈</sup> *<sup>k</sup>*−*γ*, where *<sup>γ</sup>* is degree exponent, are called scale-free networks (Barabasi & Albert (1999)). Scale-free networks are mainly dominated by hubs and are intrinsically robust to random attacks but vulnerable to selected alterations (Albert et al.

The degree allows an immediate evaluation of the regulatory relevance of the node. For instance, in signaling networks, proteins with very high degree are interacting with several other signaling proteins, thus suggesting a central regulatory role, that is they are likely to be regulatory "hubs". For instance, signaling proteins encoded by oncogenes, such as HRAS, SRC or TP53, are hubs. Depending on the nature of the protein, the degree could indicate a central role in amplification (kinases), diversification and turnover (small GTPases), signaling module assembly (docking proteins), gene expression (transcription factors), etc. Signaling

Δ*G* is the maximal distance (shortest path) amongst all the distances calculated between each couple of vertexes in the graph *G*. The diameter indicates how much distant are the two most distant nodes. It can be a first and simple general parameter of graph "compactness", meaning with that the overall proximity between nodes. A "high" graph diameter indicates that the two nodes determining that diameter are very distant, implying little graph compactness. However, it is possible that two nodes are very distant, thus giving a high graph diameter, but several other nodes are not (see figure 1). Therefore, a graph could have high diameter and still being rather compact or have very compact regions. Thus, a high graph diameter can be misleading in term of evaluation of graph compactness. In contrast a "low" graph diameter is much more informative and reliable. Indeed, a low diameter surely indicates that all the nodes are in proximity and the graph is compact. In quantitative terms, "high" and "low" are better defined when compared to the total number of nodes in the graph. Thus, a low diameter of a very big graph (with hundreds of nodes) is much more meaningful in term of compactness than a low diameter of a small graph (with few nodes). Notably, the diameter

The diameter, and thus the compactness, of a biological network, for instance a protein-signaling network, can be interpreted as the overall easiness of the proteins to communicate and/or influence their reciprocal function. It could be also a sign of functional

(2000); Jeong et al. (2001)). Scale-free networks are typically natural networks.

**In biological terms**

**2.2 Diameter (**Δ*G***)**

**In biological terms**

networks have typically a scale-free architecture.

enables to measure the development of a network in time.

Fig. 1. a. A network where high diameter is due to a low number of nodes. b. A network with low diameter and average distance. The network is "compact".

convergence. Indeed, a big protein network with low diameter may suggest that the proteins within the network had a functional co-evolution. The diameter should be carefully weighted if the graph is not fully connected (that is, there are isolated nodes).

### **2.3 Average distance (***AvDG***)**

$$AvD\_G = \frac{\sum\_{i,j \in N} dist(i,j)}{n(n-1)}$$

where *n* is the number of nodes in *G*. The average distance (shortest path) of a graph *G*, corresponding to the sum of all shortest paths between vertex couples divided for the total number of vertex couples. Often it is not an integer. As for the diameter, it can be a simple and general parameter of graph "compactness", meaning with that the overall tendency of nodes to stay in proximity. Being an average, it can be somehow more informative than the diameter and can be also considered a general indicator of network "navigability". A "high" average distance indicates that the nodes are distant (disperse), implying little graph compactness. In contrast a "low" average distance indicates that all the nodes are in proximity and the graph is compact (figure **??**). In quantitative terms, "high" and "low" are better defined when compared to the total number of nodes in the graph. Thus, a low average distance of a very big graph (with hundreds of nodes) is more meaningful in term of compactness than a low average distance of a small graph (with few nodes).

#### **In biological terms**

The average distance of a biological network, for instance a protein-signaling network, can be interpreted as the overall easiness of the proteins to communicate and/or influence their reciprocal function. It could be also a sign of functional convergence. Indeed, a big protein network with low average distance may suggest that the proteins within the network have the tendency to generate functional complexes and/or modules (although centrality indexes should be also calculated to support that indication).

Fig. 2. a. The network shows the difference between eccentricity and closeness. The values of eccentricity are node0=0.14, node8=0.2, node15=0.2. The closeness values are node0=0.021, node8=0.017, node15=0.014. In this case node0 is closer than node8 and node15 to the most of nodes in the graph. Eccentricity value of node0 is smaller than value of node8 and node15, but this is due only to few nodes. If they are proteins this probably mean that node0 is fundamental for the most of reaction in the network, and that node8 and node15 are important only in reactions between few proteins. b. The network shows the difference between centroid and closeness. Here node0 has highest centroid value (centroid=1, closeness=0,04) and node7 has highest closeness value (centroid=-1, closeness= 0,05).

Centralities Based Analysis of Complex Networks 329

likely to be central in the graph. Figure 2 shows an example of difference between closeness

The closeness of a node in a biological network, for instance a protein-signaling network, can be interpreted as a measure of the possibility of a protein to be functionally relevant for several other proteins, but with the possibility to be irrelevant for few other proteins. Thus, a protein with high closeness, compared to the average closeness of the network, will be easily central to the regulation of other proteins but with some proteins not influenced by its activity. Notably, in biological networks could be also of interest to analyze proteins with low closeness, compared to the average closeness of the network, as these proteins, although less relevant for that specific network, are possibly behaving as intersecting boundaries with other networks. Accordingly, a signaling network with a very high average closeness is more likely organizing functional units or modules, whereas a signaling network with very low average closeness will behave more likely as an open cluster of proteins connecting different

*Crad*(*v*) :<sup>=</sup> <sup>∑</sup>*w*∈*N*(Δ*<sup>G</sup>* <sup>+</sup> <sup>1</sup> <sup>−</sup> *dist*(*v*, *<sup>w</sup>*))

The radiality is a node centrality index. The radiality of a node *v* is calculated by computing the shortest path between the node *v* and all other nodes in the graph. The value of each

*n* − 1

and eccentricity.

**In biological terms**

regulatory modules.

**2.6 Radiality (***Crad*(*v*)**)**

#### **2.4 Eccentricity (***Cecc*(*v*)**)**

$$\mathcal{C}\_{\text{ecc}}(v) := \frac{1}{\max\{dist(v, w) : w \in N\}}$$

The eccentricity is a node centrality index. The eccentricity of a node *v* is calculated by computing the shortest path between the node *v* and all other nodes in the graph, then the "longest" shortest path is chosen (let (*v*, *K*) where *K* is the most distant node from *v*). Once this path with length *dist*(*v*, *K*) is identified, its reciprocal is calculated (1/*dist*(*v*, *K*)). By doing that, an eccentricity with higher value assumes a positive meaning in term of node proximity. Indeed, if the eccentricity of the node *v* is high, this means that all other nodes are in proximity. In contrast, if the eccentricity is low, this means that there is at least one node (and all its neighbors) that is far form node *v*. Of course, this does not exclude that several other nodes are much closer to node *v*. Thus, eccentricity is a more meaningful parameter if is high. Notably, "high" and "low" values are more significant when compared to the average eccentricity of the graph *G* calculated by averaging the eccentricity values of all nodes in the graph.

#### **In biological terms**

The eccentricity of a node in a biological network, for instance a protein-signaling network, can be interpreted as the easiness of a protein to be functionally reached by all other proteins in the network. Thus, a protein with high eccentricity, compared to the average eccentricity of the network, will be more easily influenced by the activity of other proteins (the protein is subject to a more stringent or complex regulation) or, conversely could easily influence several other proteins. In contrast, a low eccentricity, compared to the average eccentricity of the network, could indicate a marginal functional role (although this should be also evaluated with other parameters and contextualized to the network annotations).

### **2.5 Closeness (***Cclo*(*v*)**)**

$$\mathsf{C}\_{clo}(v) := \frac{1}{\sum\_{w \in N} dist(v, w)}$$

The closeness is a node centrality index. The closeness of a node *v* is calculated by computing the shortest path between the node *v* and all other nodes in the graph, and then calculating the sum. Once this value is obtained, its reciprocal is calculated, so higher values assume a positive meaning in term of node proximity. Also here, "high" and "low" values are more meaningful when compared to the average closeness of the graph *G* calculated by averaging the closeness values of all nodes in the graph. Notably, high values of closeness should indicate that all other nodes are in proximity to node *v*. In contrast, low values of closeness should indicate that all other nodes are distant from node *v*. However, a high closeness value can be determined by the presence of few nodes very close to node *v*, with other much more distant, or by the fact that all nodes are generally very close to *v*. Likewise, a low closeness value can be determined by the presence of few nodes very distant from node *v*, with other much closer, or by the fact that all nodes are generally distant from *v*. Thus, the closeness value should be considered as an "average tendency to node proximity or isolation", not really informative on the specific nature of the individual node couples. The closeness should be always compared to the eccentricity: a node with high eccentricity + high closeness is very 6 Will-be-set-by-IN-TECH

The eccentricity is a node centrality index. The eccentricity of a node *v* is calculated by computing the shortest path between the node *v* and all other nodes in the graph, then the "longest" shortest path is chosen (let (*v*, *K*) where *K* is the most distant node from *v*). Once this path with length *dist*(*v*, *K*) is identified, its reciprocal is calculated (1/*dist*(*v*, *K*)). By doing that, an eccentricity with higher value assumes a positive meaning in term of node proximity. Indeed, if the eccentricity of the node *v* is high, this means that all other nodes are in proximity. In contrast, if the eccentricity is low, this means that there is at least one node (and all its neighbors) that is far form node *v*. Of course, this does not exclude that several other nodes are much closer to node *v*. Thus, eccentricity is a more meaningful parameter if is high. Notably, "high" and "low" values are more significant when compared to the average eccentricity of the graph *G* calculated by averaging the eccentricity values of all nodes in the

The eccentricity of a node in a biological network, for instance a protein-signaling network, can be interpreted as the easiness of a protein to be functionally reached by all other proteins in the network. Thus, a protein with high eccentricity, compared to the average eccentricity of the network, will be more easily influenced by the activity of other proteins (the protein is subject to a more stringent or complex regulation) or, conversely could easily influence several other proteins. In contrast, a low eccentricity, compared to the average eccentricity of the network, could indicate a marginal functional role (although this should be also evaluated

with other parameters and contextualized to the network annotations).

*Cclo*(*v*) :<sup>=</sup> <sup>1</sup>

The closeness is a node centrality index. The closeness of a node *v* is calculated by computing the shortest path between the node *v* and all other nodes in the graph, and then calculating the sum. Once this value is obtained, its reciprocal is calculated, so higher values assume a positive meaning in term of node proximity. Also here, "high" and "low" values are more meaningful when compared to the average closeness of the graph *G* calculated by averaging the closeness values of all nodes in the graph. Notably, high values of closeness should indicate that all other nodes are in proximity to node *v*. In contrast, low values of closeness should indicate that all other nodes are distant from node *v*. However, a high closeness value can be determined by the presence of few nodes very close to node *v*, with other much more distant, or by the fact that all nodes are generally very close to *v*. Likewise, a low closeness value can be determined by the presence of few nodes very distant from node *v*, with other much closer, or by the fact that all nodes are generally distant from *v*. Thus, the closeness value should be considered as an "average tendency to node proximity or isolation", not really informative on the specific nature of the individual node couples. The closeness should be always compared to the eccentricity: a node with high eccentricity + high closeness is very

<sup>∑</sup>*w*∈*<sup>N</sup> dist*(*v*, *<sup>w</sup>*)

*max*{*dist*(*v*, *w*) : *w* ∈ *N*}

*Cecc*(*v*) :<sup>=</sup> <sup>1</sup>

**2.4 Eccentricity (***Cecc*(*v*)**)**

graph.

**In biological terms**

**2.5 Closeness (***Cclo*(*v*)**)**

Fig. 2. a. The network shows the difference between eccentricity and closeness. The values of eccentricity are node0=0.14, node8=0.2, node15=0.2. The closeness values are node0=0.021, node8=0.017, node15=0.014. In this case node0 is closer than node8 and node15 to the most of nodes in the graph. Eccentricity value of node0 is smaller than value of node8 and node15, but this is due only to few nodes. If they are proteins this probably mean that node0 is fundamental for the most of reaction in the network, and that node8 and node15 are important only in reactions between few proteins. b. The network shows the difference between centroid and closeness. Here node0 has highest centroid value (centroid=1, closeness=0,04) and node7 has highest closeness value (centroid=-1, closeness= 0,05).

likely to be central in the graph. Figure 2 shows an example of difference between closeness and eccentricity.

#### **In biological terms**

The closeness of a node in a biological network, for instance a protein-signaling network, can be interpreted as a measure of the possibility of a protein to be functionally relevant for several other proteins, but with the possibility to be irrelevant for few other proteins. Thus, a protein with high closeness, compared to the average closeness of the network, will be easily central to the regulation of other proteins but with some proteins not influenced by its activity. Notably, in biological networks could be also of interest to analyze proteins with low closeness, compared to the average closeness of the network, as these proteins, although less relevant for that specific network, are possibly behaving as intersecting boundaries with other networks. Accordingly, a signaling network with a very high average closeness is more likely organizing functional units or modules, whereas a signaling network with very low average closeness will behave more likely as an open cluster of proteins connecting different regulatory modules.

#### **2.6 Radiality (***Crad*(*v*)**)**

$$\mathbb{C}\_{rad}(v) := \frac{\sum\_{w \in N} (\Delta\_G + 1 - dist(v, w))}{n - 1}$$

The radiality is a node centrality index. The radiality of a node *v* is calculated by computing the shortest path between the node *v* and all other nodes in the graph. The value of each

**In biological terms**

**2.8 Stress (***Cstr*(*v*)**)**

the graph.

where

**In biological terms**

communication between other proteins.

**2.9 S.-P. Betweenness (***Cspb*(*v*)**)**

The centroid value of a node in a biological network, for instance a protein-signaling network, can be interpreted as the "probability" of a protein to be functionally capable of organizing discrete protein clusters or modules. Thus, a protein with high centroid value, compared to the average centroid value of the network, will be possibly involved in coordinating the activity of other highly connected proteins, altogether devoted to the regulation of a specific cell activity (for instance, cell adhesion, gene expression, proliferation etc.). Accordingly, a signaling network with a very high average centroid value is more likely organizing functional units or modules, whereas a signaling network with very low average centroid value will behave more likely as an open cluster of proteins connecting different regulatory modules. It can be useful to compare the centroid value to algorithms detecting dense regions in a graph,

Centralities Based Analysis of Complex Networks 331

indicating protein clusters, such as, for instance, MCODE (Bader & Hogue (2003)).

*Cstr*(*v*) := ∑

*s*�=*v*∈*N*

The stress is a node centrality index. Stress is calculated by measuring the number of shortest paths passing through a node. To calculate the "stress" of a node *v*, all shortest paths in a graph *G* are calculated and then the number of shortest paths passing through *v* is counted. A "stressed" node is a node traversed by a high number of shortest paths. Notably and importantly, a high stress values does not automatically implies that the node *v* is critical to maintain the connection between nodes whose paths are passing through it. Indeed, it is possible that two nodes are connected by means of other shortest paths not passing through the node *v*. Also here, "high" and "low" values are more meaningful when compared to the average stress value of the graph *G* calculated by averaging the stress values of all nodes in

The stress of a node in a biological network, for instance a protein-signaling network, can indicate the relevance of a protein as functionally capable of holding together communicating nodes. The higher the value the higher the relevance of the protein in connecting regulatory molecules. Due to the nature of this centrality, it is possible that the stress simply indicates a molecule heavily involved in cellular processes but not relevant to maintain the

*s*�=*v*∈*N*

*<sup>δ</sup>st*(*v*) :<sup>=</sup> *<sup>σ</sup>st*(*v*)

The S.-P. Betweenness is a node centrality index. It is similar to the stress but provides a

∑ *t*�=*v*∈*N*

*σst*

*δst*(*v*)

*Cspb*(*v*) := ∑

∑ *t*�=*v*∈*N* *σst*(*v*)

path is then subtracted by the value of the diameter +1 (Δ*G* + 1) and the resulting values are summated. Finally, the obtained value is divided for the number of nodes −1 (*n* −1). Basically, as the diameter is the maximal possible distance between nodes, subtracting systematically from the diameter the shortest paths between the node *v* and its neighbors will give high values if the paths are short and low values if the paths are long. Overall, if the radiality is high this means that, with respect to the diameter, the node is generally closer to the other nodes, whereas, if the radiality is low, this means that the node is peripheral. Also here, "high" and "low" values are more meaningful when compared to the average radiality of the graph *G* calculated by averaging the radiality values of all nodes in the graph. As for the closeness, the radiality value should be considered as an "average tendency to node proximity or isolation", not definitively informative on the centrality of the individual node. The radiality should be always compared to the closeness and to the eccentricity: a node with high eccentricity + high closeness+ high radiality is a consistent indication of a high central position in the graph.

#### **In biological terms**

The radiality of a node in a biological network, for instance a protein-signaling network, can be interpreted as the measure of the possibility of a protein to be functionally relevant for several other proteins, but with the possibility to be irrelevant for few other proteins. Thus, a protein with high radiality, compared to the average radiality of the network, will be easily central to the regulation of other proteins but with some proteins not influenced by its activity. Notably, in biological networks could be also of interest to analyze proteins with low radiality, compared to the average radiality of the network, as these proteins, although less relevant for that specific network, are possibly behaving as intersecting boundaries with other networks. Accordingly, a signaling network with a very high average radiality is more likely organizing functional units or modules, whereas a signaling network with very low average radiality will behave more likely as an open cluster of proteins connecting different regulatory modules. All these interpretations should be accompanied to the contemporary evaluation of eccentricity and closeness.

#### **2.7 Centroid value (***Ccen*(*v*)**)**

$$\mathcal{C}\_{\text{cen}}(v) := \min \{ f(v, w) : w \in N\{v\} \}$$

Where *f*(*v*, *w*) := *γv*(*w*) − *γw*(*v*), and *γv*(*w*) is the number of vertex closer to *v* than to *w*. The centroid value is the most complex node centrality index. It is computed by focusing the calculus on couples of nodes (*v*, *w*) and systematically counting the nodes that are closer (in term of shortest path) to *v* or to *w*. The calculus proceeds by comparing the node distance from other nodes with the distance of all other nodes from the others, such that a high centroid value indicates that a node *v* is much closer to other nodes. Thus, the centroid value provides a centrality index always weighted with the values of all other nodes in the graph. Indeed, the node with the highest centroid value is also the node with the highest number of neighbors (not only first) if compared with all other nodes. In other terms, a node *v* with the highest centroid value is the node with the highest number of neighbors separated by the shortest path to *v*. The centroid value suggests that a specific node has a central position within a graph region characterized by a high density of interacting nodes. Also here, "high" and "low" values are more meaningful when compared to the average centrality value of the graph *G* calculated by averaging the centrality values of all nodes in the graph.

#### **In biological terms**

8 Will-be-set-by-IN-TECH

path is then subtracted by the value of the diameter +1 (Δ*G* + 1) and the resulting values are summated. Finally, the obtained value is divided for the number of nodes −1 (*n* −1). Basically, as the diameter is the maximal possible distance between nodes, subtracting systematically from the diameter the shortest paths between the node *v* and its neighbors will give high values if the paths are short and low values if the paths are long. Overall, if the radiality is high this means that, with respect to the diameter, the node is generally closer to the other nodes, whereas, if the radiality is low, this means that the node is peripheral. Also here, "high" and "low" values are more meaningful when compared to the average radiality of the graph *G* calculated by averaging the radiality values of all nodes in the graph. As for the closeness, the radiality value should be considered as an "average tendency to node proximity or isolation", not definitively informative on the centrality of the individual node. The radiality should be always compared to the closeness and to the eccentricity: a node with high eccentricity + high closeness+ high radiality is a consistent indication of a high central position in the graph.

The radiality of a node in a biological network, for instance a protein-signaling network, can be interpreted as the measure of the possibility of a protein to be functionally relevant for several other proteins, but with the possibility to be irrelevant for few other proteins. Thus, a protein with high radiality, compared to the average radiality of the network, will be easily central to the regulation of other proteins but with some proteins not influenced by its activity. Notably, in biological networks could be also of interest to analyze proteins with low radiality, compared to the average radiality of the network, as these proteins, although less relevant for that specific network, are possibly behaving as intersecting boundaries with other networks. Accordingly, a signaling network with a very high average radiality is more likely organizing functional units or modules, whereas a signaling network with very low average radiality will behave more likely as an open cluster of proteins connecting different regulatory modules. All these interpretations should be accompanied to the contemporary evaluation of eccentricity

*Ccen*(*v*) := *min*{ *f*(*v*, *w*) : *w* ∈ *N*{*v*}} Where *f*(*v*, *w*) := *γv*(*w*) − *γw*(*v*), and *γv*(*w*) is the number of vertex closer to *v* than to *w*. The centroid value is the most complex node centrality index. It is computed by focusing the calculus on couples of nodes (*v*, *w*) and systematically counting the nodes that are closer (in term of shortest path) to *v* or to *w*. The calculus proceeds by comparing the node distance from other nodes with the distance of all other nodes from the others, such that a high centroid value indicates that a node *v* is much closer to other nodes. Thus, the centroid value provides a centrality index always weighted with the values of all other nodes in the graph. Indeed, the node with the highest centroid value is also the node with the highest number of neighbors (not only first) if compared with all other nodes. In other terms, a node *v* with the highest centroid value is the node with the highest number of neighbors separated by the shortest path to *v*. The centroid value suggests that a specific node has a central position within a graph region characterized by a high density of interacting nodes. Also here, "high" and "low" values are more meaningful when compared to the average centrality value of the graph *G*

calculated by averaging the centrality values of all nodes in the graph.

**In biological terms**

and closeness.

**2.7 Centroid value (***Ccen*(*v*)**)**

The centroid value of a node in a biological network, for instance a protein-signaling network, can be interpreted as the "probability" of a protein to be functionally capable of organizing discrete protein clusters or modules. Thus, a protein with high centroid value, compared to the average centroid value of the network, will be possibly involved in coordinating the activity of other highly connected proteins, altogether devoted to the regulation of a specific cell activity (for instance, cell adhesion, gene expression, proliferation etc.). Accordingly, a signaling network with a very high average centroid value is more likely organizing functional units or modules, whereas a signaling network with very low average centroid value will behave more likely as an open cluster of proteins connecting different regulatory modules. It can be useful to compare the centroid value to algorithms detecting dense regions in a graph, indicating protein clusters, such as, for instance, MCODE (Bader & Hogue (2003)).

#### **2.8 Stress (***Cstr*(*v*)**)**

$$\mathcal{C}\_{str}(\upsilon) := \sum\_{s \neq \upsilon \in \mathcal{N}} \sum\_{t \neq \upsilon \in \mathcal{N}} \sigma\_{st}(\upsilon),$$

The stress is a node centrality index. Stress is calculated by measuring the number of shortest paths passing through a node. To calculate the "stress" of a node *v*, all shortest paths in a graph *G* are calculated and then the number of shortest paths passing through *v* is counted. A "stressed" node is a node traversed by a high number of shortest paths. Notably and importantly, a high stress values does not automatically implies that the node *v* is critical to maintain the connection between nodes whose paths are passing through it. Indeed, it is possible that two nodes are connected by means of other shortest paths not passing through the node *v*. Also here, "high" and "low" values are more meaningful when compared to the average stress value of the graph *G* calculated by averaging the stress values of all nodes in the graph.

#### **In biological terms**

The stress of a node in a biological network, for instance a protein-signaling network, can indicate the relevance of a protein as functionally capable of holding together communicating nodes. The higher the value the higher the relevance of the protein in connecting regulatory molecules. Due to the nature of this centrality, it is possible that the stress simply indicates a molecule heavily involved in cellular processes but not relevant to maintain the communication between other proteins.

#### **2.9 S.-P. Betweenness (***Cspb*(*v*)**)**

$$\mathcal{C}\_{spb}(\upsilon) := \sum\_{s \neq \upsilon \in N} \sum\_{t \neq \upsilon \in N} \delta\_{st}(\upsilon).$$

where

$$\delta\_{\rm st}(v) := \frac{\sigma\_{\rm st}(v)}{\sigma\_{\rm st}}$$

The S.-P. Betweenness is a node centrality index. It is similar to the stress but provides a

**2.10 Normalization and relative centralities**

node *n* as:

network.

**2.11 Conclusions**

Once centralities have been computed, the question that arise immediately is what does it means to have a centrality of, for example, 0.4 for a node? This clearly depends on different parameters as the number of nodes in the network, the maximum value of the centrality and on the topological structure of the network. In order to compare centrality scores between the elements of a graph or between the elements of different graphs some kind of normalization of centrality values is needed. Common normalizations applicable to most centralities are to divide each value by the maximum centrality value or by the sum of all values. We will use the second defining it as the relative centralities value. So, given a centrality *C*, *C*(*G*, *n*) is the value of the centrality of node *n* in the network *G*. We define the relative centrality value of

Centralities Based Analysis of Complex Networks 333

*relC*(*G*, *<sup>n</sup>*) = *<sup>C</sup>*(*G*, *<sup>n</sup>*)

So a relative centrality of 0.4 means that the node has the 40% of the total centrality of the

A review of nodes centralities have been presented. The centralities introduced have been chosen for their biological relevance, and a possible biological meaning for each centrality have been hypothesized. Normalization of centralities, useful for comparison between nodes

In this section we describe the CentiScaPe software (Scardoni et al. (2009)), a Cytoscape (Cline et al. (2007); Shannon et al. (2003)) plugin we implemented to calculate centralities values and integrating topological analysis of networks with lab experimental data. Main

The vast amount of available experimental data generating annotated gene or protein complex networks has increased the quest for visualization and analysis tools to understand individual node functions masked by the overall network complexity. Cytoscape is an excellent visualization and analysis tool with the analysis features greatly enhanced by plug-ins. Plug-in such as NetworkAnalyzer (Assenov et al. (2008)) computes some node centralities but does not allow direct integration with experimental data. Applications such as VisANT (Hu et al. (2005)), and Centibin (Junker et al. (2006)) calculate centralities, although they either calculate fewer centralities or are not suitable to integration with experimental data. Figure 1 shows a comparative evaluation of CentiScaPe and other applications. CentiScaPe is the only Cytoscape plug-in that computes several centralities at once. In CentiScaPe, computed centralities can be easily correlated between each other or with biological parameters derived from the experiments in order to identify the most significant nodes according to both topological and biological properties. Functional to this capability is the scatter plot by value options, which allows easy correlating node centrality values to experimental data defined by the user. Particularly this feature allows a new way to face the analysis of biological network, integrating topological analysis and lab experimental data. This new approach is described in section 4. At present version 1.2 is available and it is downloaded with a rate of about hundred downloads for month (see Cytoscape

in a network and between nodes of different networks have also been considered.

concepts of this section have been published on (Scardoni et al. (2009)).

**3. CentiScaPe a software for network centralities**

<sup>∑</sup>*i*∈*<sup>N</sup> <sup>C</sup>*(*G*,*i*)

Fig. 3. Betweenness vs Stress. In fig. a node4, node10, and node9 present high value of stress (= 56), and the same value of betweenness (=18.67). In fig.b, node4 presents the same value of stress of fig.a and higher value of betweenness(=56). This is because the number of shortest paths passing through node4 is the same in the two network. But in the second network node4 is the only node connecting the two parts of the network. In this sense betweenness is more precise than stress giving also information on how the node is fundamental in the network. If we remove node4 in fig.a, the connection between the node in the network don't change so much. If we remove node 4 from fig.b the network is completely disconnected.

more elaborated and informative centrality index. The betweenness of a node *n* is calculated considering couples of nodes (*v*1, *v*2) and counting the number of shortest paths linking *v*1 and *v*2 and passing through a node *n*. Then, the value is related to the total number of shortest paths linking *v*1 and *v*2. Thus, a node can be traversed by only one path linking *v*1 and *v*2, but if this path is the only connecting *v*1 and *v*2 the node *n* will score a higher betweenness value (in the stress computation would have had a low score). Thus, a high S.-P. Betweenness score means that the node, for certain paths, is crucial to maintain node connections. Notably, to know the number of paths for which the node is critical it is necessary to look at the stress. Thus, stress and S.-P. Betweenness can be used to gain complementary information. Further information could be gained by referring the S.-P. Betweenness to node couples, thus "quantifying" the importance of a node for two connected nodes. Also here, "high" and "low" values are more meaningful when compared to the average S.-P. Betweenness value of the graph *G* calculated by averaging the S.-P. Betweenness values of all nodes in the graph.

#### **In biological terms**

The S.-P. Betweenness of a node in a biological network, for instance a protein-signaling network, can indicate the relevance of a protein as functionally capable of holding together communicating proteins. The higher the value the higher the relevance of the protein as organizing regulatory molecule. The S.-P. Betweenness of a protein effectively indicates the capability of a protein to bring in communication distant proteins. In signaling modules, proteins with high S.-P. Betweenness are likely crucial to maintain functionally and coherence of signaling mechanisms.

#### **2.10 Normalization and relative centralities**

Once centralities have been computed, the question that arise immediately is what does it means to have a centrality of, for example, 0.4 for a node? This clearly depends on different parameters as the number of nodes in the network, the maximum value of the centrality and on the topological structure of the network. In order to compare centrality scores between the elements of a graph or between the elements of different graphs some kind of normalization of centrality values is needed. Common normalizations applicable to most centralities are to divide each value by the maximum centrality value or by the sum of all values. We will use the second defining it as the relative centralities value. So, given a centrality *C*, *C*(*G*, *n*) is the value of the centrality of node *n* in the network *G*. We define the relative centrality value of node *n* as:

$$relC(G, n) = \frac{C(G, n)}{\sum\_{i \in N} C(G, i)}$$

So a relative centrality of 0.4 means that the node has the 40% of the total centrality of the network.

#### **2.11 Conclusions**

10 Will-be-set-by-IN-TECH

Fig. 3. Betweenness vs Stress. In fig. a node4, node10, and node9 present high value of stress (= 56), and the same value of betweenness (=18.67). In fig.b, node4 presents the same value of stress of fig.a and higher value of betweenness(=56). This is because the number of shortest paths passing through node4 is the same in the two network. But in the second network node4 is the only node connecting the two parts of the network. In this sense betweenness is more precise than stress giving also information on how the node is fundamental in the network. If we remove node4 in fig.a, the connection between the node in the network don't change so much. If we remove node 4 from fig.b the network is completely disconnected.

more elaborated and informative centrality index. The betweenness of a node *n* is calculated considering couples of nodes (*v*1, *v*2) and counting the number of shortest paths linking *v*1 and *v*2 and passing through a node *n*. Then, the value is related to the total number of shortest paths linking *v*1 and *v*2. Thus, a node can be traversed by only one path linking *v*1 and *v*2, but if this path is the only connecting *v*1 and *v*2 the node *n* will score a higher betweenness value (in the stress computation would have had a low score). Thus, a high S.-P. Betweenness score means that the node, for certain paths, is crucial to maintain node connections. Notably, to know the number of paths for which the node is critical it is necessary to look at the stress. Thus, stress and S.-P. Betweenness can be used to gain complementary information. Further information could be gained by referring the S.-P. Betweenness to node couples, thus "quantifying" the importance of a node for two connected nodes. Also here, "high" and "low" values are more meaningful when compared to the average S.-P. Betweenness value of the graph *G* calculated by averaging the S.-P. Betweenness values of all nodes in the graph.

The S.-P. Betweenness of a node in a biological network, for instance a protein-signaling network, can indicate the relevance of a protein as functionally capable of holding together communicating proteins. The higher the value the higher the relevance of the protein as organizing regulatory molecule. The S.-P. Betweenness of a protein effectively indicates the capability of a protein to bring in communication distant proteins. In signaling modules, proteins with high S.-P. Betweenness are likely crucial to maintain functionally and coherence

**In biological terms**

of signaling mechanisms.

A review of nodes centralities have been presented. The centralities introduced have been chosen for their biological relevance, and a possible biological meaning for each centrality have been hypothesized. Normalization of centralities, useful for comparison between nodes in a network and between nodes of different networks have also been considered.

#### **3. CentiScaPe a software for network centralities**

In this section we describe the CentiScaPe software (Scardoni et al. (2009)), a Cytoscape (Cline et al. (2007); Shannon et al. (2003)) plugin we implemented to calculate centralities values and integrating topological analysis of networks with lab experimental data. Main concepts of this section have been published on (Scardoni et al. (2009)).

The vast amount of available experimental data generating annotated gene or protein complex networks has increased the quest for visualization and analysis tools to understand individual node functions masked by the overall network complexity. Cytoscape is an excellent visualization and analysis tool with the analysis features greatly enhanced by plug-ins. Plug-in such as NetworkAnalyzer (Assenov et al. (2008)) computes some node centralities but does not allow direct integration with experimental data. Applications such as VisANT (Hu et al. (2005)), and Centibin (Junker et al. (2006)) calculate centralities, although they either calculate fewer centralities or are not suitable to integration with experimental data. Figure 1 shows a comparative evaluation of CentiScaPe and other applications. CentiScaPe is the only Cytoscape plug-in that computes several centralities at once. In CentiScaPe, computed centralities can be easily correlated between each other or with biological parameters derived from the experiments in order to identify the most significant nodes according to both topological and biological properties. Functional to this capability is the scatter plot by value options, which allows easy correlating node centrality values to experimental data defined by the user. Particularly this feature allows a new way to face the analysis of biological network, integrating topological analysis and lab experimental data. This new approach is described in section 4. At present version 1.2 is available and it is downloaded with a rate of about hundred downloads for month (see Cytoscape

when calculating the shortest path between two nodes *s* and *t*, the Dijkstra algorithm keep for each node *n* a predecessor node *p*. The predecessor node is the node that is the predecessor of *n* in one of the shortest paths between *s* and *t*. So in case of the Dijkstra algorithm, only one predecessor for each node is needed. To have all the shortest paths, we replace the predecessor *p* with a set of predecessors for each node *n*. The set of predecessors of the node *n* is the set of all the predecessors of the node *n* in the shortest paths set between *s* and *t*, i.e. one node is in the set of predecessors of *n* if it is a predecessor of *n* in one of the shortest paths between *s* and *t* containing *n*. Once the predecessors set of each node *n* has been computed, also the tree of all the shortest paths between *s* and *t* can be easily computed. Once we have computed all the shortest paths between each pairs of nodes of our network, the algorithm of each centralities comes directly from the formal definition of each centrality. Computational complexity for each centrality value is shown in table 2. A well done description of this and Centrality Computational complexity

Centralities Based Analysis of Complex Networks 335

Diameter O(*mn* + *n*2) Average distance O(*mn* + *n*2) Degree (deg(v)) O(*n*) Radiality (rad(v)) O(*mn* + *n*2) Closeness (clo(v)) O(*mn* + *n*2) Stress (str(v)) O(*mn* + *n*2) Betweenness (btw(v)) O(*n*3) Centroid Value (cen(v)) O(*mn* + *n*2) Eccentricity (ecc(v)) O(*mn* + *n*2)

is the number of edges in the network.

centralities: network centralities, and node centralities.

some graphic features.

**3.3 Using CentiScaPe**

Table 2. Computational complexity for each centrality value. n is the number of nodes and m

other centralities algorithms can be found in (Koschützki et al. (2005)). CentiScaPe is written in Java as a Cytoscape plugin, in order to exploit all the excellent features of Cytoscape and to reach the larger number of users. The Java library JFreechart (Gilbert (n.d.)) has been used for

Once CentiScaPe have been started, the main menu will appear as a panel on the left side of the Cytoscape window as shown in figure 4. The panel shows to the user the list of centralities and the user can select all the centralities or some of them. A banner and a node worked count appear during the computation to show the computation progress. The numerical results are saved as node or network attributes in the Cytoscape attributes browser, depending on the kind of parameters, so all the Cytoscape features for managing attributes are supported: after the computation the centralities are treated as normal Cytoscape attributes. The value of each centrality is saved as an attribute with name "CentiScaPe" followed by the name of the centrality. For example the eccentricity is saved in the Cytoscape attributes browser as "CentiScaPe Eccentricity". Since the Cytoscape attributes follow the alphabetical order this make it easy to find all the centralities in the attributes browser list. There are two kind of


Table 1. Features of CentiScaPe versus Network Analyzer, Visant, Centibin

website for download statistics). Several results using CentisCaPe have been published in Arsenio Rodriguez (2011); Sengupta et al. (2009a); Lepp et al. (2009); Sengupta et al. (2009b); Biondani et al. (2008); Sengupta et al. (2009c); Feltes et al. (2011); Schokker et al. (2011); Ladha et al. (2010); Choura & Rebaï (2010); Venkatachalam et al. (2011); Webster et al. (2011). **Availability:** CentiScaPe can be downloaded via the Cytoscape web site:

http://chianti.ucsd.edu/cyto\_web/plugins/index.php.

Tutorial, centrality descriptions and example data are available at:

http://www.cbmc.it/%7Escardonig/centiscape/centiscape.php

#### **3.1 System overview**

CentiScaPe computes several network centralities for undirected networks. Computed parameters are: Average Distance, Diameter, Degree, Stress, Betweenness, Radiality, Closeness, Centroid Value and Eccentricity. Plug-in help and on-line files are provided with definition, description and biological significance for each centrality (see section 2). Min, max and mean values are given for each computed centrality. Multiple networks analysis is also supported. Centrality values appear in the Cytoscape attributes browser, so they can be saved and loaded as normal Cytoscape attributes, thus allowing their visualization with the Cytoscape mapping core features. Once computation is completed, the actual analysis begins, using the graphical interface of CentiScaPe.

### **3.2 Algorithm and implementation**

To calculate all the centralities the computation of the shortest path between each pair of nodes in the graph is needed. The algorithm for the shortest path is the well known Dijkstra algorithm (Dijkstra (1959)). There are no costs in our network edges, so in our case the algorithm keeps one as the cost of each edge. To compute Stress and Betweenness we need all the shortest paths between each pair of nodes and not only a single shortest path between each pair. To do this the Dijkstra algorithm has been adjusted as follows. Exploring the graph 12 Will-be-set-by-IN-TECH

between centralities

with experimental data

Feature Centiscape Network analyzer Visant Centibin

Degree Yes Yes Yes Yes Radiality Yes Yes No Yes Closeness Yes Yes No Yes Stress Yes Yes No Yes Betweenness Yes Yes No Yes Centroid value Yes No No Yes Eccentricity Yes Yes No Yes Scatter plot Yes No No No

Scatter plot Yes No No No

Plot by node Yes No No No Highlighting filter Yes No No No

website for download statistics). Several results using CentisCaPe have been published in Arsenio Rodriguez (2011); Sengupta et al. (2009a); Lepp et al. (2009); Sengupta et al. (2009b); Biondani et al. (2008); Sengupta et al. (2009c); Feltes et al. (2011); Schokker et al. (2011); Ladha et al. (2010); Choura & Rebaï (2010); Venkatachalam et al. (2011); Webster et al. (2011).

CentiScaPe computes several network centralities for undirected networks. Computed parameters are: Average Distance, Diameter, Degree, Stress, Betweenness, Radiality, Closeness, Centroid Value and Eccentricity. Plug-in help and on-line files are provided with definition, description and biological significance for each centrality (see section 2). Min, max and mean values are given for each computed centrality. Multiple networks analysis is also supported. Centrality values appear in the Cytoscape attributes browser, so they can be saved and loaded as normal Cytoscape attributes, thus allowing their visualization with the Cytoscape mapping core features. Once computation is completed, the actual analysis

To calculate all the centralities the computation of the shortest path between each pair of nodes in the graph is needed. The algorithm for the shortest path is the well known Dijkstra algorithm (Dijkstra (1959)). There are no costs in our network edges, so in our case the algorithm keeps one as the cost of each edge. To compute Stress and Betweenness we need all the shortest paths between each pair of nodes and not only a single shortest path between each pair. To do this the Dijkstra algorithm has been adjusted as follows. Exploring the graph

Table 1. Features of CentiScaPe versus Network Analyzer, Visant, Centibin

**Availability:** CentiScaPe can be downloaded via the Cytoscape web site:

Tutorial, centrality descriptions and example data are available at: http://www.cbmc.it/%7Escardonig/centiscape/centiscape.php

http://chianti.ucsd.edu/cyto\_web/plugins/index.php.

begins, using the graphical interface of CentiScaPe.

**3.2 Algorithm and implementation**

**3.1 System overview**

when calculating the shortest path between two nodes *s* and *t*, the Dijkstra algorithm keep for each node *n* a predecessor node *p*. The predecessor node is the node that is the predecessor of *n* in one of the shortest paths between *s* and *t*. So in case of the Dijkstra algorithm, only one predecessor for each node is needed. To have all the shortest paths, we replace the predecessor *p* with a set of predecessors for each node *n*. The set of predecessors of the node *n* is the set of all the predecessors of the node *n* in the shortest paths set between *s* and *t*, i.e. one node is in the set of predecessors of *n* if it is a predecessor of *n* in one of the shortest paths between *s* and *t* containing *n*. Once the predecessors set of each node *n* has been computed, also the tree of all the shortest paths between *s* and *t* can be easily computed. Once we have computed all the shortest paths between each pairs of nodes of our network, the algorithm of each centralities comes directly from the formal definition of each centrality. Computational complexity for each centrality value is shown in table 2. A well done description of this and


Table 2. Computational complexity for each centrality value. n is the number of nodes and m is the number of edges in the network.

other centralities algorithms can be found in (Koschützki et al. (2005)). CentiScaPe is written in Java as a Cytoscape plugin, in order to exploit all the excellent features of Cytoscape and to reach the larger number of users. The Java library JFreechart (Gilbert (n.d.)) has been used for some graphic features.

#### **3.3 Using CentiScaPe**

Once CentiScaPe have been started, the main menu will appear as a panel on the left side of the Cytoscape window as shown in figure 4. The panel shows to the user the list of centralities and the user can select all the centralities or some of them. A banner and a node worked count appear during the computation to show the computation progress. The numerical results are saved as node or network attributes in the Cytoscape attributes browser, depending on the kind of parameters, so all the Cytoscape features for managing attributes are supported: after the computation the centralities are treated as normal Cytoscape attributes. The value of each centrality is saved as an attribute with name "CentiScaPe" followed by the name of the centrality. For example the eccentricity is saved in the Cytoscape attributes browser as "CentiScaPe Eccentricity". Since the Cytoscape attributes follow the alphabetical order this make it easy to find all the centralities in the attributes browser list. There are two kind of centralities: network centralities, and node centralities.

threshold is supported. So the user can select the more/equal option for some centralities, the less/equal option for others and can join them with the AND or the OR operator. If necessary, one or more centralities can be deactivated. This feature can immediately answer to questions as: "Which are the nodes having high Betweenness and Stress but low Eccentricity?" Notably, the threshold can also be modified by hand to gain in resolution. In figure **??** are highlighted all the nodes having centralities values more/equal than the corresponding threshold (AND operator). Once the nodes have been selected according to their node-specific values, the corresponding subgraph can be extracted and displayed using normal Cytoscape

Centralities Based Analysis of Complex Networks 337

Two kind of graphical outputs are supported: plot by centrality and plot by node, both allowing analysis that are not possible with other centralities tools. The user can correlate

Fig. 5. a. Network analysis of human kino-phosphatome. The protein kinase MAPK1 shows high centralities values for most of the computed centralities suggesting its central role in the network structure and function. For each centrality the specific node value (red), the mean value (blue), the min value (green), and the max value (white) is shown. b. Integration of topological analysis with experimental data. Centroid values are plotted over protein phosphorylation levels in tyrosine. Relevant nodes are easily identified in the top-right quadrant.The centralities values and the node identifier appear in CentiScaPe by passing

centralities between them or with experimental data, such as, for example, gene expression level or protein phosphorylation level (plot by centrality), and can analyze all centralities values node by node (plot by node). Example of plot by node and plot by centrality are shown

The plot by centrality visualization is an easy and convenient way to discriminate nodes and/or group of nodes that are most relevant according to a combination of two selected parameters. It shows correlation between centralities and/or other quantitative node attributes, such as experimental data from genomic and/or proteomic analysis. The result of the plot by centrality option is a chart where each individual node, represented by a geometrical shape, is mapped to a Cartesian axis. In the horizontal and vertical axis, the

with the mouse over each geometrical shape in the plot.

in figure 5. Graphics can be saved to a jpeg file.

**Plot by centrality**

core features.

**Graphic output**


Fig. 4. a. CentiScaPe starting panel. On the left side the main menu appears, to select the centralities for computation. b. A computation results of CentiScaPe. All nodes having centrality values more/equal than the corresponding threshold (AND operator) are highlighted.

#### **Network centralities**

The network centralities concern the entire network and not the single nodes. They are the Diameter and the Average Distance. They will appear on the data panel selecting the Cytoscape network attribute browser.

#### **Node centralities**

All other centralities are node parameters and refer to the single nodes. So they will appear on the attribute browser as node attributes. Using the Node attribute browser the user can select one or more of them as normal attributes. CentiScaPe also calculates the min, max and mean value for each centrality. Since they are network parameters they appear on the Network attribute browser. As for the other attributes the user can save and load network and node parameters to/from a file. If an attribute is already loaded or calculated and the user try to recalculate it, a warning message will appear.

### **CentiScaPe results panel**

If one or more node centralities have been selected, a result panel will appear on the right side of the Cytoscape window (figure 4b). The first step of the analysis is the Boolean logic-based result panel of CentiScaPe (figure 4b). It is possible, by using the provided sliders in the Results Panel of Cytoscape, to highlight the nodes having centralities values that are higher, minor or equal to a threshold value defined by the user. The slider threshold is initialized to the mean value of each centrality so all the nodes having a centrality value less or equal to the threshold are highlighted by default in the network view with a color depending on the selected visual mapper of Cytoscape (yellow in figure 4b). So if one centrality has been selected, all the nodes having a value less or equal the threshold for that centralities are highlighted. If more than one centralities has been selected they can be joined with an AND or an OR operator. If the AND operator is selected, the nodes for which all the values are less or equal the corresponding threshold are highlighted. If the OR operator is selected the nodes for which at least one value is less or equal the corresponding threshold are highlighted. The possibility of highlighting also the nodes that are more/equal than the

threshold is supported. So the user can select the more/equal option for some centralities, the less/equal option for others and can join them with the AND or the OR operator. If necessary, one or more centralities can be deactivated. This feature can immediately answer to questions as: "Which are the nodes having high Betweenness and Stress but low Eccentricity?" Notably, the threshold can also be modified by hand to gain in resolution. In figure **??** are highlighted all the nodes having centralities values more/equal than the corresponding threshold (AND operator). Once the nodes have been selected according to their node-specific values, the corresponding subgraph can be extracted and displayed using normal Cytoscape core features.

#### **Graphic output**

14 Will-be-set-by-IN-TECH

Fig. 4. a. CentiScaPe starting panel. On the left side the main menu appears, to select the centralities for computation. b. A computation results of CentiScaPe. All nodes having centrality values more/equal than the corresponding threshold (AND operator) are

The network centralities concern the entire network and not the single nodes. They are the Diameter and the Average Distance. They will appear on the data panel selecting the

All other centralities are node parameters and refer to the single nodes. So they will appear on the attribute browser as node attributes. Using the Node attribute browser the user can select one or more of them as normal attributes. CentiScaPe also calculates the min, max and mean value for each centrality. Since they are network parameters they appear on the Network attribute browser. As for the other attributes the user can save and load network and node parameters to/from a file. If an attribute is already loaded or calculated and the user try to

If one or more node centralities have been selected, a result panel will appear on the right side of the Cytoscape window (figure 4b). The first step of the analysis is the Boolean logic-based result panel of CentiScaPe (figure 4b). It is possible, by using the provided sliders in the Results Panel of Cytoscape, to highlight the nodes having centralities values that are higher, minor or equal to a threshold value defined by the user. The slider threshold is initialized to the mean value of each centrality so all the nodes having a centrality value less or equal to the threshold are highlighted by default in the network view with a color depending on the selected visual mapper of Cytoscape (yellow in figure 4b). So if one centrality has been selected, all the nodes having a value less or equal the threshold for that centralities are highlighted. If more than one centralities has been selected they can be joined with an AND or an OR operator. If the AND operator is selected, the nodes for which all the values are less or equal the corresponding threshold are highlighted. If the OR operator is selected the nodes for which at least one value is less or equal the corresponding threshold are highlighted. The possibility of highlighting also the nodes that are more/equal than the

highlighted.

**Network centralities**

**Node centralities**

**CentiScaPe results panel**

Cytoscape network attribute browser.

recalculate it, a warning message will appear.

Two kind of graphical outputs are supported: plot by centrality and plot by node, both allowing analysis that are not possible with other centralities tools. The user can correlate

Fig. 5. a. Network analysis of human kino-phosphatome. The protein kinase MAPK1 shows high centralities values for most of the computed centralities suggesting its central role in the network structure and function. For each centrality the specific node value (red), the mean value (blue), the min value (green), and the max value (white) is shown. b. Integration of topological analysis with experimental data. Centroid values are plotted over protein phosphorylation levels in tyrosine. Relevant nodes are easily identified in the top-right quadrant.The centralities values and the node identifier appear in CentiScaPe by passing with the mouse over each geometrical shape in the plot.

centralities between them or with experimental data, such as, for example, gene expression level or protein phosphorylation level (plot by centrality), and can analyze all centralities values node by node (plot by node). Example of plot by node and plot by centrality are shown in figure 5. Graphics can be saved to a jpeg file.

#### **Plot by centrality**

The plot by centrality visualization is an easy and convenient way to discriminate nodes and/or group of nodes that are most relevant according to a combination of two selected parameters. It shows correlation between centralities and/or other quantitative node attributes, such as experimental data from genomic and/or proteomic analysis. The result of the plot by centrality option is a chart where each individual node, represented by a geometrical shape, is mapped to a Cartesian axis. In the horizontal and vertical axis, the

and inhibitions of proteins corresponding to the transmissions of signals and to the control of complex processes in cells. The approach to the kino-phosphatome network is to identify the most important proteins for their centrality values and then to analyze with a lab experiment their activation level. After this, using the CentiScaPe feature of integrating topological analysis and data from lab experiments, those values are integrated and those nodes important for both centralities value and activation level are easily identified. This introduce a new way of facing the analysis of a protein interaction network based on the Strogatz assertion that in a biological network "Structure always affects function" (Strogatz (2001)). Instead of concentrating the analysis, as usual, on the global properties of the network (such degree distribution, centralities distribution, and so on) we consider in a cause-effect point of view single nodes of the network relating their centrality values (cause) with activation level (effects). Most of the contents of this section have been published on

Centralities Based Analysis of Complex Networks 339

The protocol used for the analysis of the human kino-phosphatome network is the following: • The nodes of interest are extracted from the global network, resulting in a subnetwork to analyze (in our example the subnetwork of human kinases and phosphatases have been

• The centralities values are computed with CentiScaPe. A subnetwork of proteins with all

• The lab experiment identifies which of these proteins present high phosphorilation level

• Using CentiScaPe, lab experimental data and centrality values are integrated, so proteins

This protocol have been applied as follows. A global human protein interactome data-set (Global Kino-Phosphatome network), including 11120 nodes and 84776 unique undirected interactions (IDs = HGNC), was complied from public data-bases (HPRD, BIND, DIP, IntAct, MINT, others; see (Scardoni et al. (2009)) on-line file GLOBAL-HGNC.sif) between human protein kinases and phosphatases. The resulting sub-network, a kino-phosphatome network, consisted of 549 nodes and 3844 unique interactions (see (Scardoni et al. (2009)) on-line files Table S4 and Kino-Phosphatome.sif), with 406 kinases and 143 phosphatases. The kino-phosphatome network did not contain isolated nodes. We used CentiScaPe to calculate centrality parameters. A first general overview of the global topological properties of the kino-phosphatome network comes from the min, max and average values of all computed centralities along with the diameter and the average distance of the network (table 3). These data provide a general overview of the global topological properties of the kino-phosphatome network. For instance, an average degree equals to 13.5 with an average distance of 3 may suggest a highly connected network in which proteins are strongly functionally interconnected. Computation of network centralities allowed a first ranking of human kinases and phosphatases according to their central role in the network (see (Scardoni et al. (2009)) on-line files Table S6 reporting all node-by-node values of different centralities). To facilitate the identification of nodes with the highest scores we applied the "plot by centrality" feature of CentiScaPe. A first plotting degree over degree generated a linear distribution, as expected (see fig. 6). However, it is evident that the distribution is

with high level of activation and high centralities values are easily identified.

• Next experiments and analysis should be focused on these proteins.

(Scardoni et al. (2009)).

**4.1 Centralities analysis**

extracted from a human proteins interactome).

centrality values over the average is extracted.

(in our example in tyrosine and threonine)

values of the selected attributes are reported. Most of the relevant nodes are easily identified in the top-right quadrant of the chart. Figure 5b shows a plot of centroid values over intensity of protein tyrosine phosphorylation in the human kino-phosphatome network derived from the analysis of human primary polymorphonuclear neutrophils (PMNs) stimulated with the chemoattractant IL-8 (see section 4). The proteins having high values for both parameters likely play a crucial regulatory role in the network. The user can plot in five different ways: centrality versus centrality, centrality versus experimental data, experimental data versus experimental data, a centrality versus itself and an experimental data versus itself. Notably, a specific way to use the plot function is to visualize the scatter plot of two experimental data attributes. This is an extra function of the plug-in and can be used in the same way of the centrality/centrality option and centrality/experimental attribute option. If the plot by centrality option is used selecting the same centrality (or the same experimental attribute) for both the horizontal and the vertical axis, result is an easy discrimination of nodes having low values from nodes having high values of the selected parameter (figure 6a) Thus, the main use of the "plot by centrality" feature is to identify group of nodes clustered according to combination of specific topological and/or experimental properties, in order to extract sub-networks to be further analyzed. The combination of topological properties with experimental data is useful to allow more meaningful predictions of sub-network function to be experimentally validated.

#### **Plot by node**

The plot by node option, another unique feature of CentiScaPe, shows for every single node the value of all calculated centralities represented as a bar graph. The mean, max and min values are represented with different colors. To facilitate the visualization, all the values in the graph are normalized and the real values appear when pointing the mouse over a bar. Figure 5a shows, as an example, the values for the MAPK1 calculated from the global human kino-phosphatome (see section 4).

### **3.4 Conclusions**

CentiScaPe is a versatile and user-friendly bioinformatic tool to integrate centrality-based network analysis with experimental data. CentiScaPe is completely integrated into Cytoscape and the possibility of treating centralities as normal attributes permits to enrich the analysis with the Cytoscape core features and with other Cytoscape plug-ins. The analysis obtained with the Boolean-based result panel, the "plot by node" and the "plot by centrality" options give meaningful results not accessible to other tools and allow easy categorization of nodes in large complex networks derived from experimental data.

### **4. A new protocol of analysis. Centralities in the human kino-phosphatome**

In this section a new protocol of analysis of protein interaction network is introduced through an example of analysis of the human kino-phosphatome (Scardoni et al. (2009)). The analysis starts with the extraction of known interaction from a protein interactome. In our case we consider kinases and phosphatases interaction i.e. those interaction regarding activation and inhibition of proteins in the network. Kinases and phosphatases are enzymes involved in the phosphorilation process: they transfer or remove phosphate groups to/from a protein regulating in this way its activity. Substantially kinases and phosphatases activate or inhibit other proteins. In a kino-phosphatome network this process generates a cascade of activations

and inhibitions of proteins corresponding to the transmissions of signals and to the control of complex processes in cells. The approach to the kino-phosphatome network is to identify the most important proteins for their centrality values and then to analyze with a lab experiment their activation level. After this, using the CentiScaPe feature of integrating topological analysis and data from lab experiments, those values are integrated and those nodes important for both centralities value and activation level are easily identified. This introduce a new way of facing the analysis of a protein interaction network based on the Strogatz assertion that in a biological network "Structure always affects function" (Strogatz (2001)). Instead of concentrating the analysis, as usual, on the global properties of the network (such degree distribution, centralities distribution, and so on) we consider in a cause-effect point of view single nodes of the network relating their centrality values (cause) with activation level (effects). Most of the contents of this section have been published on (Scardoni et al. (2009)).

#### **4.1 Centralities analysis**

16 Will-be-set-by-IN-TECH

values of the selected attributes are reported. Most of the relevant nodes are easily identified in the top-right quadrant of the chart. Figure 5b shows a plot of centroid values over intensity of protein tyrosine phosphorylation in the human kino-phosphatome network derived from the analysis of human primary polymorphonuclear neutrophils (PMNs) stimulated with the chemoattractant IL-8 (see section 4). The proteins having high values for both parameters likely play a crucial regulatory role in the network. The user can plot in five different ways: centrality versus centrality, centrality versus experimental data, experimental data versus experimental data, a centrality versus itself and an experimental data versus itself. Notably, a specific way to use the plot function is to visualize the scatter plot of two experimental data attributes. This is an extra function of the plug-in and can be used in the same way of the centrality/centrality option and centrality/experimental attribute option. If the plot by centrality option is used selecting the same centrality (or the same experimental attribute) for both the horizontal and the vertical axis, result is an easy discrimination of nodes having low values from nodes having high values of the selected parameter (figure 6a) Thus, the main use of the "plot by centrality" feature is to identify group of nodes clustered according to combination of specific topological and/or experimental properties, in order to extract sub-networks to be further analyzed. The combination of topological properties with experimental data is useful to allow more meaningful predictions of sub-network function to

The plot by node option, another unique feature of CentiScaPe, shows for every single node the value of all calculated centralities represented as a bar graph. The mean, max and min values are represented with different colors. To facilitate the visualization, all the values in the graph are normalized and the real values appear when pointing the mouse over a bar. Figure 5a shows, as an example, the values for the MAPK1 calculated from the global human

CentiScaPe is a versatile and user-friendly bioinformatic tool to integrate centrality-based network analysis with experimental data. CentiScaPe is completely integrated into Cytoscape and the possibility of treating centralities as normal attributes permits to enrich the analysis with the Cytoscape core features and with other Cytoscape plug-ins. The analysis obtained with the Boolean-based result panel, the "plot by node" and the "plot by centrality" options give meaningful results not accessible to other tools and allow easy categorization of nodes in

**4. A new protocol of analysis. Centralities in the human kino-phosphatome**

In this section a new protocol of analysis of protein interaction network is introduced through an example of analysis of the human kino-phosphatome (Scardoni et al. (2009)). The analysis starts with the extraction of known interaction from a protein interactome. In our case we consider kinases and phosphatases interaction i.e. those interaction regarding activation and inhibition of proteins in the network. Kinases and phosphatases are enzymes involved in the phosphorilation process: they transfer or remove phosphate groups to/from a protein regulating in this way its activity. Substantially kinases and phosphatases activate or inhibit other proteins. In a kino-phosphatome network this process generates a cascade of activations

be experimentally validated.

kino-phosphatome (see section 4).

large complex networks derived from experimental data.

**Plot by node**

**3.4 Conclusions**

The protocol used for the analysis of the human kino-phosphatome network is the following:


This protocol have been applied as follows. A global human protein interactome data-set (Global Kino-Phosphatome network), including 11120 nodes and 84776 unique undirected interactions (IDs = HGNC), was complied from public data-bases (HPRD, BIND, DIP, IntAct, MINT, others; see (Scardoni et al. (2009)) on-line file GLOBAL-HGNC.sif) between human protein kinases and phosphatases. The resulting sub-network, a kino-phosphatome network, consisted of 549 nodes and 3844 unique interactions (see (Scardoni et al. (2009)) on-line files Table S4 and Kino-Phosphatome.sif), with 406 kinases and 143 phosphatases. The kino-phosphatome network did not contain isolated nodes. We used CentiScaPe to calculate centrality parameters. A first general overview of the global topological properties of the kino-phosphatome network comes from the min, max and average values of all computed centralities along with the diameter and the average distance of the network (table 3). These data provide a general overview of the global topological properties of the kino-phosphatome network. For instance, an average degree equals to 13.5 with an average distance of 3 may suggest a highly connected network in which proteins are strongly functionally interconnected. Computation of network centralities allowed a first ranking of human kinases and phosphatases according to their central role in the network (see (Scardoni et al. (2009)) on-line files Table S6 reporting all node-by-node values of different centralities). To facilitate the identification of nodes with the highest scores we applied the "plot by centrality" feature of CentiScaPe. A first plotting degree over degree generated a linear distribution, as expected (see fig. 6). However, it is evident that the distribution is

CentiScaPe Average Distance 3.0292037280789224 CentiScaPe Betweenness Max value 20159.799011925716 CentiScaPe Betweenness mean value 1112.0036429872616

Centralities Based Analysis of Complex Networks 341

CentiScaPe Centroid mean value -393.07285974499086

CentiScaPe Closeness Max value 8.771929824561404E-4 CentiScaPe Closeness mean value 6.175318530305184E-4 CentiScaPe Closeness min value 3.505082369435682E-4

CentiScaPe Eccentricity mean value 0.18407494145199213

CentiScaPe Radiality Max value 6.91970802919708 CentiScaPe Radiality mean value 5.970796271921072 CentiScaPe Radiality min value 3.7937956204379564

CentiScaPe Stress mean value 11537.009107468124

CentiScaPe degree mean value 13.5591985428051

Table 3. Global values of the kino-phosphatome network computed using CentiScaPe. The table includes min, max and mean value for each centrality and also the global parameter

This sub-network possibly represents a group of highly interacting kinases and phosphatases displaying a critical role in the regulation of protein phosphorylation in human cells. Further analysis with CentiScaPe or other analysis tools, such as MCODE (Bader & Hogue (2003)) or Network Analyzer (Assenov et al. (2008)), performing a Gene Ontology database search (Ashburner et al. (2000)), or adding functional annotation data, may allow a deeper functional exploration of this sub network. The regulatory role of proteins belonging to the kino-phosphatome network may be also experimentally tested in a context-selective manner. Indeed, the centrality analysis by CentiScaPe can be even more significant by superimposing experimental data. To test this possibility, we focused the analysis on human

Human primary polymorphonuclear cells (PMNs) were freshly isolated form whole blood of healthy donors by ficoll gradient sedimentation. Purity of PMN preparation was evaluated by flow cytometry and estimated to about 95% of neutrophils. Isolated PMNs were kept in culture at 37*oC* in standard buffer (PBS, 1*mM CaCl*2, 1*mM MgCl*2, 10% FCS, *pH*7.2) and used

CentiScaPe Betweenness min value 0.0 CentiScaPe Centroid Max value 18.0

CentiScaPe Centroid min value -547.0

CentiScaPe Diameter 8.0 CentiScaPe Eccentricity Max value 0.25

CentiScaPe Eccentricity min value 0.125

CentiScaPe Stress Max value 210878.0

CentiScaPe Stress min value 0.0 CentiScaPe degree Max value 102.0

CentiScaPe degree min value 1.0

**4.2 Phosphoproteomic analysis of chemoattractant stimulated human PMNs**

Diameter and Average Distance.

polymorphonuclear neutrophils (PMNs).

**Human primary polymorphonuclear cells isolation**

within 1 hour. Viability before the assays was more than 90%.

Fig. 6. a. A scatter plot degree over degree. As expected this generate a linear distribution. Notably the distribution is not uniform: many nodes display low degree and only few nodes with high degree, according to the scale-free architecture of biological network. b. The "plot by node" representation for PTPN1. The phosphatase PTPN1 presents the highest degree between all the phosphatases and a rather high score for other centralities. This suggests that PTPN1 may play a central regulatory role in the network. For each centrality the specific node value (red), the mean value (blue), the min value (green), and the max value (white) is shown.

not uniform, with the majority of nodes having a similar low degree and very few having very high degree. This is consistent with the known scale-free architecture of biological networks (Jeong et al. (2000)). The scale-free topology of the kino-phosphatome network was also confirmed with Network Analyzer (Assenov et al. (2008)). A total of 186 nodes (164 kinases and 22 phosphatases) displayed a degree over the average. The top 10 degrees (64 to 102) were all kinases, with MAPK1 showing the highest degree (102). Notably, MAPK1 displayed the highest score for most of the computed centralities (fig. 5a), suggesting its central regulatory role in the kino-phosphatome. In contrast, PTPN1 had the highest degree, 46, between all phosphatases (top 31 among all nodes) and had a rather high score also for other centralities Thus, degree analysis suggests that MAPK1 and PTPN1 are the most central kinase and phosphatase, respectively. To further support this suggestion we analyzed the centroid. Average centroid was -393. 242 nodes (206 kinases and 36 phosphatases) displayed a centroid over the average. The top 10 centroid (-79 to 8) were all kinases, with MAPK1 showing the highest centroid value (18). PTPN1 had the highest centroid value, -154, between all phosphatases (top 22 among all nodes). Thus, as for the degree, also the centroid value analysis suggests a possible scale-free distribution, with MAPK1 and PTPN1 being the most central kinase and phosphatase, respectively. This conclusion is also easily evidenced by plotting the degree over the centroid (fig. 7). Here MAPK1 appears at the top right of the plot and PTPN1 is present in the top most dispersed region of the plot, thus suggesting their higher scores. Interestingly, from the analysis is evident a non-linear distribution of nodes, with few dispersed nodes occupying the top right quadrant of the plot (i.e. high degree and high centroid): these nodes can potentially represent particularly important regulatory kinases and phosphatases. This kind of analysis can be iterated by evaluating all other centralities. To extract the most relevant nodes according to all centrality values we used CentiScaPe to select all nodes having all centrality values over the average. Upon filtering we obtained a kino-phosphatome sub-network (fig.**??**) consisting of 97 nodes (82 kinases and 15 phosphatases) and 962 interactions (see (Scardoni et al. (2009)) on-line files Table S7, and K-P sub-network.sif).

18 Will-be-set-by-IN-TECH

Fig. 6. a. A scatter plot degree over degree. As expected this generate a linear distribution. Notably the distribution is not uniform: many nodes display low degree and only few nodes with high degree, according to the scale-free architecture of biological network. b. The "plot by node" representation for PTPN1. The phosphatase PTPN1 presents the highest degree between all the phosphatases and a rather high score for other centralities. This suggests that PTPN1 may play a central regulatory role in the network. For each centrality the specific node value (red), the mean value (blue), the min value (green), and the max value (white) is

not uniform, with the majority of nodes having a similar low degree and very few having very high degree. This is consistent with the known scale-free architecture of biological networks (Jeong et al. (2000)). The scale-free topology of the kino-phosphatome network was also confirmed with Network Analyzer (Assenov et al. (2008)). A total of 186 nodes (164 kinases and 22 phosphatases) displayed a degree over the average. The top 10 degrees (64 to 102) were all kinases, with MAPK1 showing the highest degree (102). Notably, MAPK1 displayed the highest score for most of the computed centralities (fig. 5a), suggesting its central regulatory role in the kino-phosphatome. In contrast, PTPN1 had the highest degree, 46, between all phosphatases (top 31 among all nodes) and had a rather high score also for other centralities Thus, degree analysis suggests that MAPK1 and PTPN1 are the most central kinase and phosphatase, respectively. To further support this suggestion we analyzed the centroid. Average centroid was -393. 242 nodes (206 kinases and 36 phosphatases) displayed a centroid over the average. The top 10 centroid (-79 to 8) were all kinases, with MAPK1 showing the highest centroid value (18). PTPN1 had the highest centroid value, -154, between all phosphatases (top 22 among all nodes). Thus, as for the degree, also the centroid value analysis suggests a possible scale-free distribution, with MAPK1 and PTPN1 being the most central kinase and phosphatase, respectively. This conclusion is also easily evidenced by plotting the degree over the centroid (fig. 7). Here MAPK1 appears at the top right of the plot and PTPN1 is present in the top most dispersed region of the plot, thus suggesting their higher scores. Interestingly, from the analysis is evident a non-linear distribution of nodes, with few dispersed nodes occupying the top right quadrant of the plot (i.e. high degree and high centroid): these nodes can potentially represent particularly important regulatory kinases and phosphatases. This kind of analysis can be iterated by evaluating all other centralities. To extract the most relevant nodes according to all centrality values we used CentiScaPe to select all nodes having all centrality values over the average. Upon filtering we obtained a kino-phosphatome sub-network (fig.**??**) consisting of 97 nodes (82 kinases and 15 phosphatases) and 962 interactions (see (Scardoni et al. (2009)) on-line files Table S7, and K-P

shown.

sub-network.sif).


Table 3. Global values of the kino-phosphatome network computed using CentiScaPe. The table includes min, max and mean value for each centrality and also the global parameter Diameter and Average Distance.

This sub-network possibly represents a group of highly interacting kinases and phosphatases displaying a critical role in the regulation of protein phosphorylation in human cells. Further analysis with CentiScaPe or other analysis tools, such as MCODE (Bader & Hogue (2003)) or Network Analyzer (Assenov et al. (2008)), performing a Gene Ontology database search (Ashburner et al. (2000)), or adding functional annotation data, may allow a deeper functional exploration of this sub network. The regulatory role of proteins belonging to the kino-phosphatome network may be also experimentally tested in a context-selective manner. Indeed, the centrality analysis by CentiScaPe can be even more significant by superimposing experimental data. To test this possibility, we focused the analysis on human polymorphonuclear neutrophils (PMNs).

### **4.2 Phosphoproteomic analysis of chemoattractant stimulated human PMNs**

### **Human primary polymorphonuclear cells isolation**

Human primary polymorphonuclear cells (PMNs) were freshly isolated form whole blood of healthy donors by ficoll gradient sedimentation. Purity of PMN preparation was evaluated by flow cytometry and estimated to about 95% of neutrophils. Isolated PMNs were kept in culture at 37*oC* in standard buffer (PBS, 1*mM CaCl*2, 1*mM MgCl*2, 10% FCS, *pH*7.2) and used within 1 hour. Viability before the assays was more than 90%.

attributes in Cytoscape and the computed centrality values were plotted over values of protein phosphorylation. Here, every node is represented with two coordinates consisting of a computed centrality and of experimental data regarding protein phosphorylation induced in PMNs by fMLP. In figures 5b and 7b are shown plots of centroid values over intensity of protein phosphorylation in threonine or tyrosine residues induced by fMLP triggering in human PMNs. Notably, in the plot are shown only those proteins whose phosphorylation level was experimentally determined. The two plots allow immediately evidencing that proteins phosphorylated in threonine (fig. 5b) or in tyrosine (fig. 7b) have different topological position in the network, with proteins phosphorylated in tyrosine showing a higher centrality values. This could suggest that tyrosine phosphorylation induced in PMNs by chemoattractants involves signaling proteins regulating clusters of proteins, as the centroid value may suggest. Besides, the top/left quadrant is empty in both figures 5b and 7b. So there are no nodes having low centroid value and high phosphorylation in threonine or tyrosine. This may suggest that centroid value and activation level are strictly related. Further hypotheses can be formulated by expanding the analysis to other centralities and by adding more phopshorylation data. From this type of plotting it is possible to further identify relevant nodes not only according to topological position but also to experimental outputs. Thus, groups of nodes whose regulatory relevance is suggested by centrality analysis are further

Centralities Based Analysis of Complex Networks 343

In this section a protocol of analysis for protein network have been proposed. The key idea is that of identify most important proteins from both topological and biological point of view. Through the example of the kino-phosphatome network, we have seen how CentiScaPe can integrate the two kinds of analysis allowing an easy characterization of most relevant proteins. The topological analysis and experimental data do confirm each other's regulatory relevance and may suggest further, more focused, experimental verifications. Combination of CentiScaPe with other bioinformatics tools may help to analyze high throughput genomic

As seen in the previous section, network centralities allow us to understand the role and the importance of each single node in a protein network. Next step we introduce in this section is to understand and measure changes to the topological structure of the network. The effects of mutation in the network structure, have been studied from a global point of view: nodes are removed from the network and the effects on some global parameters, as for example diameter, average distance or global efficiency are evaluated (Barabasi & Oltvai (2004); Jeong et al. (2001); Albert et al. (2000); Crucitti et al. (2004)). Our approach wants to answer to this question: "we remove or add one node in the network, how do other nodes modify their functionality because of this removal?" Since centrality indexes allow categorizing nodes in complex networks according to their topological relevance (see CentiScaPe plugin), in a node-oriented perspective, centralities are very useful topological parameters to compute in order to quantify the effect of individual node(s) alteration. We introduced the notion of interference and developed the Cytoscape plugin **Interference** (Scardoni & Laudanna (2011)) to evaluate the topological effects of single or multiple nodes removal from a network. In this perspective, interference allows virtual node knock-out experiments: it is possible to remove one or more nodes from a network and analyze the consequences on network structure,

and/or proteomic experimental data and may facilitate the decision process.

**5. A further step in centralities analysis: node centralities interference**

characterized by the corresponding data of biological activity.

**4.4 Conclusions**

Fig. 7. a. A "plot by centralities" representation of degree over centroid. In the top right of the plot appear the nodes having high values of both degree and centroid (including MAPK1). b. Integration of topological analysis with experimental data. Centroid values are plotted over protein phosphorylation levels in threonine, experimentally determined as described in the text.

#### **Human primary polymorphonuclear cell stimulation**

Human neutrophils were resuspended in standard buffer at 107/*ml* and stimulated under stirring at 37*oC* for 1 min. with the classical chemoattractant fMLP (100*nM*). Stimulation was blocked by directly disrupting the cells for 10 min. in ice-cold lysis buffer containing: 20*mM* MOPS, *pH*7.0, 2*mM* EGTA, 5*mM* EDTA, 30*mM* sodium fluoride, 60*mM β*-glycerophosphate, 20*mM* sodium pyrophosphate, 1*mM* sodium orthovanadate, 1*mM* phenylmethylsulfonylfluoride, 3*mM* benzamidine, 5*μM* pepstatin A, 10*μM* leupeptin, 1% Triton X-100. Lysates were clarified by centrifugation at 12.000*xg* for 10 min. and kept at 80*oC* until further processing.

#### **Evaluation of protein phosphorylation**

Protein phosphorylation was evaluated both qualitatively and quantitatively by using the Kinexus protein array service (Kinexus (n.d.)). Kinexus provides a complete service for high throughput proteomic and phosphoproteomic high sensitive analysis of cell lysed samples, allowing detection of more than 800 proteins, including about 200 phosphorylated proteins (about 350 phospho-sites) by means of in-house validated antibody microarrays (Kinexus (n.d.)). 100*μl* of frozen samples of lysed PMNs (about 1*mg*/*ml* protein concentration) have been sent to Kinexus for the analysis. Phosphoproteomic antibody microarray data have been delivered by email and subsequently elaborated to extract values of protein phosphorylation of control versus agonist-triggered samples. (phosphorylation data files are available on-line: see (Scardoni et al. (2009)) PMN-PhosphoSer.NA, PMN-PhosphoTyr.NA, PMN-PhosphoThr.NA).

#### **4.3 Combining topological analysis and experimental data**

Data about protein phosphorylation were used as bioinformatic probes and node attributes to extract, from the Global Kino-Phosphatome network, subnetworks of protein phosphorylation, to be analyzed with CentiScaPe Experimental data were loaded as node

attributes in Cytoscape and the computed centrality values were plotted over values of protein phosphorylation. Here, every node is represented with two coordinates consisting of a computed centrality and of experimental data regarding protein phosphorylation induced in PMNs by fMLP. In figures 5b and 7b are shown plots of centroid values over intensity of protein phosphorylation in threonine or tyrosine residues induced by fMLP triggering in human PMNs. Notably, in the plot are shown only those proteins whose phosphorylation level was experimentally determined. The two plots allow immediately evidencing that proteins phosphorylated in threonine (fig. 5b) or in tyrosine (fig. 7b) have different topological position in the network, with proteins phosphorylated in tyrosine showing a higher centrality values. This could suggest that tyrosine phosphorylation induced in PMNs by chemoattractants involves signaling proteins regulating clusters of proteins, as the centroid value may suggest. Besides, the top/left quadrant is empty in both figures 5b and 7b. So there are no nodes having low centroid value and high phosphorylation in threonine or tyrosine. This may suggest that centroid value and activation level are strictly related. Further hypotheses can be formulated by expanding the analysis to other centralities and by adding more phopshorylation data. From this type of plotting it is possible to further identify relevant nodes not only according to topological position but also to experimental outputs. Thus, groups of nodes whose regulatory relevance is suggested by centrality analysis are further characterized by the corresponding data of biological activity.

### **4.4 Conclusions**

20 Will-be-set-by-IN-TECH

Fig. 7. a. A "plot by centralities" representation of degree over centroid. In the top right of the plot appear the nodes having high values of both degree and centroid (including MAPK1). b. Integration of topological analysis with experimental data. Centroid values are plotted over protein phosphorylation levels in threonine, experimentally determined as

Human neutrophils were resuspended in standard buffer at 107/*ml* and stimulated under stirring at 37*oC* for 1 min. with the classical chemoattractant fMLP (100*nM*). Stimulation was blocked by directly disrupting the cells for 10 min. in ice-cold lysis buffer containing: 20*mM* MOPS, *pH*7.0, 2*mM* EGTA, 5*mM* EDTA, 30*mM* sodium fluoride, 60*mM β*-glycerophosphate, 20*mM* sodium pyrophosphate, 1*mM* sodium orthovanadate, 1*mM* phenylmethylsulfonylfluoride, 3*mM* benzamidine, 5*μM* pepstatin A, 10*μM* leupeptin, 1% Triton X-100. Lysates were clarified by centrifugation at 12.000*xg* for 10 min. and kept at

Protein phosphorylation was evaluated both qualitatively and quantitatively by using the Kinexus protein array service (Kinexus (n.d.)). Kinexus provides a complete service for high throughput proteomic and phosphoproteomic high sensitive analysis of cell lysed samples, allowing detection of more than 800 proteins, including about 200 phosphorylated proteins (about 350 phospho-sites) by means of in-house validated antibody microarrays (Kinexus (n.d.)). 100*μl* of frozen samples of lysed PMNs (about 1*mg*/*ml* protein concentration) have been sent to Kinexus for the analysis. Phosphoproteomic antibody microarray data have been delivered by email and subsequently elaborated to extract values of protein phosphorylation of control versus agonist-triggered samples. (phosphorylation data files are available on-line: see (Scardoni et al. (2009)) PMN-PhosphoSer.NA, PMN-PhosphoTyr.NA,

Data about protein phosphorylation were used as bioinformatic probes and node attributes to extract, from the Global Kino-Phosphatome network, subnetworks of protein phosphorylation, to be analyzed with CentiScaPe Experimental data were loaded as node

described in the text.

80*oC* until further processing.

PMN-PhosphoThr.NA).

**Evaluation of protein phosphorylation**

**Human primary polymorphonuclear cell stimulation**

**4.3 Combining topological analysis and experimental data**

In this section a protocol of analysis for protein network have been proposed. The key idea is that of identify most important proteins from both topological and biological point of view. Through the example of the kino-phosphatome network, we have seen how CentiScaPe can integrate the two kinds of analysis allowing an easy characterization of most relevant proteins. The topological analysis and experimental data do confirm each other's regulatory relevance and may suggest further, more focused, experimental verifications. Combination of CentiScaPe with other bioinformatics tools may help to analyze high throughput genomic and/or proteomic experimental data and may facilitate the decision process.

### **5. A further step in centralities analysis: node centralities interference**

As seen in the previous section, network centralities allow us to understand the role and the importance of each single node in a protein network. Next step we introduce in this section is to understand and measure changes to the topological structure of the network. The effects of mutation in the network structure, have been studied from a global point of view: nodes are removed from the network and the effects on some global parameters, as for example diameter, average distance or global efficiency are evaluated (Barabasi & Oltvai (2004); Jeong et al. (2001); Albert et al. (2000); Crucitti et al. (2004)). Our approach wants to answer to this question: "we remove or add one node in the network, how do other nodes modify their functionality because of this removal?" Since centrality indexes allow categorizing nodes in complex networks according to their topological relevance (see CentiScaPe plugin), in a node-oriented perspective, centralities are very useful topological parameters to compute in order to quantify the effect of individual node(s) alteration. We introduced the notion of interference and developed the Cytoscape plugin **Interference** (Scardoni & Laudanna (2011)) to evaluate the topological effects of single or multiple nodes removal from a network. In this perspective, interference allows virtual node knock-out experiments: it is possible to remove one or more nodes from a network and analyze the consequences on network structure,

Fig. 8. Network b is obtained by network a removing node5. In this case node1 remains the only node connecting the top of the network with the bottom. Its betweenness values will

Centralities Based Analysis of Complex Networks 345

Node Network A (with node5) Network B (no node5) Interference value

Betweenness (%) Betweenness (%)

node1 27% 64% -37% node4 0% 0% 0% node0 2% 0% 2% node2 2% 0% 2% node6 2% 0% 2% node3 40% 36% 4%

Table 4. Betweenness and interference values expressed as percentage of the total value for

The interference values of node5 with respect to the overall network are reported in the table. Node1 is the node mostly affected by the presence of node5 in the network. If we are considering real networks we expect that the activity of node5 strongly affects the activity

If a node (A), upon removal from the network of a specific node (B) or of a group of nodes, decreases its value for a certain centrality index, its interference value is positive. This means that this node (A), topologically speaking, takes advantage (is positively influenced) by the presence in the network of the node (B) or of that group of nodes. Thus, "removal" of node (B) or of that group of nodes from the network, negatively affects the topological role of the

the networks in figure 8. Node1 is the most sensitive to the deletion of node5.

increase.

of node 1.

**Positive interference**

node5 27%

node (A). This is called positive interference.

by looking to the variations of the node centralities values. As the centrality value of a node is strictly dependent on the network structure and on the properties of other nodes in the network, the consequences of a node deletion are well captured by the variation on the centrality values of all the other nodes. The interference approach can model common situations where real nodes are removed or added from/to a physical network:

	- **–** Simulate pharmacological treatment: one can potentially predict side effects of the drug by looking at the topological properties of nodes in a drug-treated network, meaning with that a network in which a drug-targeted node (protein) was removed. To inhibit a protein (for instance a kinases) corresponds to removing the node from the network
	- **–** Simulate gene deletion: gene deletion implies losing encoded proteins, thus resulting in the corresponding removal of one or more nodes from a protein network

### **5.1 How Interference plugin works**

The Interference plug-in allows you identifying the area of influence of single nodes or group of nodes. Specifically, Interference:


This allows identifying the differences between the two networks: the one with the node(s) of interest still present and the one where the node(s) have been removed. Some nodes will increase, whereas others will reduce, their individual centrality values. This may suggest hints on the functional, regulatory, relevance of specific node(s).

### **Example**

Consider the two networks in figure 8 and observe the role of node1 and node5. Network B is obtained by network A removing node5. Interference notion is based on measuring the effects of such remotion: in the table 4 are reported the betweenness values of the two networks (in percentage). Consider node1: in the network A, node1 has the 27% of the total value of betweenness. In the network B (where node5 has been removed) node1 has the 64% of the total value. The betweenness interference of node5 with respect to node1 is: Betwennes of node1 in the network A - Betwennes of node1 in the network = -37% It means that the topological relevance measured by the betweenness centrality of node1 increase of the 37% of the total betweenness if we remove node5 from the network. The presence of node5 negatively interferes with the central role of node1 measured by the betweennes centrality. 22 Will-be-set-by-IN-TECH

by looking to the variations of the node centralities values. As the centrality value of a node is strictly dependent on the network structure and on the properties of other nodes in the network, the consequences of a node deletion are well captured by the variation on the centrality values of all the other nodes. The interference approach can model common

• Biological networks, where one or more nodes (genes, proteins, metabolites) are possibly removed from the network because of gene deletion, pharmacological treatment or protein

**–** Simulate pharmacological treatment: one can potentially predict side effects of the drug by looking at the topological properties of nodes in a drug-treated network, meaning with that a network in which a drug-targeted node (protein) was removed. To inhibit a protein (for instance a kinases) corresponds to removing the node from the network **–** Simulate gene deletion: gene deletion implies losing encoded proteins, thus resulting

in the corresponding removal of one or more nodes from a protein network • Social and financial networks, where the structure of the network is naturally modified

The Interference plug-in allows you identifying the area of influence of single nodes or group

• Recompute the centralities in the new network (the one where the node(s) have been

This allows identifying the differences between the two networks: the one with the node(s) of interest still present and the one where the node(s) have been removed. Some nodes will increase, whereas others will reduce, their individual centrality values. This may suggest hints

Consider the two networks in figure 8 and observe the role of node1 and node5. Network B is obtained by network A removing node5. Interference notion is based on measuring the effects of such remotion: in the table 4 are reported the betweenness values of the two networks (in percentage). Consider node1: in the network A, node1 has the 27% of the total value of betweenness. In the network B (where node5 has been removed) node1 has the 64% of the total value. The betweenness interference of node5 with respect to node1 is: Betwennes of node1 in the network A - Betwennes of node1 in the network = -37% It means that the topological relevance measured by the betweenness centrality of node1 increase of the 37% of the total betweenness if we remove node5 from the network. The presence of node5 negatively interferes with the central role of node1 measured by the betweennes centrality.

• Evaluate the differences between the centralities in the two networks.

situations where real nodes are removed or added from/to a physical network:

degradation. Interference can be used to:

• Traffic jam or work in progress in a road network • Temporary closure of an airport in an airline network

• Compute the centralities value of the network

on the functional, regulatory, relevance of specific node(s).

**5.1 How Interference plugin works**

of nodes. Specifically, Interference:

• Remove the node(s) of interest

over time • Power grid failures

removed)

**Example**

Fig. 8. Network b is obtained by network a removing node5. In this case node1 remains the only node connecting the top of the network with the bottom. Its betweenness values will increase.


Table 4. Betweenness and interference values expressed as percentage of the total value for the networks in figure 8. Node1 is the most sensitive to the deletion of node5.

The interference values of node5 with respect to the overall network are reported in the table. Node1 is the node mostly affected by the presence of node5 in the network. If we are considering real networks we expect that the activity of node5 strongly affects the activity of node 1.

#### **Positive interference**

If a node (A), upon removal from the network of a specific node (B) or of a group of nodes, decreases its value for a certain centrality index, its interference value is positive. This means that this node (A), topologically speaking, takes advantage (is positively influenced) by the presence in the network of the node (B) or of that group of nodes. Thus, "removal" of node (B) or of that group of nodes from the network, negatively affects the topological role of the node (A). This is called positive interference.

Cline, M. S., Smoot, M., Cerami, E., Kuchinsky, A., Landys, N., Workman, C., Christmas,

Centralities Based Analysis of Complex Networks 347

Crucitti, P., Latora, V., Marchiori, M. & Rapisarda, A. (2004). Error and attack tolerance of

Dijkstra, E. W. (1959). A note on two problems in connexion with graphs, *Numerische*

Feltes, B., de Faria Poloni, J. & Bonatto, D. (2011). The developmental aging and

Freeman, L. C. (1977). A set of measures of centrality based on betweenness, *Sociometry*

Hu, Z., Mellor, J., Wu, J., Yamada, T., Holloway, D. & DeLisi, C. (2005). VisANT:

Jeong, H., Mason, S. P., Barabasi, A. L. & Oltvai, Z. N. (2001). Lethality and centrality in protein

Jeong, H., Tombor, B., Albert, R., Oltvai, Z. N. & Barabasi, A. L. (2000). The large-scale

Joy, M. P., Brock, A., Ingber, D. E. & Huang, S. (2005). High-betweenness proteins in the yeast

Junker, B., Koschutzki, D. & Schreiber, F. (2006). Exploration of biological network centralities

Koschützki, D., Lehmann, K. A., Peeters, L., Richter, S., Podehl, D. T. & Zlotowski, O. (2005).

Ladha, J., Donakonda, S., Agrawal, S., Thota, B., Srividya, M. R., Sridevi, S., Arivazhagan, A.,

Lepp, Z., Huang, C. & Okada, T. (2009). Finding Key Members in Compound Libraries

Milo, R., Shen-Orr, S., Itzkovitz, S., Kashtan, N., Chklovskii, D. & Alon, U. (2002). Network motifs: Simple building blocks of complex networks, *Science* 298(5594): 824–827. Newman, M. E. J. (2006). Modularity and community structure in networks, *Proceedings of the*

Scardoni, G. & Laudanna, C. (2011). Interference: a tool for virtual experimental network

Centrality indices, *in* U. Brandes & T. Erlebach (eds), *Network Analysis: Methodological*

Thennarasu, K., Balasubramaniam, A., Chandramouli, B. A., Hegde, A. S., Kondaiah, P., Somasundaram, K., Santosh, V. & Rao, S. M. R. (2010). Glioblastoma-specific protein interaction network identifies pp1a and csk21 as connecting molecules

by Analyzing Networks of Molecules Assembled by Structural Similarity, *Journal of*

organization of metabolic networks, *Nature* 407(6804): 651–654.

protein interaction network., *J Biomed Biotechnol* 2005(2): 96–103.

between cell cycle-associated genes., *Cancer Res* 70(16): 6437–47.

*Chemical Information and Modeling* 0(0): 091030094710018+.

URL: *http://www.cbmc.it/ scardonig/interference/Interference.php*

*National Academy of Sciences* 103(23): 8577–8582.

*protocols* 2(10): 2366–2382.

*Mathematik* 1: 269–271.

Gilbert, D. (n.d.). http://www.jfree.org/jfreechart/.

networks, *Nature* 411(6833): 41–42.

with centibin, *BMC Bioinformatics* 7(1): 219+.

*Res.* 33(suppl\_2): W352–357.

Kinexus (n.d.). http://www.kinexus.ca.

topological analysis.

*Foundations*, Springer, pp. 16–61.

40(1): 35–41.

394. News and Expectations in Thermostatistics.

*Biogerontology* 12: 293–308. 10.1007/s10522-011-9325-8.

R., Avila-Campilo, I., Creech, M., Gross, B., Hanspers, K., Isserlin, R., Kelley, R., Killcoyne, S., Lotia, S., Maere, S., Morris, J., Ono, K., Pavlovic, V., Pico, A. R., Vailaya, A., Wang, P.-L. L., Adler, A., Conklin, B. R., Hood, L., Kuiper, M., Sander, C., Schmulevich, I., Schwikowski, B., Warner, G. J., Ideker, T. & Bader, G. D. (2007). Integration of biological networks and gene expression data using cytoscape., *Nature*

complex networks, *Physica A: Statistical Mechanics and its Applications* 340(1-3): 388 –

origins of health and disease hypotheses explained by different protein networks,

data-integrating visual framework for biological networks and modules, *Nucl. Acids*

#### **Negative interference**

If a node (A), upon removal from the network of a specific node (B) or of a group of nodes, increases its value for a certain centrality index, its interference value is positive. This means that this node (A), topologically speaking, is disadvantaged (is negatively influenced) by the presence in the network of the node (B) or of that group the nodes. Thus, "removal" of node (B) or of that group of nodes from the network, positively affects the topological role of node (A). This is called negative interference.

#### **5.2 Conclusions**

As argued above, interference naturally induces cluster of proteins that are similar for their interference values due to the same node. A new clusterization algorithm can be derived if we group nodes depending on their interference value: given a node we compute its interference value and we put all the nodes having high interference in the same cluster. This interference-based modular decomposition of a network characterizes nodes for their answer to the inhibition (or adding) of a certain node in the network. If deletion of the node in a protein network is due to drug usage, the cluster of nodes having high interference value is the set of proteins where the drug has its greatest effects. In pharmacology this should permit to predict which proteins are more affected from the inhibition of another protein in the network. We can so prevent side effects of the inhibition of a node due to a drug usage.

### **6. References**


24 Will-be-set-by-IN-TECH

If a node (A), upon removal from the network of a specific node (B) or of a group of nodes, increases its value for a certain centrality index, its interference value is positive. This means that this node (A), topologically speaking, is disadvantaged (is negatively influenced) by the presence in the network of the node (B) or of that group the nodes. Thus, "removal" of node (B) or of that group of nodes from the network, positively affects the topological role of node

As argued above, interference naturally induces cluster of proteins that are similar for their interference values due to the same node. A new clusterization algorithm can be derived if we group nodes depending on their interference value: given a node we compute its interference value and we put all the nodes having high interference in the same cluster. This interference-based modular decomposition of a network characterizes nodes for their answer to the inhibition (or adding) of a certain node in the network. If deletion of the node in a protein network is due to drug usage, the cluster of nodes having high interference value is the set of proteins where the drug has its greatest effects. In pharmacology this should permit to predict which proteins are more affected from the inhibition of another protein in the network. We can so prevent side effects of the inhibition of a node due to a drug usage.

Albert, R., Jeong, H. & Barabasi, A.-L. (2000). Error and attack tolerance of complex networks,

Arsenio Rodriguez, D. I. (2011). Characterization in silico of flavonoids biosynthesis in

Ashburner, M., Ball, C. A., Blake, J. A., Botstein, D., Butler, H., Cherry, J. M., Davis, A. P.,

Assenov, Y., Ramirez, F., Schelhorn, S.-E., Lengauer, T. & Albrecht, M. (2008). Computing topological parameters of biological networks, *Bioinformatics* 24(2): 282–284. Bader, G. D. & Hogue, C. W. (2003). An automated method for finding molecular complexes

Barabasi, A.-L. & Albert, R. (1999). Emergence of scaling in random networks, *Science*

Barabasi, A.-L. & Oltvai, Z. N. (2004). Network biology: understanding the cell's functional

Bhalla, U. S. & Iyengar, R. (1999). Emergent properties of networks of biological signaling

Biondani, Viollet, Foretz, Laudanna, Devin-Leclerc, Scardoni & Franceschi, D. (2008).

Choura, M. & Rebaï, A. (2010). Application of computational approaches to study signalling networks of nuclear and Tyrosine kinase receptors., *Biology direct* 5: 58+.

Identification of new functional targets of *ampkα*1 in mouse red cells., *48th annual*

in large protein interaction networks., *BMC Bioinformatics* 4(1).

Dolinski, K., Dwight, S. S., Eppig, J. T., Harris, M. A., Hill, D. P., Issel-Tarver, L., Kasarskis, A., Lewis, S., Matese, J. C., Richardson, J. E., Ringwald, M., Rubin, G. M. & Sherlock, G. (2000). Gene ontology: tool for the unification of biology. the gene

**Negative interference**

**5.2 Conclusions**

**6. References**

(A). This is called negative interference.

*Nature* 406(6794): 378–382.

286(5439): 509–512.

pathways, *Science* 283.

theobroma cacao l., *Network Biology* 1: 34–45.

ontology consortium., *Nature genetics* 25(1): 25–29.

organization, *Nature Reviews Genetics* 5(2): 101–113.

*meeting of American society for cell biology*.


URL: *http://www.cbmc.it/ scardonig/interference/Interference.php*

**1. Introduction**

This chapter provides a general description of a variational graph-theoretic formulation for simulation of flexible multibody systems (FMS) which includes a brief review of linear graph principles required to formulate this algorithm. The system is represented by a linear graph, in which nodes represent reference frames on flexible bodies, and edges represent components that connect these frames. To generate the equations of motion with elastic deformations, the flexible bodies are discretized using two types of finite elements. The first is a 2 node 3-D beam element based on *Mindlin* kinematics with quadratic rotation. This element is used to discretize unidirectional bodies such as links of flexible systems. The second, consists of a triangular thin shell element based on the discrete *Kirchhoff* criterion and can be used to discretize bidirectional bodies such as high speed lightweight manipulators, deployable space

**Simulation of Flexible Multibody Systems** 

**Using Linear Graph Theory** 

*Department of Mechanical Engineering, Laval University, Québec (Québec)* 

**17**

Marc J. Richard

*Canada* 

Realistic dynamic simulation of industrial mechanisms that requires tracking accuracy at high operational speed is becoming increasingly important for engineers. Hence, to accurately describe such motions, the effects of flexibility and damping must be included in the dynamic model. Since the equations governing the motion of FMS are highly non-linear and dynamically coupled, one must exploit some kind of linear graph principles (Andrews, 1971; Behzad & Chartrand, 1971; Christofides, 1975; Even, 1979; Koenig & Blackwell, 1960) to properly define the interconnection between the bodies. By combining linear graph theory (Andrews & Kesavan, 1975; Koenig et al., 1967; Richard, 1985) with the principle of virtual work (Richard et al., 2011; Shi & McPhee, 2000; Shi et al., 2001) and finite elements, a dynamic formulation is obtained that extends graph-theoretic (GT) modelling methods to the analysis of 3-D beams and shell surfaces of FMS. The widespread interest in flexible multibody systems (FMS) is evidenced by the existence of a large number of algorithms (Wasfy & Noor, 2003). It has been shown (McPhee & Redmond, 2006; Richard et al., 2004; Shi & McPhee, 1997) that for multibody systems, a graph-theoretic formulation can generate a minimal set of equations. GT-based approaches explicitly separate the linear topological equations for the entire system from the non-linear constitutive equations for individual components, resulting

To be applicable to a wide range of spatial mechanical systems containing both open and closed kinematic chains, a flexible multibody formulation must incorporate general mathematical methods for representing both the system topology as well as the time-varying

structures and micro-nano electro-mechanical systems (MEMS).

in very modular and efficient algorithms.


URL: *http://www.biomedsearch.com/nih/PPAR-disease-gene-network-identification/21780947.html*


URL: *http://dx.doi.org/10.1016/j.jbi.2011.01.010*


## **Simulation of Flexible Multibody Systems Using Linear Graph Theory**

### Marc J. Richard

*Department of Mechanical Engineering, Laval University, Québec (Québec) Canada* 

### **1. Introduction**

26 Will-be-set-by-IN-TECH

348 New Frontiers in Graph Theory

Scardoni, G., Petterlini, M. & Laudanna, C. (2009). Analyzing biological network parameters

Schokker, D., de Koning, D.-J., Rebel, J. M. J. & Smits, M. A. (2011). Shift in chicken intestinal

Sengupta, U., Ukil, S., Dimitrova, N. & Agrawal, S. (2009a). Expression-based network biology

Sengupta, U., Ukil, S., Dimitrova, N. & Agrawal, S. (2009b). Expression-based network

Sengupta, U., Ukil, S., Dimitrova, N. & Agrawal, S. (2009c). Identification of altered regulatory

Shannon, P., Markiel, A., Ozier, O., Baliga, N. S., Wang, J. T., Ramage, D., Amin,

Shen-Orr, S., Milo, R., Mangan, S. & Alon, U. (2002). Network motifs in the transcriptional

Venkatachalam, G., Kumar, A. P., Sakharkar, K. R., Thangavel, S., Clement, M.-V. & Sakharkar,

Wagner, A. & Fell, D. A. (2001). The small world inside large metabolic networks., *Proceedings.*

Watts, D. J. (1999). *Small worlds: the dynamics of networks between order and randomness*, Princeton

Watts, D. J. & Strogatz, S. H. (1998). Collective dynamics of 'small-world' networks, *Nature*

Webster, Y. W., Dow, E. R., Koehler, J., Gudivada, R. C. & Palakal, M. J. (2011). Leveraging

Wuchty, S. & Stadler, P. F. (2003). Centers of complex networks., *J Theor Biol* 223(1): 45–53. Yamada, T. & Bork, P. (2009). Evolution of biomolecular networks: lessons from metabolic and protein interactions., *Nature reviews. Molecular cell biology* 10(11): 791–803.

Health Social Networking Communities in Translational Research., *Journal of*

gene association networks after infection with salmonella., *Comp Biochem Physiol Part*

identifies alteration in key regulatory pathways of type 2 diabetes and associated

biology identifies alteration in key regulatory pathways of type 2 diabetes and

pathways in diabetes type ii and complications through expression networks, *Genomic Signal Processing and Statistics, 2009. GENSIPS 2009. IEEE International*

N., Schwikowski, B. & Ideker, T. (2003). Cytoscape: a software environment for integrated models of biomolecular interaction networks., *Genome research*

M. K. (2011). Ppar*γ*; disease gene network and identification of therapeutic targets

URL: *http://www.biomedsearch.com/nih/PPAR-disease-gene-network-identification/21780947.html*

with CentiScaPe, *Bioinformatics* 25(21): 2857–2859.

risk/complications., *PloS one* 4(12): e8100+.

associated risk/complications., *PloS one* 4(12): e8100+.

regulation network of escherichia coli, *Nature Genetics* 31. Strogatz, S. H. (2001). Exploring complex networks, *Nature* 410(6825): 268–276.

*Biological sciences / The Royal Society* 268(1478): 1803–1810.

*D Genomics Proteomics* .

*Workshop on*, pp. 1 –4.

13(11): 2498–2504.

393(6684): 440–442.

*biomedical informatics* .

for prostate cancer., *J Drug Target* .

University Press, Princeton, NJ, USA.

URL: *http://dx.doi.org/10.1016/j.jbi.2011.01.010*

This chapter provides a general description of a variational graph-theoretic formulation for simulation of flexible multibody systems (FMS) which includes a brief review of linear graph principles required to formulate this algorithm. The system is represented by a linear graph, in which nodes represent reference frames on flexible bodies, and edges represent components that connect these frames. To generate the equations of motion with elastic deformations, the flexible bodies are discretized using two types of finite elements. The first is a 2 node 3-D beam element based on *Mindlin* kinematics with quadratic rotation. This element is used to discretize unidirectional bodies such as links of flexible systems. The second, consists of a triangular thin shell element based on the discrete *Kirchhoff* criterion and can be used to discretize bidirectional bodies such as high speed lightweight manipulators, deployable space structures and micro-nano electro-mechanical systems (MEMS).

Realistic dynamic simulation of industrial mechanisms that requires tracking accuracy at high operational speed is becoming increasingly important for engineers. Hence, to accurately describe such motions, the effects of flexibility and damping must be included in the dynamic model. Since the equations governing the motion of FMS are highly non-linear and dynamically coupled, one must exploit some kind of linear graph principles (Andrews, 1971; Behzad & Chartrand, 1971; Christofides, 1975; Even, 1979; Koenig & Blackwell, 1960) to properly define the interconnection between the bodies. By combining linear graph theory (Andrews & Kesavan, 1975; Koenig et al., 1967; Richard, 1985) with the principle of virtual work (Richard et al., 2011; Shi & McPhee, 2000; Shi et al., 2001) and finite elements, a dynamic formulation is obtained that extends graph-theoretic (GT) modelling methods to the analysis of 3-D beams and shell surfaces of FMS. The widespread interest in flexible multibody systems (FMS) is evidenced by the existence of a large number of algorithms (Wasfy & Noor, 2003). It has been shown (McPhee & Redmond, 2006; Richard et al., 2004; Shi & McPhee, 1997) that for multibody systems, a graph-theoretic formulation can generate a minimal set of equations. GT-based approaches explicitly separate the linear topological equations for the entire system from the non-linear constitutive equations for individual components, resulting in very modular and efficient algorithms.

To be applicable to a wide range of spatial mechanical systems containing both open and closed kinematic chains, a flexible multibody formulation must incorporate general mathematical methods for representing both the system topology as well as the time-varying

Using Linear Graph Theory 3

Simulation of Flexible Multibody Systems Using Linear Graph Theory 351

Fig. 1. a) Simple planar mechanical system and b) graph representation of the system

two points of interconnection in the system.

be (*�* − *ν* + 1) chords in the cotree.

represent the springs and *e*<sup>8</sup> the dashpot. All vectors such as *e*1, *e*<sup>4</sup> and *e*5, the properties of which are established from an inertial frame, must emanate from the single ground node (*datum*) since that node is the only absolute fixed reference in the diagram, as compared to *e*<sup>2</sup> and *e*<sup>3</sup> which are defined relative to the body. Visibly, edges *e*6, *e*<sup>7</sup> and *e*<sup>8</sup> span their respective

It is possible to determine the number of branches and chords in a given graph *Graph*(*ν*, *�*) by applying basic theorems of graph theory (Andrews, 1977). Intuitively, a connected graph with *ν* vertices will have (*ν* −1) branches in its tree since a tree is a minimally connected graph. Consequently, by subtracting the number of branches from the total set of edges *�*, there will

Given a graph with *ν* vertices and *�* edges, the order of interconnection of a system can be summarized in a *ν* by *�* incidence matrix. It is easy to construct since each edge is adjacent to exactly two vertices. The incidence matrix of *Graph*(*ν*, *�*) is denoted by [*κ*] and is defined

configuration. The representation of topology is naturally handled using elements of graph theory. It has also been shown (McPhee, 1998) that a proper "tree" with a set of coordinates called "branch coordinates" encompasses both sets of Cartesian and joint coordinates as special cases. Also, the use of virtual work has been proposed and validated as a new graph-theoretic variable. In order to create a system graph that results in correct kinematic and flexible dynamic equations for any choice of spanning tree, it is necessary to introduce a dependent virtual work element. Hence, by combining linear graph theory and the principle of virtual work, it is possible to develop a variational graph-theoretic formulation in terms of branch coordinates capable of automatically generating the motion equations for FMS.

### **2. System representation by linear graph**

Many researchers have studied the theory of graphs (Arczewski, 1990; Baciu et al., 1990; Chou et al., 1986; Roberson, 1984) and bond-graphs (Bos, 1986; Hu, 1988) mainly due to the fact that among all the fields of human interest, there are few where graph theory cannot be applied to the process of analyzing or synthesizing problems. In order to extract the kinetic properties resting within mechanical systems, it is convenient to discretize the system into a schematic diagram composed of nodes or vertices representing points of interconnection in the system and oriented edges identifying system elements. Combination of all the vertices delimiting the network of elements with the total set of spanning edges between appropriate nodes will result in a diagram which is a simple isomorphism of the mechanical system.

One of the most appealing features of graph-theoretic methods lies in the geometric and pictorial aspect of the method. Given a spatial mechanical system, one can construct the system's diagram by a simple mapping of the mechanism. For instance, the vertices would correspond to rigid or flexible bodies, points on bodies to which forces are applied or joints are connected, and a ground node that represents the origin of an inertial reference frame. Each element is represented by a line segment and each joint or connection by an appropriate point such that a user can associate the network diagram to the mechanical system in a direct fashion. The technique is very methodical and well suited for computer implementation.

Much of the simplicity and efficiency of graphical methods lie in the use of a "tree" to assist in arranging the order of computation. By definition, a tree is a subgraph where every vertex of the graph is connected by exactly one chord. This connotes that the subgraph is connected and contains all the nodes of a given system graph, but has no closed loops. A tree is considered a minimal connected graph in which the deletion of a single branch would separate the subgraph. The set of vectors that complement the tree are called "cotree". It has been shown (McPhee, 1998) that the components necessary to generate an optimum tree for branch coordinates should be selected in the following order: *N*<sup>1</sup> rigid or flexible arms; *N*<sup>2</sup> position drivers (function of time); *N*<sup>3</sup> spherical or revolute joints; *N*<sup>4</sup> cylindrical or prismatic joints; *N*<sup>5</sup> rigid or deformable bodies, *N*<sup>6</sup> force actuators and *N*<sup>7</sup> virtual work elements.

The linear graph representation of a mechanical system is most easily described by means of an example. Consider the simple planar dynamic system, shown in figure 1(a), which consists of a body with center of gravity located at C.G. acted upon by two springs and a dashpot. Assuming negligible weight, the vector-network diagram, including the body traced in dashed lines to make the network easier to identify, is depicted in figure 1(b) and portrays a linear graph with six vertices and eight edges.

The edge *e*<sup>1</sup> is the inertial displacement vector representing the center of gravity, *e*<sup>2</sup> and *e*<sup>3</sup> define rigid or flexible arm elements, *e*<sup>4</sup> and *e*<sup>5</sup> specify displacement drivers while *e*<sup>6</sup> and *e*<sup>7</sup> 2 Will-be-set-by-IN-TECH

configuration. The representation of topology is naturally handled using elements of graph theory. It has also been shown (McPhee, 1998) that a proper "tree" with a set of coordinates called "branch coordinates" encompasses both sets of Cartesian and joint coordinates as special cases. Also, the use of virtual work has been proposed and validated as a new graph-theoretic variable. In order to create a system graph that results in correct kinematic and flexible dynamic equations for any choice of spanning tree, it is necessary to introduce a dependent virtual work element. Hence, by combining linear graph theory and the principle of virtual work, it is possible to develop a variational graph-theoretic formulation in terms of branch coordinates capable of automatically generating the motion equations for FMS.

Many researchers have studied the theory of graphs (Arczewski, 1990; Baciu et al., 1990; Chou et al., 1986; Roberson, 1984) and bond-graphs (Bos, 1986; Hu, 1988) mainly due to the fact that among all the fields of human interest, there are few where graph theory cannot be applied to the process of analyzing or synthesizing problems. In order to extract the kinetic properties resting within mechanical systems, it is convenient to discretize the system into a schematic diagram composed of nodes or vertices representing points of interconnection in the system and oriented edges identifying system elements. Combination of all the vertices delimiting the network of elements with the total set of spanning edges between appropriate nodes will

One of the most appealing features of graph-theoretic methods lies in the geometric and pictorial aspect of the method. Given a spatial mechanical system, one can construct the system's diagram by a simple mapping of the mechanism. For instance, the vertices would correspond to rigid or flexible bodies, points on bodies to which forces are applied or joints are connected, and a ground node that represents the origin of an inertial reference frame. Each element is represented by a line segment and each joint or connection by an appropriate point such that a user can associate the network diagram to the mechanical system in a direct fashion. The technique is very methodical and well suited for computer implementation.

Much of the simplicity and efficiency of graphical methods lie in the use of a "tree" to assist in arranging the order of computation. By definition, a tree is a subgraph where every vertex of the graph is connected by exactly one chord. This connotes that the subgraph is connected and contains all the nodes of a given system graph, but has no closed loops. A tree is considered a minimal connected graph in which the deletion of a single branch would separate the subgraph. The set of vectors that complement the tree are called "cotree". It has been shown (McPhee, 1998) that the components necessary to generate an optimum tree for branch coordinates should be selected in the following order: *N*<sup>1</sup> rigid or flexible arms; *N*<sup>2</sup> position drivers (function of time); *N*<sup>3</sup> spherical or revolute joints; *N*<sup>4</sup> cylindrical or prismatic joints; *N*<sup>5</sup> rigid or deformable bodies, *N*<sup>6</sup> force actuators and *N*<sup>7</sup> virtual work elements.

The linear graph representation of a mechanical system is most easily described by means of an example. Consider the simple planar dynamic system, shown in figure 1(a), which consists of a body with center of gravity located at C.G. acted upon by two springs and a dashpot. Assuming negligible weight, the vector-network diagram, including the body traced in dashed lines to make the network easier to identify, is depicted in figure 1(b) and portrays

The edge *e*<sup>1</sup> is the inertial displacement vector representing the center of gravity, *e*<sup>2</sup> and *e*<sup>3</sup> define rigid or flexible arm elements, *e*<sup>4</sup> and *e*<sup>5</sup> specify displacement drivers while *e*<sup>6</sup> and *e*<sup>7</sup>

result in a diagram which is a simple isomorphism of the mechanical system.

**2. System representation by linear graph**

a linear graph with six vertices and eight edges.

Fig. 1. a) Simple planar mechanical system and b) graph representation of the system

represent the springs and *e*<sup>8</sup> the dashpot. All vectors such as *e*1, *e*<sup>4</sup> and *e*5, the properties of which are established from an inertial frame, must emanate from the single ground node (*datum*) since that node is the only absolute fixed reference in the diagram, as compared to *e*<sup>2</sup> and *e*<sup>3</sup> which are defined relative to the body. Visibly, edges *e*6, *e*<sup>7</sup> and *e*<sup>8</sup> span their respective two points of interconnection in the system.

It is possible to determine the number of branches and chords in a given graph *Graph*(*ν*, *�*) by applying basic theorems of graph theory (Andrews, 1977). Intuitively, a connected graph with *ν* vertices will have (*ν* −1) branches in its tree since a tree is a minimally connected graph. Consequently, by subtracting the number of branches from the total set of edges *�*, there will be (*�* − *ν* + 1) chords in the cotree.

Given a graph with *ν* vertices and *�* edges, the order of interconnection of a system can be summarized in a *ν* by *�* incidence matrix. It is easy to construct since each edge is adjacent to exactly two vertices. The incidence matrix of *Graph*(*ν*, *�*) is denoted by [*κ*] and is defined

Using Linear Graph Theory 5

Simulation of Flexible Multibody Systems Using Linear Graph Theory 353

Combining this result with the fact that for each chord there is a corresponding f-circuit, the total number of independent circuits in a *Graph*(*ν*, *�*) is (*�* − *ν* + 1). The total set of f-circuits can be generated in a (*�* − *ν* + 1) by *�* circuit matrix [*E*] specifying each inertial terminal graph compatible with each circuit. The circuit matrix can be obtained by applying another basic theorem (Andrews, 1971) of graph theory which proves that the cutset and circuit matrices are **orthogonal**. This orthogonal relationship states that the scalar product of the cutset matrix and circuit matrix must vanish. Hence, in matrix notation, the submatrices [*D*] and [*E*] are related by the negative transpose principle of orthogonality (Andrews & Kesavan, 1975; Richard,

*<sup>T</sup> or* [*D*] = <sup>−</sup>[*E*]

−1 0 −110 | 100 −1 −1001 | 010 −1 0 −101 | 001

tree cotree

⎤

[*Ut D*]{**TV**} = **0** (5)

This liaison regulates the entire structure of this GT formulation. This principle can be demonstrated by using the sample graph of figure 1(b). Relation (3) can now be exploited

where [*Uc*] is a (*�* − *ν* + 1) by (*�* − *ν* + 1) unit sub-matrix associated with cotree chords and [*E*] is a (*�* − *ν* + 1) by (*ν* − 1) sub-matrix associated with tree branches. In mechanical systems, the limitations to the freedom of movement of a body are specified by certain compatibility criteria which can be extricated from the circuit matrix. This matrix will prove to be a necessary mathematical tool in the resolution of dynamic systems since it provides some

At this point, one must introduce a physical meaning to these matrices. Unlike the traditional approach to dynamics in which Newton's second law is the basic postulate, in the graphical method there are two equally-important fundamental postulates: the vertex and circuit postulates. The vertex postulate states that the algebraic sum of through-variables {**TV**}, symbolizing quantities such as force **F**, torque **T** and virtual work *δW*, corresponding to all the vectors incident with any vertex of the graph is, identically, zero. Essentially, this is recognizable as the dynamic force-balance law or d'Alembert's principle which requires that force summation upon each body, including d'Alembert's inertial variable, must be equal to zero. However, in this form it is more general, since it applies to any physical system; for example, in electrical systems, it is equivalent to Kirchhoff's current law. A **cutset** isolates a part of the system and is equivalent to the construction of a free-body-diagram. It has been shown earlier that these cutset equations are obtainable by simple row operations on

where [*Dij*] is a sub-matrix containing +1, -1 and 0 depending whether element *Nj* is incident to *Ni* and sub-matrix *Ut* is a unit matrix associated tree elements. The column matrix {**TV**} represents the through-variables (**F***i*, **T***<sup>i</sup>* or *δWi*) applied by element *Ni*. For the example depicted in figure 1(a), by combining equations (2) and (5), the vertex equation for node 1

*<sup>T</sup>*. (3)

⎦ (4)

[*E*] = −[*D*]

[*E Uc*] =

the incidence matrix, and can be written in the form:

to automatically transform the cutset matrix into the three chords circuit matrix,

internal information relevant to the geometry of contact between terminal graphs.

⎡ ⎣

1985) (not well-known in dynamics):

as follows: (1) each of the *ν* rows corresponds to a vertex of *Graph*(*ν*, *�*), (2) each of the *�* columns corresponds to an edge of *Graph*(*ν*, *�*), and (3) entries *κij* = −1 if the *i th* node is the initial vertex of the *j th* edge, *κij* = +1 if the *i th* node is the final vertex of the *j th* edge, and *κij* = 0 otherwise. All columns contain exactly two non-zero entries and (*ν* − 2) zero entries. The incidence matrix can always be compiled from inspection of the graph. As an illustration, the graph of figure 1(b) has the following incidence matrix:

$$
\begin{bmatrix} \kappa \end{bmatrix} = \begin{bmatrix} 1 & -1 & -1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 1 & 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 1 & 0 & -1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & -1 & -1 \\ -1 & 0 & 0 & -1 & -1 & 0 & 0 & 0 \end{bmatrix} \tag{1}
$$

From the incidence matrix, one can generate a cutset matrix. A cutset is a disconnecting set of edges such that after removal of that set of edges, the graph is divided into two or more components. A fundamental cutset (f-cutset) is considered a minimal cutset. A f-cutset reduces a connected graph into exactly two components. The selection of a tree branch will always identify one f-cutset associated to the branch and if a single cotree chord of the f-cutset is re-introduced into the graph, it unites the two residual subgraphs into a connected graph. As opposed to trees which represent a minimal set of edges which connect all the vertices of *Graph*(*ν*, *�*), a f-cutset is a minimal set of edges which disconnect some vertices from others.

Since a f-cutset exists for each tree branch, there will be (*ν* − 1) f-cutsets in a graph with *ν* vertices. Therefore, all f-cutsets can be assembled in a (*ν* − 1) by *�* cutset matrix [*D*] identifying all cotree terminal graphs acting through each vertex. For example, the cutset matrix of the diagram sketched in figure 1(b) can be obtained by simple row operations (Andrews, 1971) performed on the (*ν* − 1) rows of the incidence matrix. In this case, rows (2) and (3) are added to row (1) leading to the five branches cutset matrix,

$$
\begin{bmatrix} \mathcal{U}\_l \ D \end{bmatrix} = \begin{bmatrix} 1 \ 0 \ 0 \ 0 \ 0 \ 0 \end{bmatrix} \begin{bmatrix} 1 & 1 & 1 & 1 \\ 0 \ 1 \ 0 \ 0 \ 0 & \vert \ 0 & 1 & 0 \\ 0 \ 0 \ 1 \ 0 \ 0 & \vert \ 1 \ 0 & \vert \ 1 \\ 0 \ 0 \ 0 \ 1 \ 0 & \vert -1 \ 0 \ 0 \ 0 \\ 0 \ 0 \ 0 \ 0 \ 1 & \vert \ 0 \ -1 \ -1 \end{bmatrix} \tag{2}
$$
 
$$\text{tree} \qquad \text{cotre}$$

where [*Ut*] is a (*ν* − 1) by (*ν* − 1) unit sub-matrix associated with tree branches and [*D*] is a (*ν* − 1) by (*�* − *ν* + 1) sub-matrix associated with cotree chords. Since a f-cutset isolates a part of the system, its application to dynamic systems will become obvious when solving the relationship among forces which requires the construction of a "free-body diagram".

From the cutset matrix, one can generate a circuit matrix. A circuit is a connected subgraph in which exactly two edges are incident with each vertex. This concept will be molded into graph-networks through the use of a fundamental-circuit (f-circuit) which is defined as a subgraph which contains a single cotree chord, forming a closed chain, with tree branches. Following this definition, each chord of the cotree will form a f-circuit, thereby producing an independent set of closed chains since at least one edge will not be found in any other circuit. Earlier, the exact number of cotree chords in a *Graph*(*ν*, *�*) was found to be (*�* − *ν* + 1). 4 Will-be-set-by-IN-TECH

as follows: (1) each of the *ν* rows corresponds to a vertex of *Graph*(*ν*, *�*), (2) each of the *�*

*κij* = 0 otherwise. All columns contain exactly two non-zero entries and (*ν* − 2) zero entries. The incidence matrix can always be compiled from inspection of the graph. As an illustration,

From the incidence matrix, one can generate a cutset matrix. A cutset is a disconnecting set of edges such that after removal of that set of edges, the graph is divided into two or more components. A fundamental cutset (f-cutset) is considered a minimal cutset. A f-cutset reduces a connected graph into exactly two components. The selection of a tree branch will always identify one f-cutset associated to the branch and if a single cotree chord of the f-cutset is re-introduced into the graph, it unites the two residual subgraphs into a connected graph. As opposed to trees which represent a minimal set of edges which connect all the vertices of *Graph*(*ν*, *�*), a f-cutset is a minimal set of edges which disconnect some vertices from others. Since a f-cutset exists for each tree branch, there will be (*ν* − 1) f-cutsets in a graph with *ν* vertices. Therefore, all f-cutsets can be assembled in a (*ν* − 1) by *�* cutset matrix [*D*] identifying all cotree terminal graphs acting through each vertex. For example, the cutset matrix of the diagram sketched in figure 1(b) can be obtained by simple row operations (Andrews, 1971) performed on the (*ν* − 1) rows of the incidence matrix. In this case, rows (2) and (3) are added

1 −1 −100000 01000010 00100101 00010 −100 000010 −1 −1 −100 −1 −1000

*th* node is the final vertex of the *j*

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ *th* node is the

*th* edge, and

(1)

(2)

columns corresponds to an edge of *Graph*(*ν*, *�*), and (3) entries *κij* = −1 if the *i*

*th* edge, *κij* = +1 if the *i*

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

the graph of figure 1(b) has the following incidence matrix:

[*κ*] =

to row (1) leading to the five branches cutset matrix,

[*Ut D*] =

⎡ ⎢ ⎢ ⎢ ⎣ 10000 | 111 01000 | 010 00100 | 101 00010 | −100 00001 | 0 −1 −1

tree cotree

where [*Ut*] is a (*ν* − 1) by (*ν* − 1) unit sub-matrix associated with tree branches and [*D*] is a (*ν* − 1) by (*�* − *ν* + 1) sub-matrix associated with cotree chords. Since a f-cutset isolates a part of the system, its application to dynamic systems will become obvious when solving the

From the cutset matrix, one can generate a circuit matrix. A circuit is a connected subgraph in which exactly two edges are incident with each vertex. This concept will be molded into graph-networks through the use of a fundamental-circuit (f-circuit) which is defined as a subgraph which contains a single cotree chord, forming a closed chain, with tree branches. Following this definition, each chord of the cotree will form a f-circuit, thereby producing an independent set of closed chains since at least one edge will not be found in any other circuit. Earlier, the exact number of cotree chords in a *Graph*(*ν*, *�*) was found to be (*�* − *ν* + 1).

relationship among forces which requires the construction of a "free-body diagram".

⎤ ⎥ ⎥ ⎥ ⎦

initial vertex of the *j*

Combining this result with the fact that for each chord there is a corresponding f-circuit, the total number of independent circuits in a *Graph*(*ν*, *�*) is (*�* − *ν* + 1). The total set of f-circuits can be generated in a (*�* − *ν* + 1) by *�* circuit matrix [*E*] specifying each inertial terminal graph compatible with each circuit. The circuit matrix can be obtained by applying another basic theorem (Andrews, 1971) of graph theory which proves that the cutset and circuit matrices are **orthogonal**. This orthogonal relationship states that the scalar product of the cutset matrix and circuit matrix must vanish. Hence, in matrix notation, the submatrices [*D*] and [*E*] are related by the negative transpose principle of orthogonality (Andrews & Kesavan, 1975; Richard, 1985) (not well-known in dynamics):

$$\mathbb{E}\left[E\right] = -\left[D\right]^T \text{ or } \left[D\right] = -\left[E\right]^T. \tag{3}$$

This liaison regulates the entire structure of this GT formulation. This principle can be demonstrated by using the sample graph of figure 1(b). Relation (3) can now be exploited to automatically transform the cutset matrix into the three chords circuit matrix,

$$\begin{aligned} \begin{bmatrix} E \ \mathcal{U}\_{\mathbb{C}} \end{bmatrix} = \begin{bmatrix} -1 & 0 & -1 & 1 & 0 & 1 \ 0 & 0 \\ -1 & -1 & 0 & 0 & 1 & 0 \ 1 & 0 \\ -1 & 0 & -1 & 0 & 1 & 0 \ 0 & 1 \end{bmatrix} \end{aligned} \tag{4}$$

$$\text{tree} \qquad \begin{array}{c} \text{(4)} \\ \text{tree} \end{array} \text{contre}$$

where [*Uc*] is a (*�* − *ν* + 1) by (*�* − *ν* + 1) unit sub-matrix associated with cotree chords and [*E*] is a (*�* − *ν* + 1) by (*ν* − 1) sub-matrix associated with tree branches. In mechanical systems, the limitations to the freedom of movement of a body are specified by certain compatibility criteria which can be extricated from the circuit matrix. This matrix will prove to be a necessary mathematical tool in the resolution of dynamic systems since it provides some internal information relevant to the geometry of contact between terminal graphs.

At this point, one must introduce a physical meaning to these matrices. Unlike the traditional approach to dynamics in which Newton's second law is the basic postulate, in the graphical method there are two equally-important fundamental postulates: the vertex and circuit postulates. The vertex postulate states that the algebraic sum of through-variables {**TV**}, symbolizing quantities such as force **F**, torque **T** and virtual work *δW*, corresponding to all the vectors incident with any vertex of the graph is, identically, zero. Essentially, this is recognizable as the dynamic force-balance law or d'Alembert's principle which requires that force summation upon each body, including d'Alembert's inertial variable, must be equal to zero. However, in this form it is more general, since it applies to any physical system; for example, in electrical systems, it is equivalent to Kirchhoff's current law. A **cutset** isolates a part of the system and is equivalent to the construction of a free-body-diagram. It has been shown earlier that these cutset equations are obtainable by simple row operations on the incidence matrix, and can be written in the form:

$$
\begin{bmatrix} \mathbf{U}\_l & \mathbf{D} \end{bmatrix} \begin{Bmatrix} \mathbf{T} \mathbf{V} \end{Bmatrix} = \mathbf{0} \tag{5}
$$

where [*Dij*] is a sub-matrix containing +1, -1 and 0 depending whether element *Nj* is incident to *Ni* and sub-matrix *Ut* is a unit matrix associated tree elements. The column matrix {**TV**} represents the through-variables (**F***i*, **T***<sup>i</sup>* or *δWi*) applied by element *Ni*. For the example depicted in figure 1(a), by combining equations (2) and (5), the vertex equation for node 1

Using Linear Graph Theory 7

Simulation of Flexible Multibody Systems Using Linear Graph Theory 355

Fig. 2. a) Planar four-bar mechanism and b) graph representation of the system

means of Lagrange multipliers.

work elements should automatically be included in the diagram model. Note that *δW*33=0, since a frictionless joint cannot add or remove energy from a system. Furthermore, the sum of the virtual works done by joint *B* must also be zero, hence, *δW*<sup>74</sup> + *δW*<sup>75</sup> = 0. This fact can be exploited in this GT formulation to eliminate all joint reactions from the constitutive equations. Later, it will be shown that joint reactions can be retained in the GT algorithm by

The second set of topological equations, the circuit equations, can be generated automatically

Clearly, this linear equation represents the vector loop closure condition for the circuit containing *e*<sup>33</sup> where **r**<sup>31</sup> = **r**<sup>32</sup> = **r**<sup>33</sup> = **r**<sup>34</sup> = 0. Thus, the circuit equation (7) represent a

**r**<sup>33</sup> − **r**<sup>14</sup> − **r**<sup>34</sup> − **r**<sup>21</sup> + **r**<sup>31</sup> − **r**<sup>11</sup> + **r**<sup>12</sup> + **r**<sup>32</sup> − **r**<sup>13</sup> = 0 (10)

from the cutset equations. As an example, the circuit equation for cotree edge *e*<sup>33</sup> is

set of linearly independent equations, one for each chord in the cotree.

representing the center of mass of the body is

$$
\mathbf{F}\_1 + \mathbf{F}\_6 + \mathbf{F}\_7 + \mathbf{F}\_8 = 0.\tag{6}
$$

In this case, conventional through variables, such as force vectors, are introduced in equation (6) (where **F**<sup>1</sup> = −*m* **r**¨ represents the inertial force).

The other governing postulate is the **circuit** postulate which states that the algebraic sum of across-variables {**AV**}, representing those quantities such as displacements **r**, velocities **v**, accelerations **˙v**, virtual angular displacement *δθ*, angular velocities *ω* and angular accelerations *ω***˙** , corresponding to all the vectors included in any circuit is, identically, zero. Basically, this postulate represents the geometrical relations guiding the motion of mechanical systems. To be precise, each circuit equation alludes to a closed vector polygon respecting the geometric fit or compatibility law of rigid body dynamics. From graph theory, it can be shown that these kinematic constraint equations can be obtained from the cutset equations and are usually written in the form:

$$[E \parallel \mathcal{U}\_c] \{ \mathbf{AV} \} = \mathbf{0} \tag{7}$$

where sub-matrix [*Eji*] specifies which element *Ni* is included in the closed loop *Nj* and sub-matrix *Uc* is a unit matrix associated with cotree elements. The column matrix {**AV**} represents the across-variables (**r***i*, **v***i*, **˙v***i*, *δθi*, *ω<sup>i</sup>* and *ω***˙** *<sup>i</sup>*) for element *Ni*. Since there is one independent circuit equation for each chord in the graph, the circuit equation for edge *e*<sup>8</sup> is

$$-\mathbf{r}\_1 - \mathbf{r}\_3 + \mathbf{r}\_5 + \mathbf{r}\_8 = 0 \tag{8}$$

where **r** represents the translational displacement of the corresponding element.

Consider the planar four-bar mechanism shown in figure 2(a). The system consists of three moving bodies (plus one fixed link) and four revolute joints. The link OA that is connected to the power source is called the input link (or crank). A driving torque causes the crank to rotate with angular velocity *ω*.The output link connects the moving pivot B to the ground pivot C. The coupler link connects the two moving pivots, A and B. The linear graph representation of the planar flexible four-bar linkage is depicted in figure 2(b) where the edges shown in bold comprise the spanning tree.

In this GT model, nodes (or vertices) are used to represent reference frames in the system while edges (lines) represent physical elements that connects these frames. Edges *e*51, *e*<sup>52</sup> and *e*<sup>53</sup> represent the bodies in the system and *e*11, *e*12, both rigid arm elements, representing the body-fixed locations of the revolute joints at O and A, respectively. Edges *e*<sup>13</sup> and *e*<sup>14</sup> model the flexible links. The four revolute joints are modelled with joint edges *e*3*<sup>i</sup>* (*i* = 1, ..., 4). Edge *e*<sup>21</sup> represents a position driver and *e*<sup>61</sup> is the driving torque. Finally, seven edges *e*7*<sup>i</sup>* (*i* = 1, ..., 7) corresponding to dependent virtual work elements are automatically added to the system graph to complete the virtual topological equations.

Since we can also use virtual work *δW* as a through variable, the cutset equation for the tree joint element *e*34, for example, is

$$
\delta\delta W\_{33} + \delta W\_{75} + \delta W\_{76} + \delta W\_{53} + \delta W\_{34} = 0 \tag{9}
$$

where each term corresponds directly to a physical component. Since edge *e*<sup>33</sup> represents only relative displacements, it is necessary to introduce the dependent virtual work elements *e*<sup>74</sup> and *e*<sup>75</sup> to correctly capture the virtual works done by joint *B* on the coupler and output links. In general, whenever two bodies are connected by a component, two dependent virtual 6 Will-be-set-by-IN-TECH

In this case, conventional through variables, such as force vectors, are introduced in equation

The other governing postulate is the **circuit** postulate which states that the algebraic sum of across-variables {**AV**}, representing those quantities such as displacements **r**, velocities **v**, accelerations **˙v**, virtual angular displacement *δθ*, angular velocities *ω* and angular accelerations *ω***˙** , corresponding to all the vectors included in any circuit is, identically, zero. Basically, this postulate represents the geometrical relations guiding the motion of mechanical systems. To be precise, each circuit equation alludes to a closed vector polygon respecting the geometric fit or compatibility law of rigid body dynamics. From graph theory, it can be shown that these kinematic constraint equations can be obtained from the cutset equations and are

where sub-matrix [*Eji*] specifies which element *Ni* is included in the closed loop *Nj* and sub-matrix *Uc* is a unit matrix associated with cotree elements. The column matrix {**AV**} represents the across-variables (**r***i*, **v***i*, **˙v***i*, *δθi*, *ω<sup>i</sup>* and *ω***˙** *<sup>i</sup>*) for element *Ni*. Since there is one independent circuit equation for each chord in the graph, the circuit equation for edge *e*<sup>8</sup> is

Consider the planar four-bar mechanism shown in figure 2(a). The system consists of three moving bodies (plus one fixed link) and four revolute joints. The link OA that is connected to the power source is called the input link (or crank). A driving torque causes the crank to rotate with angular velocity *ω*.The output link connects the moving pivot B to the ground pivot C. The coupler link connects the two moving pivots, A and B. The linear graph representation of the planar flexible four-bar linkage is depicted in figure 2(b) where the edges shown in bold

In this GT model, nodes (or vertices) are used to represent reference frames in the system while edges (lines) represent physical elements that connects these frames. Edges *e*51, *e*<sup>52</sup> and *e*<sup>53</sup> represent the bodies in the system and *e*11, *e*12, both rigid arm elements, representing the body-fixed locations of the revolute joints at O and A, respectively. Edges *e*<sup>13</sup> and *e*<sup>14</sup> model the flexible links. The four revolute joints are modelled with joint edges *e*3*<sup>i</sup>* (*i* = 1, ..., 4). Edge *e*<sup>21</sup> represents a position driver and *e*<sup>61</sup> is the driving torque. Finally, seven edges *e*7*<sup>i</sup>* (*i* = 1, ..., 7) corresponding to dependent virtual work elements are automatically added to

Since we can also use virtual work *δW* as a through variable, the cutset equation for the tree

where each term corresponds directly to a physical component. Since edge *e*<sup>33</sup> represents only relative displacements, it is necessary to introduce the dependent virtual work elements *e*<sup>74</sup> and *e*<sup>75</sup> to correctly capture the virtual works done by joint *B* on the coupler and output links. In general, whenever two bodies are connected by a component, two dependent virtual

*δW*<sup>33</sup> + *δW*<sup>75</sup> + *δW*<sup>76</sup> + *δW*<sup>53</sup> + *δW*<sup>34</sup> = 0 (9)

where **r** represents the translational displacement of the corresponding element.

the system graph to complete the virtual topological equations.

**F**<sup>1</sup> + **F**<sup>6</sup> + **F**<sup>7</sup> + **F**<sup>8</sup> = 0. (6)

[*E Uc*]{**AV**} = **0** (7)

− **r**<sup>1</sup> − **r**<sup>3</sup> + **r**<sup>5</sup> + **r**<sup>8</sup> = 0 (8)

representing the center of mass of the body is

(6) (where **F**<sup>1</sup> = −*m* **r**¨ represents the inertial force).

usually written in the form:

comprise the spanning tree.

joint element *e*34, for example, is

Fig. 2. a) Planar four-bar mechanism and b) graph representation of the system

work elements should automatically be included in the diagram model. Note that *δW*33=0, since a frictionless joint cannot add or remove energy from a system. Furthermore, the sum of the virtual works done by joint *B* must also be zero, hence, *δW*<sup>74</sup> + *δW*<sup>75</sup> = 0. This fact can be exploited in this GT formulation to eliminate all joint reactions from the constitutive equations. Later, it will be shown that joint reactions can be retained in the GT algorithm by means of Lagrange multipliers.

The second set of topological equations, the circuit equations, can be generated automatically from the cutset equations. As an example, the circuit equation for cotree edge *e*<sup>33</sup> is

$$\mathbf{r}\_{33} - \mathbf{r}\_{14} - \mathbf{r}\_{34} - \mathbf{r}\_{21} + \mathbf{r}\_{31} - \mathbf{r}\_{11} + \mathbf{r}\_{12} + \mathbf{r}\_{32} - \mathbf{r}\_{13} = \mathbf{0} \tag{10}$$

Clearly, this linear equation represents the vector loop closure condition for the circuit containing *e*<sup>33</sup> where **r**<sup>31</sup> = **r**<sup>32</sup> = **r**<sup>33</sup> = **r**<sup>34</sup> = 0. Thus, the circuit equation (7) represent a set of linearly independent equations, one for each chord in the cotree.

Using Linear Graph Theory 9

Simulation of Flexible Multibody Systems Using Linear Graph Theory 357

where **Φ<sup>q</sup>** is the Jacobian matrix of the constraint equation (18). If constraint forces are

*δW<sup>C</sup>* = *δ***q***T***Q***<sup>C</sup>* = *δ***q***T***Φ***<sup>T</sup>*

Up to now, we have assumed that the reaction forces due to constraints neither produce nor consume work. This restriction has prohibited us from analyzing systems with non-rigid links (like elastic bodies which will be treated in the next section) or systems with energy-dissipating devices such as viscous or Coulomb dampers. The effect of such constraints is to produce certain pairs of internal forces which may be treated exactly as we would any other applied forces. Hence, the new form of terminal equations for applied forces has been written in the first part of equation (17). For elements containing physical constraints the terminal equation (20) is introduced. Care must be taken when applying the constraint generalized force because the physical constraints do no work and its Lagrange multiplier form must be introduced in the initial cutset equations at the beginning of the substitution

Spring and gravitational forces belong to the wider class of so-called conservative forces for which the generalized force can be efficiently calculated from the potential energy. Thus, if forces that act on a system can be expressed as the gradient of a scalar function of generalized coordinates, the virtual work may be written as the negative of a variation in potential energy

*<sup>δ</sup>Wcons* <sup>=</sup> *<sup>δ</sup>***q***T***Q***cons* <sup>=</sup> <sup>−</sup>*δ***q***TVT*

Now, let us consider a moving system defined by a set of branch coordinates. If between these branch coordinates and time *t* there exists some relation of the form of equation (18), it is said that the system is moving under constraint. This means that the functions of constraints are geometric or kinematic conditions which restrain the possibilities of motion of the system. For a spatial mechanical system there is a limited number of types of functions of constraint, represented by the joints between the bodies. Figure 3 presents the four most common types

A spherical joint shown in figure 3(a) is defined by the condition that the center of the ball coincides with the center of the socket. The terminal equations are, then, 3 scalar constraint

where **e***x*, **e***y*, **e***<sup>z</sup>* are unit vectors and *δ***r**<sup>3</sup> represents the relative virtual displacement between the bodies. Essentially, the three constraining equations (22) impose that there is no relative

A revolute joint, shown in figure 3(b), is constructed with bearings that allow relative rotation about a common axis in a pair of bodies, but precludes relative translation along this axis. The

*<sup>T</sup>δ***r**<sup>3</sup> = [000]

where the Lagrange multiplier *λ* represents vector-generalized constraint forces.

**Φq***δ***q** = 0. (19)

**<sup>q</sup>***λ* (20)

**<sup>q</sup>** (21)

*<sup>T</sup>* (22)

they are dependent. Thus branch coordinate variations must satisfy

*V* and the new terminal equation for conservative forces becomes

of ideal joints which can be found in multibody systems.

displacements at the joint in the *x* − *y* − *z* directions.

equations that restricts the relative positions between the bodies,

[ **e***<sup>x</sup>* **e***<sup>y</sup>* **e***<sup>z</sup>* ]

workless, it can be proven that

procedure.

#### **3. Virtual work terminal equations for rigid bodies**

The basic premise of the graphical approach is that each system element is modelled separately by defining its characteristics, independent of the other system elements, in the form of a "virtual terminal" (or constitutive) equation. Associated with every edge is one or more terminal equations that define the generalized force *Q* of an element corresponding to its branch coordinate *q*. These terminal equations are written in terms of the system through and across variables. In this formulation, a translational and rotational network is required in order to ensure consistency in the initial theory. Hence, these equations are functions of virtual displacements and virtual work.

In this formulation a rigid-arm element is used to represent the relative position and orientation of two reference frames on the same body. This second reference frame may be needed to locate a point of application for some other element. The terminal equations, in terms of virtual displacements, for a rigid-arm element are

$$
\delta\theta\_1 = 0\tag{11}
$$

$$
\delta \mathbf{r}\_1 = \delta \mathbf{\theta}\_5 \times \mathbf{r}\_1 \tag{12}
$$

where **r**<sup>1</sup> is the rigid-arm position vector which is function of rotational body-fixed frame *θ*<sup>5</sup> since the direction of **r**<sup>1</sup> varies as the rigid body rotates.

If the virtual work is the work done by specified forces on virtual displacements which are consistent with the constraints, with all other coordinates being kept constant, then the virtual work of force **F** is

$$
\delta \mathcal{W} = \delta \mathbf{r}^T \mathbf{F} \tag{13}
$$

Now, let us consider a system whose kinematics are parameterized by a branch coordinate vector **q** where **r** = **r**(**q**), then a virtual displacement *δ***r** is related to a branch coordinate variation *δ***q** by

$$
\delta \mathbf{r} = \mathbf{r}\_{\mathbf{q}} \delta \mathbf{q} \tag{14}
$$

where the subscript **q** indicates a partial derivative with respect to vector **q**. Then the virtual work of a force may be obtained by substituting equation (14) in equation (13),

$$
\delta \delta \mathbf{W} = \delta \mathbf{q}^T \mathbf{r}\_\mathbf{q}^T \mathbf{F} \tag{15}
$$

Equation (13) may be interpreted as the scalar product of a branch variation *δ***q** and its generalized force **Q**,

$$
\delta \mathbf{W} = \delta \mathbf{q}^T \mathbf{Q} \tag{16}
$$

where the generalized force is defined as **<sup>Q</sup>** <sup>≡</sup> **<sup>r</sup>***<sup>T</sup>* **qF**. In this formulation, one may separate forces into applied forces **F***<sup>A</sup>* and constraint forces **F***<sup>C</sup>* such that,

$$
\delta \delta W = \delta \mathbf{q}^T (\mathbf{Q}^A + \mathbf{Q}^\mathbf{C}) = \delta W^A + \delta W^\mathbf{C} \tag{17}
$$

If branch coordinates are consistent with constraints, then **q** is a vector with independent coordinates. Note that if constraints that act on the system are workless and if the branch coordinates **q** must satisfy constraint equations of the form

$$
\Phi(\mathbf{q}, t) = 0,\tag{18}
$$

8 Will-be-set-by-IN-TECH

The basic premise of the graphical approach is that each system element is modelled separately by defining its characteristics, independent of the other system elements, in the form of a "virtual terminal" (or constitutive) equation. Associated with every edge is one or more terminal equations that define the generalized force *Q* of an element corresponding to its branch coordinate *q*. These terminal equations are written in terms of the system through and across variables. In this formulation, a translational and rotational network is required in order to ensure consistency in the initial theory. Hence, these equations are functions of

In this formulation a rigid-arm element is used to represent the relative position and orientation of two reference frames on the same body. This second reference frame may be needed to locate a point of application for some other element. The terminal equations, in

where **r**<sup>1</sup> is the rigid-arm position vector which is function of rotational body-fixed frame *θ*<sup>5</sup>

If the virtual work is the work done by specified forces on virtual displacements which are consistent with the constraints, with all other coordinates being kept constant, then the virtual

Now, let us consider a system whose kinematics are parameterized by a branch coordinate vector **q** where **r** = **r**(**q**), then a virtual displacement *δ***r** is related to a branch coordinate

where the subscript **q** indicates a partial derivative with respect to vector **q**. Then the virtual

*δW* = *δ***q***T***r***<sup>T</sup>*

Equation (13) may be interpreted as the scalar product of a branch variation *δ***q** and its

If branch coordinates are consistent with constraints, then **q** is a vector with independent coordinates. Note that if constraints that act on the system are workless and if the branch

work of a force may be obtained by substituting equation (14) in equation (13),

*δθ*<sup>1</sup> = 0 (11)

*δ***r**<sup>1</sup> = *δθ*<sup>5</sup> × **r**<sup>1</sup> (12)

*δW* = *δ***r***T***F** (13)

*δ***r** = **rq***δ***q** (14)

*δW* = *δ***q***T***Q** (16)

**Φ**(**q**, *t*) = 0, (18)

*δW* = *δ***q***T*(**Q***<sup>A</sup>* + **Q***C*) = *δW<sup>A</sup>* + *δW<sup>C</sup>* (17)

**qF** (15)

**qF**. In this formulation, one may separate

**3. Virtual work terminal equations for rigid bodies**

terms of virtual displacements, for a rigid-arm element are

since the direction of **r**<sup>1</sup> varies as the rigid body rotates.

where the generalized force is defined as **<sup>Q</sup>** <sup>≡</sup> **<sup>r</sup>***<sup>T</sup>*

forces into applied forces **F***<sup>A</sup>* and constraint forces **F***<sup>C</sup>* such that,

coordinates **q** must satisfy constraint equations of the form

virtual displacements and virtual work.

work of force **F** is

variation *δ***q** by

generalized force **Q**,

they are dependent. Thus branch coordinate variations must satisfy

$$
\Phi\_{\mathbf{q}} \delta \mathbf{q} = 0. \tag{19}
$$

where **Φ<sup>q</sup>** is the Jacobian matrix of the constraint equation (18). If constraint forces are workless, it can be proven that

$$
\delta \boldsymbol{\delta W}^{\mathbb{C}} = \delta \mathbf{q}^{T} \mathbf{Q}^{\mathbb{C}} = \delta \mathbf{q}^{T} \boldsymbol{\Phi}\_{\mathbf{q}}^{T} \boldsymbol{\lambda} \tag{20}
$$

where the Lagrange multiplier *λ* represents vector-generalized constraint forces.

Up to now, we have assumed that the reaction forces due to constraints neither produce nor consume work. This restriction has prohibited us from analyzing systems with non-rigid links (like elastic bodies which will be treated in the next section) or systems with energy-dissipating devices such as viscous or Coulomb dampers. The effect of such constraints is to produce certain pairs of internal forces which may be treated exactly as we would any other applied forces. Hence, the new form of terminal equations for applied forces has been written in the first part of equation (17). For elements containing physical constraints the terminal equation (20) is introduced. Care must be taken when applying the constraint generalized force because the physical constraints do no work and its Lagrange multiplier form must be introduced in the initial cutset equations at the beginning of the substitution procedure.

Spring and gravitational forces belong to the wider class of so-called conservative forces for which the generalized force can be efficiently calculated from the potential energy. Thus, if forces that act on a system can be expressed as the gradient of a scalar function of generalized coordinates, the virtual work may be written as the negative of a variation in potential energy *V* and the new terminal equation for conservative forces becomes

$$
\delta \boldsymbol{\delta W}^{\rm cons} = \delta \mathbf{q}^T \mathbf{Q}^{\rm cons} = -\delta \mathbf{q}^T V\_\mathbf{q}^T \tag{21}
$$

Now, let us consider a moving system defined by a set of branch coordinates. If between these branch coordinates and time *t* there exists some relation of the form of equation (18), it is said that the system is moving under constraint. This means that the functions of constraints are geometric or kinematic conditions which restrain the possibilities of motion of the system. For a spatial mechanical system there is a limited number of types of functions of constraint, represented by the joints between the bodies. Figure 3 presents the four most common types of ideal joints which can be found in multibody systems.

A spherical joint shown in figure 3(a) is defined by the condition that the center of the ball coincides with the center of the socket. The terminal equations are, then, 3 scalar constraint equations that restricts the relative positions between the bodies,

$$\begin{bmatrix} \mathbf{e}^x \ \mathbf{e}^y \ \mathbf{e}^z \end{bmatrix}^T \delta \mathbf{r}\_3 = \begin{bmatrix} \mathbf{0} \ \mathbf{0} \ \mathbf{0} \ \mathbf{0} \end{bmatrix}^T \tag{22}$$

where **e***x*, **e***y*, **e***<sup>z</sup>* are unit vectors and *δ***r**<sup>3</sup> represents the relative virtual displacement between the bodies. Essentially, the three constraining equations (22) impose that there is no relative displacements at the joint in the *x* − *y* − *z* directions.

A revolute joint, shown in figure 3(b), is constructed with bearings that allow relative rotation about a common axis in a pair of bodies, but precludes relative translation along this axis. The

Using Linear Graph Theory 11

Simulation of Flexible Multibody Systems Using Linear Graph Theory 359

variational form of Lagrange's equation relies upon a correct formulation of the kinetic energy of the multibody system in terms of branch coordinates. If the system is composed of *nb* rigid

where *mi* is the mass of body *i*, **v***<sup>i</sup>* is the velocity vector of the centre of mass of the body

the inertia � tensor coordinate system. Note that absolute or inertial-space velocities must be used although they may be expressed in any convenient (inertial or non-inertial) coordinate

> *dt <sup>∂</sup>Ti ∂* **˙q** <sup>−</sup> *<sup>∂</sup>Ti ∂***q**

*<sup>i</sup>* **<sup>v</sup>***i***<sup>q</sup>** <sup>+</sup> *<sup>ω</sup>*�*<sup>T</sup>*

*<sup>i</sup>* **<sup>v</sup>***<sup>i</sup>* **˙q** <sup>+</sup> *<sup>ω</sup>*�*<sup>T</sup>*

*<sup>i</sup>* **˙v***<sup>i</sup>* **˙q** <sup>+</sup> *<sup>ω</sup>***˙** �*<sup>T</sup>*

*<sup>i</sup>* **˙q** <sup>+</sup> *mi***v***<sup>T</sup>*

*<sup>i</sup>* **˙q** − *ω*�

*<sup>i</sup>*/**<sup>q</sup>** can be shown to be equal to zero. Since **r***<sup>i</sup>* = **r***i*(**q**, *t*), we have

Substituting equations (29) and (31) into the variational form of Lagrange's equation (28) gives

*<sup>i</sup>* [*I* � *<sup>i</sup>* ]*ω*� *<sup>i</sup>* [*I* � *<sup>i</sup>* ]*ω*� *i***q** 

*<sup>i</sup>* [*I* � *<sup>i</sup>* ]*ω*� *i* **˙q** 

> *<sup>i</sup>* [*I* � *<sup>i</sup>* ]*ω*�

> > *<sup>i</sup>* **<sup>P</sup>***<sup>v</sup>*

It is assumed at this point that the velocities {**v***i*} and {*ωi*} have been found in symbolic form for each body component in terms of branch coordinates and their derivatives. In order to

*<sup>d</sup>*

*<sup>i</sup>* ] is the inertia tensor of the body expressed in a body-fixed � coordinate

*th* body becomes

*T*

*dt <sup>∂</sup>Ti ∂* **˙q** 

*<sup>i</sup>* **˙q** <sup>+</sup> *<sup>ω</sup>*�*<sup>T</sup> <sup>i</sup>* [*I* � *<sup>i</sup>* ]*ω***˙** � *i* **˙q** 

*<sup>i</sup>*/**<sup>q</sup>** <sup>+</sup> *<sup>ω</sup>*�*<sup>T</sup> <sup>i</sup>* [*I* � *<sup>i</sup>* ]**P***ω*� *i*/**q** *T*

*<sup>i</sup>*/**<sup>q</sup>** = **˙v***<sup>i</sup>* **˙q** − **v***i***<sup>q</sup>** (33)

**v***<sup>i</sup>* = **˙r***<sup>i</sup>* = **r***i***<sup>q</sup> ˙q** + **r***it* (35)

**v***<sup>i</sup>* **˙q** = **r***i***<sup>q</sup>** (36)

*<sup>i</sup>***<sup>q</sup>** (34)

and *<sup>∂</sup>Ti*

*<sup>i</sup>* is the angular velocity vector of the body in inertial space and expressed in

*<sup>i</sup>* (27)

(28)

(29)

(30)

(31)

(32)

*<sup>∂</sup>***<sup>q</sup>** will be required

*th* body is defined as

*Ti* <sup>=</sup> <sup>1</sup> 2 *mi***v***<sup>T</sup> <sup>i</sup>* **v***<sup>i</sup>* + 1 2 *ω*�*<sup>T</sup> <sup>i</sup>* [*I* � *<sup>i</sup>* ]*ω*�

system. Then, the virtual work terminal equation for the *i*

*δW*5*<sup>i</sup>* = *δ***q***<sup>T</sup>*

for each branch coordinates. By partial differentiation of equation (27),

*∂Ti <sup>∂</sup>***<sup>q</sup>** <sup>=</sup> *mi***v***<sup>T</sup>*

*∂Ti <sup>∂</sup>* **˙q** <sup>=</sup> *mi***v***<sup>T</sup>*

*<sup>i</sup>* **<sup>v</sup>***<sup>i</sup>* **˙q** <sup>+</sup> *mi***v***<sup>T</sup>*

*<sup>i</sup>* **<sup>v</sup>***<sup>i</sup>* **˙q** <sup>+</sup> *<sup>ω</sup>***˙** �*<sup>T</sup>*

**P***v*

**P***ω*� *<sup>i</sup>*/**<sup>q</sup>** = *ω***˙** �

From equation (35), form the partial derivative of **v***<sup>i</sup>* with respect to **˙q**

apply the variational form of Lagrange's equation, the terms *<sup>d</sup>*

bodies, the kinetic energy of the *i*

in inertial space, [*I*�

system and *ω*�

and similarly,

where

The quantity **P***<sup>v</sup>*

The time derivative of equation (30) is

*δW*5*<sup>i</sup>* = *δ***q***<sup>T</sup>*

 *mi* **˙v***<sup>T</sup>*

*d dt <sup>∂</sup>Ti ∂* **˙q** = *mi* **˙v***<sup>T</sup>*

Fig. 3. Ideal kinematic joints a) spherical, b) revolute, c) cylindrical and d) prismatic

five terminal constrained equations are

$$[\![\mathbf{e}^{x}\ \mathbf{e}^{y}\ \mathbf{e}^{z}]\!]^{T}\delta\mathbf{r}\_{3} = [\![\mathbf{0}\ \mathbf{0}\ \mathbf{0}]\!]^{T} \qquad ; \qquad [\![\mathbf{e}^{x}\ \mathbf{e}^{y}]\!]^{T}\delta\mathbf{\theta}\_{3} = [\![\mathbf{0}\ \mathbf{0}]\!]^{T} \tag{23}$$

where *δθ*<sup>3</sup> represents the relative virtual angular rotation between the bodies.

A cylindrical joint between a pair of bodies is shown in figure 3(c). It permits relative translation and relative rotation between bodies about a common axis. The four terminal constrained equations are

$$\begin{bmatrix} \begin{bmatrix} \mathbf{e}^{\mathbf{x}} \ \mathbf{e}^{\mathbf{y}} \end{bmatrix}^{T} \delta \mathbf{r}\_{4} = \begin{bmatrix} \mathbf{0} \ \mathbf{0} \end{bmatrix}^{T} \qquad ; \qquad \begin{bmatrix} \mathbf{e}^{\mathbf{x}} \ \mathbf{e}^{\mathbf{y}} \end{bmatrix}^{T} \delta \mathbf{\theta}\_{4} = \begin{bmatrix} \mathbf{0} \ \mathbf{0} \end{bmatrix}^{T} \tag{24}$$

A prismatic joint, shown in figure 3(d), allows relative translation along a common axis between a pair of bodies, but precludes relative rotation about this axis. The five terminal constrained equations are

$$\begin{bmatrix} \begin{bmatrix} \mathbf{e}^{\mathbf{x}} \ \mathbf{e}^{\mathbf{y}} \end{bmatrix}^{T} \delta \mathbf{r}\_{4} = \begin{bmatrix} \mathbf{0} & \mathbf{0} \end{bmatrix}^{T} \qquad ; \qquad \begin{bmatrix} \mathbf{e}^{\mathbf{x}} \ \mathbf{e}^{\mathbf{y}} \ \mathbf{e}^{\mathbf{z}} \end{bmatrix}^{T} \delta \mathbf{\theta}\_{4} = \begin{bmatrix} \mathbf{0} & \mathbf{0} & \mathbf{0} \end{bmatrix}^{T} \tag{25}$$

At this point, one can represent these kinematic joints in a (6 × 6) Boolean matrix,

$$\mathbf{E}^{k} = \operatorname{diag}(\mathbf{e}^{k}) = \begin{bmatrix} \mathbf{E}\_{t}^{k} & 0\\ \mathbf{0} & \mathbf{E}\_{r}^{k} \end{bmatrix} \tag{26}$$

where **E***<sup>k</sup> <sup>t</sup>* and **<sup>E</sup>***<sup>k</sup> <sup>r</sup>* are two diagonal (3 × 3) tensors which define the translational and rotational connexions between bodies.

Let us now consider rigid body elements *N*5. The graph for this type of element consists of an edge *e*<sup>5</sup> from the datum node to a local reference frame on the body. The use of the variational form of Lagrange's equation relies upon a correct formulation of the kinetic energy of the multibody system in terms of branch coordinates. If the system is composed of *nb* rigid bodies, the kinetic energy of the *i th* body is defined as

$$T\_i = \frac{1}{2} m\_i \mathbf{v}\_i^T \mathbf{v}\_i + \frac{1}{2} \boldsymbol{\omega}\_i'^T [I\_i'] \boldsymbol{\omega}\_i' \tag{27}$$

where *mi* is the mass of body *i*, **v***<sup>i</sup>* is the velocity vector of the centre of mass of the body in inertial space, [*I*� *<sup>i</sup>* ] is the inertia tensor of the body expressed in a body-fixed � coordinate system and *ω*� *<sup>i</sup>* is the angular velocity vector of the body in inertial space and expressed in the inertia � tensor coordinate system. Note that absolute or inertial-space velocities must be used although they may be expressed in any convenient (inertial or non-inertial) coordinate system. Then, the virtual work terminal equation for the *i th* body becomes

$$
\delta \mathbf{W}\_{5i} = \delta \mathbf{q}^T \left\{ \left[ \frac{d}{dt} \left( \frac{\partial T\_i}{\partial \dot{\mathbf{q}}} \right) - \frac{\partial T\_i}{\partial \mathbf{q}} \right]^T \right\} \tag{28}
$$

It is assumed at this point that the velocities {**v***i*} and {*ωi*} have been found in symbolic form for each body component in terms of branch coordinates and their derivatives. In order to apply the variational form of Lagrange's equation, the terms *<sup>d</sup> dt <sup>∂</sup>Ti ∂* **˙q** and *<sup>∂</sup>Ti <sup>∂</sup>***<sup>q</sup>** will be required for each branch coordinates. By partial differentiation of equation (27),

$$\frac{\partial T\_i}{\partial \mathbf{q}} = \left( m\_i \mathbf{v}\_i^T \mathbf{v}\_{i\mathbf{q}} + \omega\_i'^T [I\_i'] \omega\_{i\mathbf{q}}' \right) \tag{29}$$

and similarly,

10 Will-be-set-by-IN-TECH

(a) (b)

(c) (d)

*<sup>T</sup>δ***r**<sup>3</sup> = [000]

*<sup>T</sup>δ***r**<sup>4</sup> = [0 0]

*<sup>T</sup>δ***r**<sup>4</sup> = [0 0]

where *δθ*<sup>3</sup> represents the relative virtual angular rotation between the bodies.

five terminal constrained equations are

constrained equations are

constrained equations are

*<sup>t</sup>* and **<sup>E</sup>***<sup>k</sup>*

connexions between bodies.

where **E***<sup>k</sup>*

[ **e***<sup>x</sup>* **e***<sup>y</sup>* **e***<sup>z</sup>* ]

[ **e***<sup>x</sup>* **e***<sup>y</sup>* ]

[ **e***<sup>x</sup>* **e***<sup>y</sup>* ]

Fig. 3. Ideal kinematic joints a) spherical, b) revolute, c) cylindrical and d) prismatic

*<sup>T</sup>* ; [ **e***<sup>x</sup>* **e***<sup>y</sup>* ]

A cylindrical joint between a pair of bodies is shown in figure 3(c). It permits relative translation and relative rotation between bodies about a common axis. The four terminal

A prismatic joint, shown in figure 3(d), allows relative translation along a common axis between a pair of bodies, but precludes relative rotation about this axis. The five terminal

*<sup>T</sup>* ; [ **e***<sup>x</sup>* **e***<sup>y</sup>* **e***<sup>z</sup>* ]

Let us now consider rigid body elements *N*5. The graph for this type of element consists of an edge *e*<sup>5</sup> from the datum node to a local reference frame on the body. The use of the

 **E***k <sup>t</sup>* 0 0 **E***<sup>k</sup> r* 

*<sup>r</sup>* are two diagonal (3 × 3) tensors which define the translational and rotational

At this point, one can represent these kinematic joints in a (6 × 6) Boolean matrix,

**E***<sup>k</sup>* = *diag*(**e***k*) =

*<sup>T</sup>* ; [ **e***<sup>x</sup>* **e***<sup>y</sup>* ]

*<sup>T</sup>δθ*<sup>3</sup> = [0 0]

*<sup>T</sup>δθ*<sup>4</sup> = [0 0]

*<sup>T</sup>δθ*<sup>4</sup> = [000]

*<sup>T</sup>* (23)

*<sup>T</sup>* (24)

*<sup>T</sup>* (25)

(26)

$$\frac{\partial T\_i}{\partial \dot{\mathbf{q}}} = \left( m\_i \mathbf{v}\_i^T \mathbf{v}\_{i\dot{\mathbf{q}}} + \omega\_i'^T [I\_i'] \omega\_{i\dot{\mathbf{q}}}' \right) \tag{30}$$

The time derivative of equation (30) is

$$\frac{d}{dt}\left(\frac{\partial T\_i}{\partial \dot{\mathbf{q}}}\right) = \left(m\_i \dot{\mathbf{v}}\_i^T \mathbf{v}\_{i\dot{\mathbf{q}}} + m\_i \mathbf{v}\_i^T \dot{\mathbf{v}}\_{i\dot{\mathbf{q}}} + \dot{\omega}\_i'^T [I\_i'] \omega\_{i\dot{\mathbf{q}}}' + \omega\_i'^T [I\_i'] \dot{\omega}\_{i\dot{\mathbf{q}}}'\right) \tag{31}$$

Substituting equations (29) and (31) into the variational form of Lagrange's equation (28) gives

$$\delta \mathcal{W}\_{\overline{\mathbf{s}}i} = \delta \mathbf{q}^{T} \left\{ \left[ m\_{l} \dot{\mathbf{v}}\_{i}^{T} \mathbf{v}\_{i\overline{\mathbf{q}}} + \dot{\omega}\_{i}^{\prime T} [l\_{i}^{\prime}] \omega\_{i\overline{\mathbf{q}}} + m\_{l} \mathbf{v}\_{i}^{T} \mathbf{P}\_{i/\mathbf{q}}^{\overline{\mathbf{s}}} + \omega\_{i}^{\prime T} [l\_{i}^{\prime}] \mathbf{P}\_{i/\mathbf{q}}^{\omega^{\prime}} \right]^{T} \right\} \tag{32}$$

where

$$\mathbf{P}\_{i/\mathbf{q}}^{\upsilon} = \dot{\mathbf{v}}\_{i\dot{\mathbf{q}}} - \mathbf{v}\_{i\dot{\mathbf{q}}} \tag{33}$$

$$\mathbf{P}\_{i/\mathbf{q}}^{\omega'} = \dot{\omega}\_{i\mathbf{q}}^{\prime} - \omega\_{i\mathbf{q}}^{\prime} \tag{34}$$

The quantity **P***<sup>v</sup> <sup>i</sup>*/**<sup>q</sup>** can be shown to be equal to zero. Since **r***<sup>i</sup>* = **r***i*(**q**, *t*), we have

$$\mathbf{v}\_{i} = \dot{\mathbf{r}}\_{i} = \mathbf{r}\_{i\mathbf{q}} \dot{\mathbf{q}} + \mathbf{r}\_{it} \tag{35}$$

From equation (35), form the partial derivative of **v***<sup>i</sup>* with respect to **˙q**

$$\mathbf{v}\_{i\dot{\mathbf{q}}} = \mathbf{r}\_{i\mathbf{q}} \tag{36}$$

Using Linear Graph Theory 13

Simulation of Flexible Multibody Systems Using Linear Graph Theory 361

solved simultaneously by using branch transformation equations for a tree selection. The first step consists in defining the problem by creating a proper spanning tree and generating the branch transformation equations for all the elements in the cotree. These transformations will be used to replace the across-variables for cotree elements as function of branch coordinates. Depending on the topology of the mechanical system and the specified tree, the branch coordinates may not be independent quantities. If the number of coordinates *n* is greater than the degrees of freedom *f* , then (*c* = *n* − *f*) constraint equations are required to express the dependency between coordinates. The constraint equations are obtained directly from the joints and motion drivers in the cotree, by projecting their circuit equations onto the joint reaction space (McPhee, 1998). Upon substitution of the branch transformation equations into these circuit equations, the constraint equations are obtained in the form of equation (18) which constitutes a set of *c* nonlinear algebraic equations. Differentiating twice equation (18),

using the chain rule of differentiation, yields the *c* constraint acceleration equations

(**Φqq**˙ )**qq**˙ + 2**Φq***t***q**˙ + **Φ***tt*

 **Q***total* **Λ**

), relative to the global reference frame �(*XYZ*).

In general, the *n* branch coordinates are not independent, but are related by the *c* kinematic constraint equations (18). Thus, these constraint acceleration equations must be appended to the set of dynamic equations (44), giving (*n* + *c*) equations to solve for branch coordinates **q** and the *c* reaction loads *λ*. Substituting equation (18) into equation (44) and combining with equation (45) finally yields the classical system differential-algebraic equations of motion for

> **¨q** *λ* =

where **Mˆ** is a symmetric augmented (*<sup>n</sup>* <sup>×</sup> *<sup>n</sup>*) mass matrix, **<sup>Φ</sup><sup>q</sup>** is a (*<sup>c</sup>* <sup>×</sup> *<sup>n</sup>*) constraint Jacobian matrix and the total generalized force **<sup>Q</sup>***total* <sup>=</sup> **<sup>Q</sup>***<sup>A</sup>* <sup>−</sup> **<sup>Q</sup>***<sup>K</sup>* <sup>−</sup> **<sup>Q</sup>***cons*. Using equation (42) it is easy to form symbolically the coefficient matrix **Mˆ** , element by element, from partial derivatives of the velocity vectors. Non-linearities have been preserved throughout the formulation as each element may contain branch coordinates and quantities which vary with time. Note that the global matrix coefficient is symmetric. This requires only that the inertia tensor be symmetric, which it is. The off-diagonal mass sub-matrices represent coupling effects between adjacent bodies. The fundamental form of these equations and physical properties of kinetic energy

This variational graph-theoretical approach is based on the flexible models developped by (Shabana, 1986) and (Tennich, 1994). In this formulation a flexible arm element, as shown in figure 4, is used to represent the relative position and orientation of two reference frames on the same body. This second reference frame may be needed to locate a point of application for

A flexible arm element is defined as being made up of a continuum of particles that can move relative to one another. Since actual bodies are never perfectly rigid, small deformation effects are often added and can have great influence on the motion of mechanisms that are made up of multiple bodies. A flexible arm element can be located by defining the position vector **R** of

≡ **Λ** (45)

(46)

**<sup>Φ</sup>qq**¨ <sup>=</sup> <sup>−</sup>

 **Mˆ Φ***<sup>T</sup>* **q Φ<sup>q</sup>** 0

guarantee that a unique solution of the constrained equations of motion exists.

(*X*� ,*Y*� , *Z*�

rigid multibody systems in matrix form,

**4. Flexible multibody systems (FMS)**

the origin of its body-fixed frame ��

some other element.

Take the time derivatives of both sides of equation (36) to get

$$
\dot{\mathbf{v}}\_{i\dot{\mathbf{q}}} = \dot{\mathbf{r}}\_{i\dot{\mathbf{q}}} = \mathbf{v}\_{i\dot{\mathbf{q}}} \tag{37}
$$

Substitute equation (37) into equation (33) to show that **P***<sup>v</sup> <sup>i</sup>*/**<sup>q</sup>** = 0. When the angular velocity vector is the exact derivative of another vector function of branch coordinates and time, the preceding argument will show that **P***ω*� *<sup>i</sup>*/**<sup>q</sup>** = 0. This is always the case for problems formulated in one or two-dimensional space where angular velocities are simply the time derivatives of angular coordinates. In problems which must be formulated in three dimensions, finite rotations cannot be represented as vectors and **P***ω*� *<sup>i</sup>*/**<sup>q</sup>** is generally non-zero.

The virtual equation (32) is now simplified to

$$\delta \mathcal{W}\_{\overline{\mathbf{s}}\overline{\mathbf{i}}} = \delta \mathbf{q}^{T} \left\{ \left[ m\_{i} \dot{\mathbf{v}}\_{i}^{T} \mathbf{v}\_{i\overline{\mathbf{q}}} + \dot{\boldsymbol{\omega}}\_{i}^{\prime T} [I\_{i}^{\prime}] \boldsymbol{\omega}\_{i\overline{\mathbf{q}}}^{\prime} + \boldsymbol{\omega}\_{i}^{\prime T} [I\_{i}^{\prime}] \mathbf{P}\_{i/\mathbf{q}}^{\omega^{\prime}} \right]^{T} \right\} \tag{38}$$

The right hand side of equation (38) can be separated into terms containing branch accelerations **¨q** and terms containing products of branch velocities **q ˙ ˙ q**. This is necessary in order to place the coefficients of the terms **¨q** into an augmented mass matrix **Mˆ** *<sup>i</sup>* and the product terms into a generalized force **Q***<sup>K</sup> <sup>i</sup>* . Write the time-derivatives of the velocity vectors as

$$
\dot{\mathbf{v}}\_i = \mathbf{v}\_{i\dot{\mathbf{q}}} \ddot{\mathbf{q}} + \dot{\mathbf{v}}\_i^p \tag{39}
$$

$$
\dot{\omega}\_{\dot{i}} = \omega\_{i\dot{\mathbf{q}}}' \ddot{\mathbf{q}} + \dot{\omega}\_{\dot{i}}'^p \tag{40}
$$

The terms superscripted *<sup>p</sup>* contain all products of generalized velocities. Then, exploit equations (39) and (40) to rewrite equation (38) into the final terminal equation for rigid bodies as follows

$$
\delta \mathbf{W}\_{5i} = \delta \mathbf{q}^T \left\{ \left[ \hat{\mathbf{M}}\_i \, \ddot{\mathbf{q}} + \mathbf{Q}\_i^K \right]^T \right\} \tag{41}
$$

where

$$\mathbf{\hat{M}}\_{i} = \left( m\_{i} \mathbf{v}\_{i\mathbf{\dot{q}}}^{T} \mathbf{v}\_{i\mathbf{\dot{q}}} + \omega\_{i\mathbf{\dot{q}}}' [I\_{i}'] \omega\_{i\mathbf{\dot{q}}}' \right) \tag{42}$$

and

$$\mathbf{Q}\_{i}^{K} = \left( m\_{i} \dot{\mathbf{v}}\_{i}^{pT} \mathbf{v}\_{i\dot{\mathbf{q}}} + \dot{\boldsymbol{\omega}}\_{i}^{\prime pT} [I\_{i}^{\prime}] \boldsymbol{\omega}\_{i\dot{\mathbf{q}}}^{\prime} + \boldsymbol{\omega}\_{i}^{\prime T} [I\_{i}^{\prime}] \mathbf{P}\_{i\prime/\mathbf{q}}^{\omega^{\prime}} \right) \tag{43}$$

The elements of the coefficient matrix **Mˆ** *<sup>i</sup>* are the coefficient of **¨q** appearing in the differential equation corresponding to the branch coordinate **q**. The forcing vector **Q***<sup>K</sup> <sup>i</sup>* shown in equation (43) is made up of all the terms in the equations of motion which do not contain second derivatives. This vector contains part of the contribution of the kinetic energy to the equations of motion. Substituting the general form of virtual work terminal equations for each element in the cutset equation for this tree body constraint or joint, one gets

$$\delta \mathbf{q}^T \left\{ \mathbf{\hat{M}} \,\ddot{\mathbf{q}} + \mathbf{Q}^K + \mathbf{Q}^C + \mathbf{Q}^{\rm cons} - \mathbf{Q}^A \right\} = 0 \tag{44}$$

This variational equation of motion holds for arbitrary virtual displacement *δ***q**, so it is equivalent to the Lagrange multiplier form of constrained equations of motion.

Together, the cutset, circuit and terminal equations form a necessary and sufficient set of motion equations for determining the time response of multibody systems. However, an efficient approach to this problem consists in reducing the number of equations that need to be 12 Will-be-set-by-IN-TECH

vector is the exact derivative of another vector function of branch coordinates and time, the

in one or two-dimensional space where angular velocities are simply the time derivatives of angular coordinates. In problems which must be formulated in three dimensions, finite

*<sup>i</sup>* **<sup>v</sup>***<sup>i</sup>* **˙q** <sup>+</sup> *<sup>ω</sup>***˙** �*<sup>T</sup>*

The right hand side of equation (38) can be separated into terms containing branch accelerations **¨q** and terms containing products of branch velocities **q ˙ ˙ q**. This is necessary in order to place the coefficients of the terms **¨q** into an augmented mass matrix **Mˆ** *<sup>i</sup>* and the

**˙v***<sup>i</sup>* = **v***<sup>i</sup>* **˙q ¨q** + **˙v**

The terms superscripted *<sup>p</sup>* contain all products of generalized velocities. Then, exploit equations (39) and (40) to rewrite equation (38) into the final terminal equation for rigid bodies

*<sup>i</sup>* **˙qv***<sup>i</sup>* **˙q** <sup>+</sup> *<sup>ω</sup>*�*<sup>T</sup>*

�*pT <sup>i</sup>* [*I* � *<sup>i</sup>* ]*ω*�

The elements of the coefficient matrix **Mˆ** *<sup>i</sup>* are the coefficient of **¨q** appearing in the differential

(43) is made up of all the terms in the equations of motion which do not contain second derivatives. This vector contains part of the contribution of the kinetic energy to the equations of motion. Substituting the general form of virtual work terminal equations for each element

**M ¨ <sup>ˆ</sup> <sup>q</sup>** <sup>+</sup> **<sup>Q</sup>***<sup>K</sup>* <sup>+</sup> **<sup>Q</sup>***<sup>C</sup>* <sup>+</sup> **<sup>Q</sup>***cons* <sup>−</sup> **<sup>Q</sup>***<sup>A</sup>*

This variational equation of motion holds for arbitrary virtual displacement *δ***q**, so it is

Together, the cutset, circuit and terminal equations form a necessary and sufficient set of motion equations for determining the time response of multibody systems. However, an efficient approach to this problem consists in reducing the number of equations that need to be

equivalent to the Lagrange multiplier form of constrained equations of motion.

*<sup>i</sup>* **˙q ¨q** + *ω***˙**

*ω***˙** *<sup>i</sup>* = *ω*�

*δW*5*<sup>i</sup>* = *δ***q***<sup>T</sup>*

equation corresponding to the branch coordinate **q**. The forcing vector **Q***<sup>K</sup>*

**Mˆ** *<sup>i</sup>* = *mi***v***<sup>T</sup>*

in the cutset equation for this tree body constraint or joint, one gets

*<sup>δ</sup>***q***<sup>T</sup>*

**Q***<sup>K</sup> <sup>i</sup>* = *mi* **˙v** *pT <sup>i</sup>* **v***<sup>i</sup>* **˙q** + *ω***˙** *<sup>i</sup>* [*I* � *<sup>i</sup>* ]*ω*�

*p*

�*p*

**Mˆ** *<sup>i</sup>* **¨q** + **Q***<sup>K</sup> i <sup>T</sup>*

> *<sup>i</sup>* **˙q**[*I* � *<sup>i</sup>* ]*ω*� *i* **˙q**

*<sup>i</sup>* **˙q** <sup>+</sup> *<sup>ω</sup>*�*<sup>T</sup> <sup>i</sup>* [*I* � *<sup>i</sup>* ]**P***ω*� *i*/**q** 

**˙v***<sup>i</sup>* **˙q** = **˙r***i***<sup>q</sup>** = **v***i***<sup>q</sup>** (37)

*<sup>i</sup>*/**<sup>q</sup>** = 0. This is always the case for problems formulated

*<sup>i</sup>* . Write the time-derivatives of the velocity vectors

*<sup>i</sup>* (39)

*<sup>i</sup>* (40)

*<sup>i</sup>*/**<sup>q</sup>** is generally non-zero.

*<sup>i</sup>* **˙q** <sup>+</sup> *<sup>ω</sup>*�*<sup>T</sup> <sup>i</sup>* [*I* � *<sup>i</sup>* ]**P***ω*� *i*/**q** *<sup>T</sup>*

*<sup>i</sup>*/**<sup>q</sup>** = 0. When the angular velocity

(38)

(41)

(42)

(43)

*<sup>i</sup>* shown in equation

= 0 (44)

Take the time derivatives of both sides of equation (36) to get

Substitute equation (37) into equation (33) to show that **P***<sup>v</sup>*

rotations cannot be represented as vectors and **P***ω*�

*δW*5*<sup>i</sup>* = *δ***q***<sup>T</sup>*

 *mi* **˙v***<sup>T</sup>*

The virtual equation (32) is now simplified to

product terms into a generalized force **Q***<sup>K</sup>*

as

as follows

where

and

preceding argument will show that **P***ω*�

solved simultaneously by using branch transformation equations for a tree selection. The first step consists in defining the problem by creating a proper spanning tree and generating the branch transformation equations for all the elements in the cotree. These transformations will be used to replace the across-variables for cotree elements as function of branch coordinates.

Depending on the topology of the mechanical system and the specified tree, the branch coordinates may not be independent quantities. If the number of coordinates *n* is greater than the degrees of freedom *f* , then (*c* = *n* − *f*) constraint equations are required to express the dependency between coordinates. The constraint equations are obtained directly from the joints and motion drivers in the cotree, by projecting their circuit equations onto the joint reaction space (McPhee, 1998). Upon substitution of the branch transformation equations into these circuit equations, the constraint equations are obtained in the form of equation (18) which constitutes a set of *c* nonlinear algebraic equations. Differentiating twice equation (18), using the chain rule of differentiation, yields the *c* constraint acceleration equations

$$\Phi\_{\mathbf{q}}\ddot{\mathbf{q}} = -\left[ (\Phi\_{\mathbf{q}}\dot{\mathbf{q}})\_{\mathbf{q}}\dot{\mathbf{q}} + 2\Phi\_{\mathbf{q}l}\dot{\mathbf{q}} + \Phi\_{lt} \right] \equiv \Lambda \tag{45}$$

In general, the *n* branch coordinates are not independent, but are related by the *c* kinematic constraint equations (18). Thus, these constraint acceleration equations must be appended to the set of dynamic equations (44), giving (*n* + *c*) equations to solve for branch coordinates **q** and the *c* reaction loads *λ*. Substituting equation (18) into equation (44) and combining with equation (45) finally yields the classical system differential-algebraic equations of motion for rigid multibody systems in matrix form,

$$
\begin{Bmatrix} \hat{\mathbf{M}} & \boldsymbol{\Phi}\_{\mathbf{q}}^{T} \\ \boldsymbol{\Phi}\_{\mathbf{q}} & 0 \end{Bmatrix} \begin{Bmatrix} \ddot{\mathbf{q}} \\ \lambda \end{Bmatrix} = \begin{Bmatrix} \boldsymbol{\Phi}^{total} \\ \boldsymbol{\Lambda} \end{Bmatrix} \tag{46}
$$

where **Mˆ** is a symmetric augmented (*<sup>n</sup>* <sup>×</sup> *<sup>n</sup>*) mass matrix, **<sup>Φ</sup><sup>q</sup>** is a (*<sup>c</sup>* <sup>×</sup> *<sup>n</sup>*) constraint Jacobian matrix and the total generalized force **<sup>Q</sup>***total* <sup>=</sup> **<sup>Q</sup>***<sup>A</sup>* <sup>−</sup> **<sup>Q</sup>***<sup>K</sup>* <sup>−</sup> **<sup>Q</sup>***cons*. Using equation (42) it is easy to form symbolically the coefficient matrix **Mˆ** , element by element, from partial derivatives of the velocity vectors. Non-linearities have been preserved throughout the formulation as each element may contain branch coordinates and quantities which vary with time. Note that the global matrix coefficient is symmetric. This requires only that the inertia tensor be symmetric, which it is. The off-diagonal mass sub-matrices represent coupling effects between adjacent bodies. The fundamental form of these equations and physical properties of kinetic energy guarantee that a unique solution of the constrained equations of motion exists.

#### **4. Flexible multibody systems (FMS)**

This variational graph-theoretical approach is based on the flexible models developped by (Shabana, 1986) and (Tennich, 1994). In this formulation a flexible arm element, as shown in figure 4, is used to represent the relative position and orientation of two reference frames on the same body. This second reference frame may be needed to locate a point of application for some other element.

A flexible arm element is defined as being made up of a continuum of particles that can move relative to one another. Since actual bodies are never perfectly rigid, small deformation effects are often added and can have great influence on the motion of mechanisms that are made up of multiple bodies. A flexible arm element can be located by defining the position vector **R** of the origin of its body-fixed frame �� (*X*� ,*Y*� , *Z*� ), relative to the global reference frame �(*XYZ*).

Using Linear Graph Theory 15

Simulation of Flexible Multibody Systems Using Linear Graph Theory 363

a transformation matrix from the frame �(*e*1,*e*2,*e*3) to the body reference frame �(*x*¯, *y*¯, *z*¯) and

Figures 5(a) and 5(b) represent the 3-D beam and the triangular shell elements, respectively.

where *ξ* is an adimensional variable mesured along each beam element, with *ξ* = −1 at node 1 and *ξ* = 1 at node 2. For the triangular shell element, the three spatial interpolation functions

(<sup>1</sup> <sup>−</sup> *<sup>ξ</sup>*) *and Nje*

*f n* are the non-deformed and the nodal visco-elastic displacement of point *p*

<sup>2</sup> <sup>=</sup> <sup>1</sup> 2

<sup>2</sup> <sup>=</sup> *<sup>ξ</sup>* ; *<sup>N</sup>je*

*th* element. Note that **N***<sup>j</sup>* is a finite element

(1 + *ξ*) (50)

<sup>3</sup> = *η* (51)

*th* element which

. Then, the

*th* element to the body frame �� where **<sup>Q</sup>***<sup>j</sup>* represents

where **s**�

are given by

Vectors **e**

*j* <sup>1</sup>, **e** *j* <sup>2</sup> and **e** *j*

and **s** �*j* *on* and **s**�

*<sup>n</sup>* is the total displacement nodal vector of the *j*

**T***<sup>j</sup>* is a transfert matrix assembled with the **Q***<sup>j</sup>* matrices.

*Nje* <sup>1</sup> <sup>=</sup> <sup>1</sup> 2

*Nje*

For the 3-D beam element, the two spatial interpolation function is given

<sup>1</sup> <sup>=</sup> <sup>1</sup> <sup>−</sup> *<sup>ξ</sup>* <sup>−</sup> *<sup>η</sup>* ; *<sup>N</sup>je*

where *ξ* and *η* are adimensional variables mesured along the triangular element.

Fig. 5. a) Flexible beam linear finite element b) Flexible shell triangular finite element

�(*e*1,*e*2,*e*3) to the body reference frame �(*x*¯, *<sup>y</sup>*¯, *<sup>z</sup>*¯) can be written as **<sup>Q</sup>***<sup>j</sup>* = (*e*1,*e*2,*e*3)*<sup>j</sup>*

<sup>3</sup>, in figure 5, form a reference surface base for the *j*

is independent of the nodal numbering. Hence, the transfert matrix between the frame

spatial interpolation function from the *j*

Fig. 4. Flexible arm element

The global location of an arbitrary point *P* on a flexible body can be described as

$$\mathbf{r} = \mathbf{R} + \Pi \mathbf{s}' = \mathbf{R} + \Pi \left(\mathbf{s}'\_o + \mathbf{s}'\_f\right) \tag{47}$$

where **Π** represents an Euler parameter transformation matrix (Wittenburg, 1977) from the structure �� (*X*� ,*Y*� , *Z*� ) coordinate system to the global reference frame �(*XYZ*). The vector **s**� *<sup>o</sup>* is the initial undeformed position of point *p* with respect to the body-fixed reference frame, **s**� *<sup>f</sup>* represents the flexible displacement of point *p* and **s**� (= **s**� *<sup>o</sup>* + **s**� *<sup>f</sup>*) represents a flexible arm element *N*1.

Since the body-fixed frame �� (*x*� , *y*� , *z*� ) translates and rotates relative to the global frame, the vector **R** and Euler transformation matrix **Π** are functions of time. Both sides of eq.(47) may be differentiated twice with respect to time to obtain the acceleration equation,

$$\ddot{\mathbf{r}} = \ddot{\mathbf{R}} + \Pi \left( \ddot{\mathbf{s}}' + \ddot{\boldsymbol{\omega}} \, \mathbf{s}' + \ddot{\boldsymbol{\omega}} \, \tilde{\boldsymbol{\omega}} \, \mathbf{s}' + 2 \, \tilde{\boldsymbol{\omega}} \, \dot{\mathbf{s}}' \right) \tag{48}$$

where ˙*ω* and **s**¨� are, respectively, the angular acceleration of the body and the second derivative of the elastic displacement of point *p* and ˜*ω* represents a 3 × 3 skew-symmetric matrix which performs a cross-product multiplication and represents the angular velocity vector of the body-fixed frame �� .

To describe the deformation of a flexible body, one can discretize the structure into finite elements. If a reference frame �(*e*1,*e*2,*e*3) is attached to the *j th* element, the displacement of point *p* on a flexible body can be given by

$$\mathbf{s}' = \mathbf{N}^{\dot{j}} \left( \mathbf{s}'\_{on} + \mathbf{s}'\_{fn} \right) = \mathbf{N}^{\dot{j}} \mathbf{s}'^{\dot{j}}\_{n} \tag{49}$$

with

$$\mathbf{N}^{j} = \mathbf{Q}^{j} \mathbf{N}^{j e} \mathbf{T}^{j^{\tau}}$$

14 Will-be-set-by-IN-TECH

The global location of an arbitrary point *P* on a flexible body can be described as

be differentiated twice with respect to time to obtain the acceleration equation,

*<sup>f</sup>* represents the flexible displacement of point *p* and **s**�

(*x*� , *y*� , *z*�

**r**¨ = **R**¨ + **Π** (**s**¨

.

**s**� = **N***<sup>j</sup>* (**s**�

elements. If a reference frame �(*e*1,*e*2,*e*3) is attached to the *j*

**r** = **R** + **Π s**� = **R** + **Π** (**s**�

where **Π** represents an Euler parameter transformation matrix (Wittenburg, 1977) from the

*<sup>o</sup>* is the initial undeformed position of point *p* with respect to the body-fixed reference frame,

vector **R** and Euler transformation matrix **Π** are functions of time. Both sides of eq.(47) may

where ˙*ω* and **s**¨� are, respectively, the angular acceleration of the body and the second derivative of the elastic displacement of point *p* and ˜*ω* represents a 3 × 3 skew-symmetric matrix which performs a cross-product multiplication and represents the angular velocity

To describe the deformation of a flexible body, one can discretize the structure into finite

*on* + **s**�

**N***<sup>j</sup>* = **Q***<sup>j</sup>* **N***je* **T***<sup>j</sup>*

� + ˜*ω*˙ **s**� + *ω*˜ *ω*˜ **s**� + 2 ˜*ω* **s**˙

*f n*) = **<sup>N</sup>***<sup>j</sup>* **<sup>s</sup>**

*T*

�*j*

*<sup>o</sup>* + **s**�

) coordinate system to the global reference frame �(*XYZ*). The vector

(= **s**� *<sup>o</sup>* + **s**�

) translates and rotates relative to the global frame, the

�

*<sup>f</sup>*) (47)

*<sup>f</sup>*) represents a flexible arm

) (48)

*th* element, the displacement

*<sup>n</sup>* (49)

Fig. 4. Flexible arm element

(*X*� ,*Y*� , *Z*�

Since the body-fixed frame ��

vector of the body-fixed frame ��

of point *p* on a flexible body can be given by

structure ��

element *N*1.

**s**�

**s**�

with

where **s**� *on* and **s**� *f n* are the non-deformed and the nodal visco-elastic displacement of point *p* and **s** �*j <sup>n</sup>* is the total displacement nodal vector of the *j th* element. Note that **N***<sup>j</sup>* is a finite element spatial interpolation function from the *j th* element to the body frame �� where **<sup>Q</sup>***<sup>j</sup>* represents a transformation matrix from the frame �(*e*1,*e*2,*e*3) to the body reference frame �(*x*¯, *y*¯, *z*¯) and **T***<sup>j</sup>* is a transfert matrix assembled with the **Q***<sup>j</sup>* matrices.

Figures 5(a) and 5(b) represent the 3-D beam and the triangular shell elements, respectively. For the 3-D beam element, the two spatial interpolation function is given

$$N\_1^{j\epsilon} = \frac{1}{2}(1 - \xi) \quad \text{and} \quad N\_2^{j\epsilon} = \frac{1}{2}(1 + \xi) \tag{50}$$

where *ξ* is an adimensional variable mesured along each beam element, with *ξ* = −1 at node 1 and *ξ* = 1 at node 2. For the triangular shell element, the three spatial interpolation functions are given by

$$\mathbf{N}\_1^{\mathbb{I}^\varepsilon} = \mathbf{1} - \mathfrak{F} - \eta \quad ; \quad \mathbf{N}\_2^{\mathbb{I}^\varepsilon} = \mathfrak{F} \quad ; \quad \mathbf{N}\_3^{\mathbb{I}^\varepsilon} = \eta \tag{51}$$

where *ξ* and *η* are adimensional variables mesured along the triangular element.

Fig. 5. a) Flexible beam linear finite element b) Flexible shell triangular finite element

Vectors **e** *j* <sup>1</sup>, **e** *j* <sup>2</sup> and **e** *j* <sup>3</sup>, in figure 5, form a reference surface base for the *j th* element which is independent of the nodal numbering. Hence, the transfert matrix between the frame �(*e*1,*e*2,*e*3) to the body reference frame �(*x*¯, *<sup>y</sup>*¯, *<sup>z</sup>*¯) can be written as **<sup>Q</sup>***<sup>j</sup>* = (*e*1,*e*2,*e*3)*<sup>j</sup>* . Then, the

Using Linear Graph Theory 17

Simulation of Flexible Multibody Systems Using Linear Graph Theory 365

is straight-forward. The matrix **M***RR* is a diagonal matrix whose elements are equal to the mass of the element. The matrix **M***f f* is the conventional mass matrix that arises in any finite element analysis. Non-linearities have been preserved throughout the formulation as each element may contain branch coordinates and quantities which vary with time. The off-diagonal mass sub-matrices represent coupling effects between translational, rotational and flexible elements. The matrices **M***R f* and **M***<sup>θ</sup> <sup>f</sup>* represent the inertia coupling between gross body motion and small body deformation. These matrices, in addition to the inertia tensor **M***θθ* , are implicitly time dependent since they are functions of the body generalized

In a similar fashion, the global quadratic velocity vectors can be assembled for the *j*

**Π**

⎫ ⎪⎪⎪⎪⎬

⎪⎪⎪⎪⎭

� *ω*˜ *ω*˜ *N* **s**�

*<sup>v</sup> dv* = [*δ***R***<sup>T</sup> δθ<sup>T</sup> δ***s**

�*j*

*<sup>n</sup>* + **G***<sup>j</sup>* **Ξ***<sup>j</sup>* **s**˙

�*j*

*<sup>n</sup>* + 2 ˜*ω N* **s**˙

*th* finite element can also be written at once,

⎧ ⎪⎪⎪⎪⎨

**F***R*

⎫ ⎪⎪⎪⎪⎬ *j*

⎪⎪⎪⎪⎭

*th* finite element was defined earlier,

*σ<sup>j</sup> dv* (61)

*<sup>n</sup>* (62)

*<sup>n</sup>* (63)

*th* finite element

**F***θ*

**F***f*

⎪⎪⎪⎪⎩

�*j n T* ] � *n*

**Λ***<sup>T</sup>* **s**˜� *<sup>T</sup>*

*<sup>N</sup>j<sup>T</sup>*

The inertial forcing vector **Q***<sup>q</sup>* is made up of all the terms in the equations of motion which do

⎧ ⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎩

*th* finite

(60)

�*<sup>j</sup> dv* (59)

coordinates.

element of the flexible body,

⎧ ⎪⎪⎪⎪⎨ **Q***q R* **Q***q θ* **Q***q f*

The virtual work of body forces **f***<sup>v</sup>* for the *j*

*<sup>δ</sup><sup>W</sup> f orces* 6

�*j* = � *Vj δ***r***<sup>T</sup>* **f** *j*

Finally, the virtual work for internal constraints of the *j*

�

the behaviour law between stress and strain is established as,

*δWinternal* 5

*σ<sup>j</sup>* = **H***<sup>j</sup> �<sup>j</sup>* + **G***<sup>j</sup> �*˙ *<sup>j</sup>* = **H***<sup>j</sup>* **Ξ***<sup>j</sup>* **s**

interpolation deformation functions. Hence, the internal virtual work for the *j*

�*j* = *δ* **s** �*j n T* **K***j f f* **s** �*j <sup>n</sup>* + *δ* **s** �*j n T* **C***j f f* **s**˙ �*j*

�*j* = � *Vj <sup>δ</sup>�j<sup>T</sup>*

where *�j<sup>T</sup>* and *<sup>σ</sup><sup>j</sup>* represent, respectively, Cauchy's deformation and strain vectors. For a viscous elastic material governed by the Kelvin-Voigt model (Christensen, 1975; Flugge, 1967),

where **H***<sup>j</sup>* and **G***<sup>j</sup>* are, respectively, the elastic and viscous tensors for this behaviour law and are function of Young's modulus and poisson's coefficient. The matrix **Ξ***<sup>j</sup>* represents spatial

�

can be written under the following form,

�

*δWinternal* 5

⎫ ⎪⎪⎪⎪⎬ *j*

= − � *Vj <sup>ρ</sup><sup>j</sup>*

⎪⎪⎪⎪⎭

⎪⎪⎪⎪⎩

not contain second derivatives.

diagonal transfert matrix **<sup>T</sup>***<sup>j</sup>* between the element local frame �(*e*1,*e*2,*e*3)*<sup>j</sup>* and the deformable body frame �(*x*¯, *<sup>y</sup>*¯, *<sup>z</sup>*¯) can be written with six rotation tensors **<sup>Q</sup>***<sup>j</sup>* (of dimension 3×3).

Finally, the acceleration expression of point *p* on the flexible body can then be rewritten from the discretized form of **s**� , from eq.(48),

$$\ddot{\mathbf{r}} = \mathbf{R} - \Pi \,\tilde{\mathbf{s}}' \Lambda \,\boldsymbol{\theta} + \Pi \, N^{\dot{l}} \, \tilde{\mathbf{s}}\_{\text{\tiny{\alpha}}}^{\;{\prime}\;{}} + \Pi \, (\tilde{\boldsymbol{\omega}} \,\tilde{\boldsymbol{\omega}} \, N^{\dot{l}} \, \mathbf{s}\_{\text{\tiny{\alpha}}}^{\prime \;{}} + 2 \,\tilde{\boldsymbol{\omega}} \, N^{\dot{l}} \, \dot{\mathbf{s}}\_{\text{\tiny{\alpha}}}^{\prime \;{}}) \tag{52}$$

where *ω* = **Λ** *θ*˙ with **Λ** representing an Euler transformation matrix for the angular velocity of the body with respect to the body reference frame �� . The generalized coordinate vector **q** for a flexible body can then be assembled from the position vector **R**, orientation *θ* of the origin of the body reference frame �� and the nodal coordinate vector **s**� *<sup>n</sup>* with **q** = { **R** , *θ*, **s**� *<sup>n</sup>*}*T*.

Consider a volume element *dv* = *dx dy dz* near point *p* on a deformable body. The constitutive virtual work equation of this volume element *dv* can be separated in three different virtual work components (Shi et al., 2001; Tennich, 1994),

$$
\delta \mathcal{W}\_5 = \delta \mathcal{W}\_5^{interval} - \delta \mathcal{W}\_5^{force} + \delta \mathcal{W}\_5^{internal} = 0 \tag{53}
$$

with

$$
\delta \mathcal{W}\_5^{inertial} = \int\_V \delta \mathbf{r}^T \rho \,\ddot{\mathbf{r}} \, dv \tag{54}
$$

$$
\delta \mathcal{W}\_5^{\text{forces}} = \int\_V \delta \mathbf{r}^T \mathbf{f}\_v \, dv \tag{55}
$$

$$
\delta \mathcal{W}\_5^{\text{internal}} = \int\_V \delta \mathbf{e}^T \,\sigma \, dv \tag{56}
$$

where *δ�* is the column matrix of varied strain components in the local frame; (*ρ* **r**¨) is the inertial force per unit volume; *σ* contains the corresponding internal stress components and **f***<sup>v</sup>* is the body volume forces including gravity.

For a deformable body, the virtual work of all inertial forces can be written from equation (54) under the following general form,

$$
\delta \delta \mathbf{W}\_5^{\text{inertial}} = \delta \mathbf{q}^T \mathbf{M} \ddot{\mathbf{r}} - \delta \mathbf{q}^T \mathbf{Q}^q \tag{57}
$$

where **M** and **Q***<sup>q</sup>* represent the global mass matrix and the quadratic velocity vector including Coriolis term, respectively. The global mass matrix of the *j th* finite element of the flexible body can be assembled from the elementary mass matrices,

$$\mathbf{M}^{j} = \int\_{V^{j}} \rho^{j} \begin{bmatrix} I & -\boldsymbol{\Pi} \ \mathbf{\tilde{s}}^{\prime} \ \boldsymbol{\Lambda} & \boldsymbol{\Pi} \ \boldsymbol{N}^{j} \\\\ & \boldsymbol{\Lambda}^{\prime} \ \mathbf{\tilde{s}}^{\prime T} \ \mathbf{\tilde{s}}^{\prime} \ \boldsymbol{\Lambda} & -\boldsymbol{\Lambda}^{\prime} \ \mathbf{\tilde{s}}^{\prime T} \ \boldsymbol{N}^{j} \\\\ & & \boldsymbol{N}^{j} \ \boldsymbol{N}^{j} \end{bmatrix} dv = \begin{bmatrix} \mathbf{M}\_{RR} \ \mathbf{M}\_{R\theta} \ \mathbf{M}\_{Rf} \\\\ & \mathbf{M}\_{\theta\theta} \ \mathbf{M}\_{\theta f} \\\\ & \mathbf{M}\_{ff} \end{bmatrix} \tag{58}$$

where *ρ<sup>j</sup>* and *V<sup>j</sup>* are, respectively, the mass density and the volume of the *j th* element. The elements of the mass matrix **M** are the coefficient of **¨q** appearing in the differential equation corresponding to the branch coordinate **q**. Using equation (53), it is easy to assemble the coefficient matrix **M**, element by element, from the transformation matrices between reference frames. The formulation of the time-invariant matrices **M***RR* and **M***f f*

16 Will-be-set-by-IN-TECH

diagonal transfert matrix **<sup>T</sup>***<sup>j</sup>* between the element local frame �(*e*1,*e*2,*e*3)*<sup>j</sup>* and the deformable

Finally, the acceleration expression of point *p* on the flexible body can then be rewritten from

where *ω* = **Λ** *θ*˙ with **Λ** representing an Euler transformation matrix for the angular velocity of

a flexible body can then be assembled from the position vector **R**, orientation *θ* of the origin

Consider a volume element *dv* = *dx dy dz* near point *p* on a deformable body. The constitutive virtual work equation of this volume element *dv* can be separated in three different virtual

> � *V*

� *V*

> � *V*

where *δ�* is the column matrix of varied strain components in the local frame; (*ρ* **r**¨) is the inertial force per unit volume; *σ* contains the corresponding internal stress components and

For a deformable body, the virtual work of all inertial forces can be written from equation (54)

where **M** and **Q***<sup>q</sup>* represent the global mass matrix and the quadratic velocity vector including

⎤ ⎥ ⎥ ⎥ ⎥ ⎦

*dv* =

<sup>5</sup> <sup>−</sup> *<sup>δ</sup><sup>W</sup> f orces*

*δWinertial* <sup>5</sup> =

*<sup>δ</sup><sup>W</sup> f orces* <sup>5</sup> =

*δWinternal* <sup>5</sup> =

*δWinertial*

*<sup>I</sup>* <sup>−</sup>**<sup>Π</sup> <sup>s</sup>**˜� **Λ Π** *<sup>N</sup><sup>j</sup>*

*Sym*. *<sup>N</sup>j<sup>T</sup> <sup>N</sup><sup>j</sup>*

where *ρ<sup>j</sup>* and *V<sup>j</sup>* are, respectively, the mass density and the volume of the *j*

The elements of the mass matrix **M** are the coefficient of **¨q** appearing in the differential equation corresponding to the branch coordinate **q**. Using equation (53), it is easy to assemble the coefficient matrix **M**, element by element, from the transformation matrices between reference frames. The formulation of the time-invariant matrices **M***RR* and **M***f f*

**<sup>Λ</sup>***<sup>T</sup>* **<sup>s</sup>**˜� *<sup>T</sup>* **<sup>s</sup>**˜� **<sup>Λ</sup>** <sup>−</sup>**Λ***<sup>T</sup>* **<sup>s</sup>**˜� *<sup>T</sup> <sup>N</sup><sup>j</sup>*

Coriolis term, respectively. The global mass matrix of the *j*

can be assembled from the elementary mass matrices,

⎡ ⎢ ⎢ ⎢ ⎢ ⎣ *<sup>n</sup>* + **Π** (*ω*˜ *ω*˜ *N<sup>j</sup>* **s**

<sup>5</sup> <sup>+</sup> *<sup>δ</sup>Winternal*

�*j*

*<sup>n</sup>* + 2 ˜*ω N<sup>j</sup>* **s**˙

�*j*

. The generalized coordinate vector **q** for

*<sup>n</sup>* with **q** = { **R** , *θ*, **s**�

<sup>5</sup> = 0 (53)

*δ***r***<sup>T</sup> ρ* **r**¨ *dv* (54)

*δ***r***<sup>T</sup>* **f***<sup>v</sup> dv* (55)

*δ�<sup>T</sup> σ dv* (56)

*th* finite element of the flexible body

⎤ ⎥ ⎥ ⎥ ⎥ ⎦ *j*

(58)

*th* element.

**M***θθ* **M***<sup>θ</sup> <sup>f</sup>*

**M***RR* **M***R<sup>θ</sup>* **M***R f*

*Sym*. **M***f f*

<sup>5</sup> <sup>=</sup> *<sup>δ</sup>***q***<sup>T</sup>* **<sup>M</sup> <sup>r</sup>**¨ <sup>−</sup> *<sup>δ</sup>***q***<sup>T</sup>* **<sup>Q</sup>***<sup>q</sup>* (57)

⎡ ⎢ ⎢ ⎢ ⎢ ⎣ *<sup>n</sup>* ) (52)

*<sup>n</sup>*}*T*.

�*j*

body frame �(*x*¯, *<sup>y</sup>*¯, *<sup>z</sup>*¯) can be written with six rotation tensors **<sup>Q</sup>***<sup>j</sup>* (of dimension 3×3).

, from eq.(48),

of the body reference frame �� and the nodal coordinate vector **s**�

*δW*<sup>5</sup> = *δWinertial*

� **Λ** *θ*¨ + **Π** *N<sup>j</sup>* **s**¨

**<sup>r</sup>**¨ <sup>=</sup> **<sup>R</sup>**¨ <sup>−</sup> **<sup>Π</sup> <sup>s</sup>**˜

the body with respect to the body reference frame ��

work components (Shi et al., 2001; Tennich, 1994),

**f***<sup>v</sup>* is the body volume forces including gravity.

under the following general form,

**M***<sup>j</sup>* = � *Vj <sup>ρ</sup><sup>j</sup>*

the discretized form of **s**�

with

is straight-forward. The matrix **M***RR* is a diagonal matrix whose elements are equal to the mass of the element. The matrix **M***f f* is the conventional mass matrix that arises in any finite element analysis. Non-linearities have been preserved throughout the formulation as each element may contain branch coordinates and quantities which vary with time. The off-diagonal mass sub-matrices represent coupling effects between translational, rotational and flexible elements. The matrices **M***R f* and **M***<sup>θ</sup> <sup>f</sup>* represent the inertia coupling between gross body motion and small body deformation. These matrices, in addition to the inertia tensor **M***θθ* , are implicitly time dependent since they are functions of the body generalized coordinates.

In a similar fashion, the global quadratic velocity vectors can be assembled for the *j th* finite element of the flexible body,

$$\begin{Bmatrix} \mathbf{Q}\_R^q \\ \mathbf{Q}\_\theta^q \\ \mathbf{Q}\_f^q \end{Bmatrix}^\prime = - \int\_{V^\prime} \rho^j \left\{ \begin{aligned} \mathbf{H} \\ \mathbf{A}^T \tilde{\mathbf{s}}^{\prime T} \\\\ \mathbf{N}^{jT} \end{aligned} \right\} \left[ \tilde{\boldsymbol{\omega}}^\prime \tilde{\boldsymbol{\omega}}^\prime \mathbf{N} \mathbf{s}\_n^\prime + 2 \,\tilde{\boldsymbol{\omega}}^\prime \boldsymbol{N} \,\mathbf{s}\_n^\prime \right]^j dv \tag{59}$$

The inertial forcing vector **Q***<sup>q</sup>* is made up of all the terms in the equations of motion which do not contain second derivatives.

The virtual work of body forces **f***<sup>v</sup>* for the *j th* finite element can also be written at once,

$$
\left(\delta \mathbf{W}\_6^{fovcs}\right)^j = \int\_{V^\dagger} \delta \mathbf{r}^T \mathbf{f}\_v^j \, dv = \begin{bmatrix} \delta \mathbf{R}^T & \delta \boldsymbol{\theta}^T & \delta \mathbf{s}\_n^{\prime j^T} \end{bmatrix} \begin{Bmatrix} \mathbf{F}\_R \\\\ \mathbf{F}\_\theta \\\\ \mathbf{F}\_f \end{Bmatrix} \tag{60}
$$

Finally, the virtual work for internal constraints of the *j th* finite element was defined earlier,

$$\left(\delta \mathsf{W}\_{5}^{\mathrm{internal}}\right)^{j} = \int\_{V^{\flat}} \delta \mathsf{e}^{j^{T}} \,\mathsf{e}^{\flat} \,d\mathsf{v} \tag{61}$$

where *�j<sup>T</sup>* and *<sup>σ</sup><sup>j</sup>* represent, respectively, Cauchy's deformation and strain vectors. For a viscous elastic material governed by the Kelvin-Voigt model (Christensen, 1975; Flugge, 1967), the behaviour law between stress and strain is established as,

$$\sigma^{j} = \mathbf{H}^{j}\,\mathbf{e}^{j} + \mathbf{G}^{j}\,\dot{\mathbf{e}}^{j} = \mathbf{H}^{j}\,\boldsymbol{\Xi}^{j}\,\mathbf{s}\_{\text{n}}^{\prime j} + \mathbf{G}^{j}\,\boldsymbol{\Xi}^{j}\,\dot{\mathbf{s}}\_{\text{n}}^{\prime j} \tag{62}$$

where **H***<sup>j</sup>* and **G***<sup>j</sup>* are, respectively, the elastic and viscous tensors for this behaviour law and are function of Young's modulus and poisson's coefficient. The matrix **Ξ***<sup>j</sup>* represents spatial interpolation deformation functions. Hence, the internal virtual work for the *j th* finite element can be written under the following form,

$$\left(\delta \mathbf{W}\_5^{internal}\right)^j = \delta \mathbf{s}\_n'^T \mathbf{K}\_{ff}^j \mathbf{s}\_n'^j + \delta \mathbf{s}\_n'^T \mathbf{C}\_{ff}^j \dot{\mathbf{s}}\_n'^j \tag{63}$$

Using Linear Graph Theory 19

Simulation of Flexible Multibody Systems Using Linear Graph Theory 367

in the joint reference frame. By introducing the tensor **E***k*, obtained in equation (26), to eliminate all superflous constraints and substituting the relations for the derivatives of the transformation matrices, the translational and rotational geometrical constraint equations (68)

*<sup>k</sup>* <sup>−</sup> (*ω<sup>j</sup>* <sup>+</sup> *<sup>α</sup>*˙ *<sup>j</sup>*

*<sup>k</sup>* are angular velocities of bodies *i* and *j* and kinematic joint *k*, expressed

⎧ ⎪⎨

**<sup>Π</sup>**¨ *k T*

**<sup>r</sup>** + <sup>2</sup> **<sup>Π</sup>**˙ *k T*

**<sup>Π</sup>**˙ *k T* **<sup>Π</sup>**(*<sup>ω</sup>* + *<sup>α</sup>*˙) + **<sup>Π</sup>***k T* **<sup>Π</sup>** *<sup>ω</sup>*˜ *<sup>α</sup>*˙

⎪⎩

)*<sup>k</sup>* = 0 (69)

**r**˙ + **Π***k T*(**Ω**)

⎫ ⎪⎬

⎪⎭

(70)

)*<sup>k</sup>* + *ω<sup>k</sup>*

at kinematic joint *k* between points *a* and *b* can be written,

and (69) can be derived twice with respect to time to obtain,

⎤ ⎦ ⎧ ⎪⎪⎪⎪⎨ **R**¨

⎫ ⎪⎪⎪⎪⎬

⎪⎪⎪⎪⎭

= −

⎧ ⎨ ⎩

**r**¨�*k k ω*˙ *k k* ⎫ ⎬ <sup>⎭</sup> <sup>−</sup> **<sup>E</sup>***<sup>k</sup>*

Together, the topological and terminal equations form a necessary and sufficient set of motion equations for FMS. The variational equations of motion for FMS may be obtained from the tree joint element which connects the whole system of bodies to the ground body through a path consisting entirely of branches. Substituting the general form of virtual work terminal equations for each element in the cutset equation for this tree body constraint or joint, one gets a complete set of equations of motion for the FMS. In general, the branch coordinates are not independent, but are related by the kinematic constraint equations. Thus, these constraint acceleration equations (70) must be appended to the set of dynamic equations (67), giving all the equations to solve for branch coordinates and finally yields the classical system

By exploiting GT methods and virtual work principles, this formulation has been implemented into a computer program called **FlexNet** (for FLEXible NETwork). Given only a spanning tree with the terminal expressions for deformable bodies in the system, this program automatically generates the equations of motion. Since the selection of a proper tree only requires an elementary knowledge of graph theory, the objective consists in choosing an optimal joint tree to keep the number of branch coordinates and constraint equations to a minimum. Since the equations of motion for deformable bodies are function of a good discretization, all the constant tensors that are function of finite elements have been identified and generated by a finite element preprocessor. Hence, the preprocessor generates look-up tables that can be exploited when needed during the dynamic simulation of FMS. To enforce the constraints at the position and velocity levels, an energy algorithm proposed by (Bauchau

A similar symbolic software that fully exploits this graph-theoretic approach in multi-domain modelling is MapleSim, commercialized by Maplesoft. This GT formulation has been extended in the second version of the software (MapleSimII, 2011) to the analysis of mechatronic and other multidisciplinary systems such as mechanical, electrical, thermal, signal/control and hydraulic systems which can all be naturally combined in a model diagram

*θ*¨

**s**¨� *n*

⎪⎪⎪⎪⎩

.

where *ω<sup>i</sup>*

**<sup>E</sup>***k***Π***<sup>k</sup> <sup>T</sup>*

with **Ω** = 2**Π***ω*˜ **s**˙ �

**5. Examples**

⎡ ⎣

*I* −**Π s**˜� **Π L***<sup>t</sup>*

0 **Π Π L***<sup>r</sup>*

*<sup>n</sup>* + **Π** *ω*˜ *ω*˜ **s**�

differential-algebraic equations of motion for FMS.

et al., 1995) has also been implemented.

, *ω<sup>j</sup>* and *ω<sup>k</sup>*

(*ω<sup>i</sup>* + *α*˙ *<sup>i</sup>*

with

$$\mathbf{K}\_{ff}^{j} = \int\_{V^{j}} [\boldsymbol{\Xi}^{T} \mathbf{H} \cdot \boldsymbol{\Xi}]^{j} \, dv \tag{64}$$

$$\mathbf{C}\_{ff}^{j} = \int\_{V^{j}} [\mathbf{E}^{T} \mathbf{G} \cdot \mathbf{E}]^{j} \, dv \tag{65}$$

Equations (64) and (65) are, respectively, the stiffness matrix and the viscous damping matrix of the *j th* element. With the body kinetic and strain energy in hand, the virtual work can be exploited to generate the system equations of motion of a single flexible body. Hence, the general form of virtual work terminal equation for each body *δW*5*i*, required in the cutset equation, can be written

$$\delta \mathbf{q}^T \left\{ \mathbf{M} \,\ddot{\mathbf{q}} + \mathbf{C} \,\dot{\mathbf{q}} + \mathbf{K} \,\mathbf{q} - \mathbf{F} - \mathbf{Q} \right\} = 0 \tag{66}$$

This variational equation holds for arbitrary virtual displacement *δ***q**, so the terms in parentheses are the well-known equations of motion in standard form. Hence, for each flexible body in the system, the translational, rotational and viscous-elastic equations of motion can now be assembled into a partitioned matrix formulation,

$$
\begin{bmatrix}
\mathbf{M}\_{RR}\,\mathbf{M}\_{R\theta}\,\mathbf{M}\_{Rf} \\
\mathbf{M}\_{\theta\theta}\,\mathbf{M}\_{\theta f} \\
\mathbf{s}\_{n} \\
\mathbf{s}\_{ff}
\end{bmatrix}
\begin{Bmatrix}
\ddot{\mathbf{R}} \\
\ddot{\boldsymbol{\theta}} \\
\ddot{\mathbf{s}}\_{n}^{f}
\end{Bmatrix} + \begin{bmatrix}
0 & 0 & 0 \\
0 & 0 & 0 \\
0 & 0 & \mathbf{C}\_{ff}
\end{bmatrix} \begin{Bmatrix}
\dot{\mathbf{R}} \\
\dot{\boldsymbol{\theta}} \\
\dot{\mathbf{s}}\_{n}^{f}
\end{Bmatrix} + \begin{bmatrix}
0 & 0 & 0 \\
0 & 0 & 0 \\
0 & 0 & \mathbf{K}\_{ff}
\end{bmatrix} \begin{Bmatrix}
\mathbf{R} \\
\boldsymbol{\theta} \\
\boldsymbol{\theta} \\
\mathbf{s}\_{n}^{f}
\end{Bmatrix} = \begin{Bmatrix}
\mathbf{F}\mathbf{Q}\_{R}^{\theta} \\
\mathbf{F}\mathbf{Q}\_{\theta}^{\theta} \\
\mathbf{F}\mathbf{Q}\_{f}^{\theta}
\end{Bmatrix} \tag{67}
$$

where **FQ***<sup>q</sup> <sup>i</sup>* <sup>=</sup> **<sup>F</sup>***<sup>i</sup>* <sup>+</sup> **<sup>Q</sup>***<sup>q</sup> <sup>i</sup>* for (*i* = *R*, *θ*, *f*). Since the total virtual work of the system of flexible bodies is the sum of the individual virtual work, the algorithm must incorporate the sum of all bodies in the formulation using a global cutset equation. Then, the variational equations of motion for flexible multibody systems may be obtained from the tree joint element which connects the whole system of bodies to the ground body through a path consisting entirely of branches. To get the contribution of all physical components to the system, the terminal virtual work equations are written for all bodies in the tree. By summing the cutset equation, similar to eq.(5), for all tree flexible bodies, the contribution of all physical components to the system virtual work equations are captured. The dynamic form of these expressions and fundamental properties of virtual work guarantee that a unique solution of the flexible set of equations of motion exists.

Depending on the topology of the mechanical system and the specified tree, the branch coordinates may not be independent quantities. If the number of coordinates is greater than the degrees of freedom, then constraint equations are required to express the dependency between coordinates. The constraint equations are obtained directly from the joints and motion drivers in the cotree, by projecting their circuit equations, similar to eq.(7), onto the joint reaction space. Then, if kinematic joint *k* establishes a translational connexion between points *a* and *b* located on bodies *i* and *j*, the following vectorial constraint expression must be respected,

$$\mathbf{I}\mathbf{I}^{k}\left[\mathbf{r}^{i}-\mathbf{r}^{j}\right]+\mathbf{r}\_{k}^{\prime k}=\mathbf{0}\tag{68}$$

where **r***<sup>i</sup>* and **r***<sup>j</sup>* are the position vectors of the fixation points of the kinematic joint *k* on bodies *i* and *j* while **r**�*<sup>k</sup> <sup>k</sup>* represents the length of the joint. In a similar fashion, the rotational connexion

at kinematic joint *k* between points *a* and *b* can be written,

$$(\omega^i + \dot{\mathfrak{a}}^i)\_k + \omega^k\_k - (\omega^j + \dot{\mathfrak{a}}^j)\_k = 0 \tag{69}$$

where *ω<sup>i</sup>* , *ω<sup>j</sup>* and *ω<sup>k</sup> <sup>k</sup>* are angular velocities of bodies *i* and *j* and kinematic joint *k*, expressed in the joint reference frame. By introducing the tensor **E***k*, obtained in equation (26), to eliminate all superflous constraints and substituting the relations for the derivatives of the transformation matrices, the translational and rotational geometrical constraint equations (68) and (69) can be derived twice with respect to time to obtain,

$$\mathbf{E}^{k}\Pi^{k}\begin{bmatrix}I&-\boldsymbol{\Pi}\ \boldsymbol{\tilde{s}}\ \boldsymbol{\Pi}\,\mathbf{L}\_{\ell}\\\\ \boldsymbol{0}&\boldsymbol{\Pi}\ \boldsymbol{\Pi}\,\mathbf{L}\_{\ell}\end{bmatrix}\begin{Bmatrix}\ddot{\boldsymbol{\tilde{R}}}\\\\ \ddot{\boldsymbol{\theta}}\\\\ \ddot{\boldsymbol{s}}\_{n}^{\prime}\end{Bmatrix}=-\begin{Bmatrix}\ddot{\mathbf{r}}\_{k}^{\prime k}\\\\ \dot{\boldsymbol{\omega}}\_{k}^{k}\end{Bmatrix}-\mathbb{E}^{\boldsymbol{k}}\left\{\begin{gathered}\boldsymbol{\Pi}^{\boldsymbol{k}\,\top}\,\mathbf{r}+2\,\boldsymbol{\Pi}^{\boldsymbol{k}\,\top}\,\dot{\mathbf{r}}+\boldsymbol{\Pi}^{\boldsymbol{k}\,\top}\,(\mathbf{\Omega})\\\\\boldsymbol{\Pi}^{\boldsymbol{k}\,\top}\,\boldsymbol{\Pi}(\boldsymbol{\omega}+\dot{\boldsymbol{\omega}})+\boldsymbol{\Pi}^{\boldsymbol{k}\,\top}\,\boldsymbol{\Pi}\,\boldsymbol{\tilde{\omega}}\,\dot{\boldsymbol{\omega}}\end{gathered}\right\}\tag{70}$$

with **Ω** = 2**Π***ω*˜ **s**˙ � *<sup>n</sup>* + **Π** *ω*˜ *ω*˜ **s**� .

Together, the topological and terminal equations form a necessary and sufficient set of motion equations for FMS. The variational equations of motion for FMS may be obtained from the tree joint element which connects the whole system of bodies to the ground body through a path consisting entirely of branches. Substituting the general form of virtual work terminal equations for each element in the cutset equation for this tree body constraint or joint, one gets a complete set of equations of motion for the FMS. In general, the branch coordinates are not independent, but are related by the kinematic constraint equations. Thus, these constraint acceleration equations (70) must be appended to the set of dynamic equations (67), giving all the equations to solve for branch coordinates and finally yields the classical system differential-algebraic equations of motion for FMS.

#### **5. Examples**

18 Will-be-set-by-IN-TECH

Equations (64) and (65) are, respectively, the stiffness matrix and the viscous damping matrix

This variational equation holds for arbitrary virtual displacement *δ***q**, so the terms in parentheses are the well-known equations of motion in standard form. Hence, for each flexible body in the system, the translational, rotational and viscous-elastic equations of motion can

> ⎤ ⎥ ⎥ ⎥ ⎥ ⎦

⎧ ⎪⎪⎪⎪⎨ **R**˙

⎫ ⎪⎪⎪⎪⎬

⎪⎪⎪⎪⎭

+

⎡ ⎢ ⎢ ⎢ ⎢ ⎣

*θ*˙

**s**˙ � *n*

⎪⎪⎪⎪⎩

bodies is the sum of the individual virtual work, the algorithm must incorporate the sum of all bodies in the formulation using a global cutset equation. Then, the variational equations of motion for flexible multibody systems may be obtained from the tree joint element which connects the whole system of bodies to the ground body through a path consisting entirely of branches. To get the contribution of all physical components to the system, the terminal virtual work equations are written for all bodies in the tree. By summing the cutset equation, similar to eq.(5), for all tree flexible bodies, the contribution of all physical components to the system virtual work equations are captured. The dynamic form of these expressions and fundamental properties of virtual work guarantee that a unique solution of the flexible set of

Depending on the topology of the mechanical system and the specified tree, the branch coordinates may not be independent quantities. If the number of coordinates is greater than the degrees of freedom, then constraint equations are required to express the dependency between coordinates. The constraint equations are obtained directly from the joints and motion drivers in the cotree, by projecting their circuit equations, similar to eq.(7), onto the joint reaction space. Then, if kinematic joint *k* establishes a translational connexion between points *a* and *b* located on bodies *i* and *j*, the following vectorial constraint expression must be

> ] + **r** �*k*

*<sup>k</sup>* represents the length of the joint. In a similar fashion, the rotational connexion

where **r***<sup>i</sup>* and **r***<sup>j</sup>* are the position vectors of the fixation points of the kinematic joint *k* on bodies

[**Ξ***<sup>T</sup>* **H Ξ**]

[**Ξ***<sup>T</sup>* **G Ξ**]

*th* element. With the body kinetic and strain energy in hand, the virtual work can be exploited to generate the system equations of motion of a single flexible body. Hence, the general form of virtual work terminal equation for each body *δW*5*i*, required in the cutset

*<sup>δ</sup>***q***<sup>T</sup>* {**M ¨q** <sup>+</sup> **C ˙q** <sup>+</sup> **K q** <sup>−</sup> **<sup>F</sup>** <sup>−</sup> **<sup>Q</sup>**} <sup>=</sup> <sup>0</sup> (66)

00 0

⎤ ⎥ ⎥ ⎥ ⎥ ⎦

⎧ ⎪⎪⎪⎨ **R**

⎫ ⎪⎪⎪⎬

⎪⎪⎪⎭

*<sup>k</sup>* = 0 (68)

=

⎧ ⎪⎪⎪⎪⎨ **FQ***<sup>q</sup> R* **FQ***<sup>q</sup> θ* **FQ***<sup>q</sup> f*

⎫ ⎪⎪⎪⎪⎬

⎪⎪⎪⎪⎭

(67)

⎪⎪⎪⎪⎩

*θ*

**s**� *n*

⎪⎪⎪⎩

00 0

0 0 **K***f f*

*<sup>i</sup>* for (*i* = *R*, *θ*, *f*). Since the total virtual work of the system of flexible

*<sup>j</sup> dv* (64)

*<sup>j</sup> dv* (65)

**K***j f f* = � *Vj*

**C***j f f* = � *Vj*

now be assembled into a partitioned matrix formulation,

⎫ ⎪⎪⎪⎪⎬

⎪⎪⎪⎪⎭

+

⎡ ⎢ ⎢ ⎢ ⎢ ⎣

00 0

00 0

0 0 **C***f f*

**<sup>Π</sup>***<sup>k</sup> <sup>T</sup>* [**r** *<sup>i</sup>* <sup>−</sup> **<sup>r</sup>***<sup>j</sup>*

with

of the *j*

⎡ ⎢ ⎢ ⎢ ⎢ ⎣

where **FQ***<sup>q</sup>*

respected,

*i* and *j* while **r**�*<sup>k</sup>*

equation, can be written

**M***RR* **M***R<sup>θ</sup>* **M***R f*

*Sym*. **M***f f*

equations of motion exists.

**M***θθ* **M***<sup>θ</sup> <sup>f</sup>*

*<sup>i</sup>* <sup>=</sup> **<sup>F</sup>***<sup>i</sup>* <sup>+</sup> **<sup>Q</sup>***<sup>q</sup>*

⎤ ⎥ ⎥ ⎥ ⎥ ⎦ ⎧ ⎪⎪⎪⎪⎨ **R**¨

*θ*¨

**s**¨� *n*

⎪⎪⎪⎪⎩

By exploiting GT methods and virtual work principles, this formulation has been implemented into a computer program called **FlexNet** (for FLEXible NETwork). Given only a spanning tree with the terminal expressions for deformable bodies in the system, this program automatically generates the equations of motion. Since the selection of a proper tree only requires an elementary knowledge of graph theory, the objective consists in choosing an optimal joint tree to keep the number of branch coordinates and constraint equations to a minimum. Since the equations of motion for deformable bodies are function of a good discretization, all the constant tensors that are function of finite elements have been identified and generated by a finite element preprocessor. Hence, the preprocessor generates look-up tables that can be exploited when needed during the dynamic simulation of FMS. To enforce the constraints at the position and velocity levels, an energy algorithm proposed by (Bauchau et al., 1995) has also been implemented.

A similar symbolic software that fully exploits this graph-theoretic approach in multi-domain modelling is MapleSim, commercialized by Maplesoft. This GT formulation has been extended in the second version of the software (MapleSimII, 2011) to the analysis of mechatronic and other multidisciplinary systems such as mechanical, electrical, thermal, signal/control and hydraulic systems which can all be naturally combined in a model diagram

Using Linear Graph Theory 21

Simulation of Flexible Multibody Systems Using Linear Graph Theory 369

Fig. 6. Deflection of center of a) link *AB* and b) link *BC*

where *ψ*1(*t*) = *π*/2 and *ψ*2(*t*) = 0 when *t* ≥ *T*.

and end of the simulation. The angular drivers *e*<sup>61</sup> and *e*<sup>62</sup> are given by,

*<sup>ψ</sup>*1(*t*) = *<sup>π</sup>*

*<sup>ψ</sup>*2(*t*) = *<sup>π</sup>* <sup>−</sup> *<sup>π</sup>*

2*T <sup>t</sup>* <sup>−</sup> *<sup>T</sup>* 2*π* sin( 2*πt T* ) 

> *T <sup>t</sup>* <sup>−</sup> *<sup>T</sup>* 2*π* sin( 2*πt T* )

Simulations for the flexible panels were performed during *t* = 20 seconds. Results are plotted from the time of release of the panels (at *t* = 0*s*) through complete deployment (at *t* = 14*s*) and rebound effects of the panels (until *t* = 20*s*). Since MapleSimII is restricted to the simulation of flexible links only, figure 8 provides a comparison with the software (Adams/flex, 2011) for the deflection of the centers of the two panels considering the first four vibration modes.

(71)

(72)

similar the one presented in section 2. However, this software is limited to the simulation of rigid bodies and flexible beams only.

### **5.1 Flexible four-bar mechanism**

Let us consider the example of the planar flexible four-bar mechanism described earlier in section 2. For this FMS, shown in figure 2(a), a proper tree has been highlighted in bold in figure 2(b). This example has been previously analyzed by (Khulief, 1992) and was also analyzed with the software MapleSimII. The rigid crank OA has a length of 0.3 m and is driven at a constant angular speed of *ω* = 210 *rad*/*s*. The flexible coupler link AB and the flexible follower BC are discretized by eight linear 3-D beam elements with bending moments of inertia equal to 3.112 <sup>×</sup> <sup>10</sup>−<sup>8</sup> *<sup>m</sup>*<sup>4</sup> and have cross-sectional areas of 1.767 <sup>×</sup> <sup>10</sup>−<sup>4</sup> *<sup>m</sup>*2. Flexible links AB and BC are made of steel with modulus of elasticity of 2.0 <sup>×</sup> 1011 *<sup>N</sup>*/*m*<sup>2</sup> with mass densities of 7800 *kg*/*m*3. The rigid crank is assumed horizontal at the initial state. The deflection at the mid-point of the links are mesured perpendicular to the initial links. The first two vibration modes are considered in this simulation. Shown in the figures 6(a) and 6(b) are the numerical results for the relative deflection of the mid-point of the links plotted against the crank angle *θ*31.

Once the topology and parameters for the FMS has been defined, the translational and rotational graphs can be generated automatically. Due to the systematic nature of GT methods, the previous formulation was encoded with relative ease into a general computer program. Exploiting conventional GT methods, the cutset and circuit equations are automatically generated from the given topology. The terminal equations developped in the preceeding section are contained in a library of modelling components that can be easily updated to include new components. From the projected cutset and circuit equations, the set of motion equations governing the dynamic response of a given FMS is automatically assembled that provides insight into its structural motion. The results are in good agreement with those obtained by (Khulief, 1992) and the software (MapleSimII, 2011).

#### **5.2 Deployment of two flexible panels**

As a final example, consider the unfolding of the spatial structure, drawn in figure 7(a), composed of two flexible panels (1) and (2) attached on a rigid base. The linear graph of this flexible structure is shown in figure 7(b). Each panel of dimension 2*m* × 0.003*m* × 2*m* is made of steel with a Young's modulus of 2.1 <sup>×</sup> 1011 *<sup>N</sup>*/*m*2, Poisson's coefficient of 0.3 and a mass density of 7800 *kg*/*m*3.

The edges comprising the tree are traced in bold. The deformable plates are represented by edges *e*<sup>51</sup> and *e*52. The revolute joint *e*<sup>31</sup> connects panel (1) to the ground and revolute joint *e*<sup>32</sup> connects panel (2) to panel (1). Each panel is discretized by 32 triangular elements. The flexible panel elements are represented by edges *e*<sup>11</sup> and *e*12. By imposing a symmetrical meshing throughout the panels, this avoids the generation of torsion deformations outside of their respective plane. To assure good alignment of the nodes on which are fixed the revolute joints, rigid beam elements are conveniently pasted along the edges joining these nodes.

The complete deployment of the flexible panels has been achieved in *T* = 14 seconds where angles *ψ*<sup>1</sup> and *ψ*<sup>2</sup> goes from 0*<sup>o</sup>* to 90*<sup>o</sup>* and from 180*<sup>o</sup>* to 0*o*, respectively. The imposed drivers at the articulations of the structure have zero velocity and zero acceleration at the beginning 20 Will-be-set-by-IN-TECH

similar the one presented in section 2. However, this software is limited to the simulation of

Let us consider the example of the planar flexible four-bar mechanism described earlier in section 2. For this FMS, shown in figure 2(a), a proper tree has been highlighted in bold in figure 2(b). This example has been previously analyzed by (Khulief, 1992) and was also analyzed with the software MapleSimII. The rigid crank OA has a length of 0.3 m and is driven at a constant angular speed of *ω* = 210 *rad*/*s*. The flexible coupler link AB and the flexible follower BC are discretized by eight linear 3-D beam elements with bending moments of inertia equal to 3.112 <sup>×</sup> <sup>10</sup>−<sup>8</sup> *<sup>m</sup>*<sup>4</sup> and have cross-sectional areas of 1.767 <sup>×</sup> <sup>10</sup>−<sup>4</sup> *<sup>m</sup>*2. Flexible links AB and BC are made of steel with modulus of elasticity of 2.0 <sup>×</sup> 1011 *<sup>N</sup>*/*m*<sup>2</sup> with mass densities of 7800 *kg*/*m*3. The rigid crank is assumed horizontal at the initial state. The deflection at the mid-point of the links are mesured perpendicular to the initial links. The first two vibration modes are considered in this simulation. Shown in the figures 6(a) and 6(b) are the numerical results for the relative deflection of the mid-point of the links plotted against

Once the topology and parameters for the FMS has been defined, the translational and rotational graphs can be generated automatically. Due to the systematic nature of GT methods, the previous formulation was encoded with relative ease into a general computer program. Exploiting conventional GT methods, the cutset and circuit equations are automatically generated from the given topology. The terminal equations developped in the preceeding section are contained in a library of modelling components that can be easily updated to include new components. From the projected cutset and circuit equations, the set of motion equations governing the dynamic response of a given FMS is automatically assembled that provides insight into its structural motion. The results are in good agreement with those

As a final example, consider the unfolding of the spatial structure, drawn in figure 7(a), composed of two flexible panels (1) and (2) attached on a rigid base. The linear graph of this flexible structure is shown in figure 7(b). Each panel of dimension 2*m* × 0.003*m* × 2*m* is made of steel with a Young's modulus of 2.1 <sup>×</sup> 1011 *<sup>N</sup>*/*m*2, Poisson's coefficient of 0.3 and a

The edges comprising the tree are traced in bold. The deformable plates are represented by edges *e*<sup>51</sup> and *e*52. The revolute joint *e*<sup>31</sup> connects panel (1) to the ground and revolute joint *e*<sup>32</sup> connects panel (2) to panel (1). Each panel is discretized by 32 triangular elements. The flexible panel elements are represented by edges *e*<sup>11</sup> and *e*12. By imposing a symmetrical meshing throughout the panels, this avoids the generation of torsion deformations outside of their respective plane. To assure good alignment of the nodes on which are fixed the revolute joints, rigid beam elements are conveniently pasted along the edges joining these nodes.

The complete deployment of the flexible panels has been achieved in *T* = 14 seconds where angles *ψ*<sup>1</sup> and *ψ*<sup>2</sup> goes from 0*<sup>o</sup>* to 90*<sup>o</sup>* and from 180*<sup>o</sup>* to 0*o*, respectively. The imposed drivers at the articulations of the structure have zero velocity and zero acceleration at the beginning

obtained by (Khulief, 1992) and the software (MapleSimII, 2011).

**5.2 Deployment of two flexible panels**

mass density of 7800 *kg*/*m*3.

rigid bodies and flexible beams only.

**5.1 Flexible four-bar mechanism**

the crank angle *θ*31.

Fig. 6. Deflection of center of a) link *AB* and b) link *BC*

and end of the simulation. The angular drivers *e*<sup>61</sup> and *e*<sup>62</sup> are given by,

$$\psi\_1(t) = \frac{\pi}{2T} \left[ t - \frac{T}{2\pi} \sin(\frac{2\pi t}{T}) \right] \tag{71}$$

$$\psi\_2(t) = \pi - \frac{\pi}{T} \left[ t - \frac{T}{2\pi} \sin(\frac{2\pi t}{T}) \right] \tag{72}$$

where *ψ*1(*t*) = *π*/2 and *ψ*2(*t*) = 0 when *t* ≥ *T*.

Simulations for the flexible panels were performed during *t* = 20 seconds. Results are plotted from the time of release of the panels (at *t* = 0*s*) through complete deployment (at *t* = 14*s*) and rebound effects of the panels (until *t* = 20*s*). Since MapleSimII is restricted to the simulation of flexible links only, figure 8 provides a comparison with the software (Adams/flex, 2011) for the deflection of the centers of the two panels considering the first four vibration modes.

Using Linear Graph Theory 23

Simulation of Flexible Multibody Systems Using Linear Graph Theory 371

organization of the mass matrix parallels that of structural finite element mass and stiffness

For open-loop systems, like the deployment of panels, a joint tree results in independent branch coordinates and a set of reduced ordinary differential equations can be generated. However, if the graph of a multibody system has closed loops, like in the case of the four-bar mechanism, a tree structure is formed by mathematically cutting the constraining elements or joints yielding the constraint circuit equations. A kinematic formulation may then be developed for the resulting spanning tree, so it neglects momentarily the effect of kinematic constraints between other bodies. While the variational equation of motion is still valid, it holds only for branch coordinate variations that are consistent with the constraint. It is, therefore, necessary to introduce the equation associated with the physical constraint.

Through graph-theoretic methods, the state-of-the-art of general multibody programs has advanced to the point where the flexibility of bodies combined to multi-domain systems can be simulated. Perhaps the most important requirement of a GT general purpose multibody computer program is the quality of the interfaces for the input and output of data. Hence, the self-formulating aspect of all programs exploiting GT methods will become very important for a productive utilization. Other features of GT methods worth mentioning for the future are the portability of the GT algorithms which should be able to adapt easily to all computer environments and the compatibility between different databases of

Financial support of this research by the Natural Sciences and Engineering Research Council

Adams/flex (2011). *MSC/Software Simulating Reality, Delivering Certainty*,

Andrews, G. (1971). *The Vector-Network Model: A topological Approach to Mechanics*, Ph.D.

Andrews, G. (1977). *A General Re-statement of the Laws of Dynamics Based on Graph Theory*,

Andrews, G. & Kesavan, H. (1975). The vector-network model: A new approach to vector

Arczewski, K. (1990). Application of graph theory to the mathematical modelling of a class of rigid body systems, *Journal of the Franklin Institute* Vol. 327, no. 2: 209–220. Baciu, G., Chou, J. & Kesavan, H. (1990). Constrained multibody systems: Graph-theoretic

Bauchau, O., Damilano, G. & Theron, N. (1995). Numerical integration of nonlinear elastic

Behzad, M. & Chartrand, G. (1971). *Introduction to the theory of graphs*, Allyn and Bacon. Bos, A. (1986). *Modelling Multibody Systems in Terms of Multibond Graphs with Application to a*

Thesis, University of Waterloo, Waterloo, Ontario, Canada.

dynamics, *Mechanism and Machine Theory* Vol. 10: 57–80.

*Motorcycle*, Dissertation Twente University.

Problem Analysis in Science and Engineering, Academic Press.

http://www.mscsoftware.com/Products/Modeling-Solutions/Default.aspx, last

newton-euler formulation, *IEEE Transactions on Systems, Man and Cybernetics* Vol. 20,

multi-body systems, *International Journal of Numerical Methods in Engineering* Vol.

matrices, which are also derived using variational methods.

multidisciplinary programs.

of Canada is gratefully acknowledged.

consulted July 2011.

no. 5: 1025–1039.

38: 2727–2751.

**7. Acknowledgement**

**8. References**

Fig. 7. a) Deployment of the panels and b) graph representation of the system

Fig. 8. Transversal deflexion of panel 1 and 2 centers

#### **6. Conclusion**

By combining the mechanical system topology with the variational virtual work constitutive equations, a new systematic graph-theoretic formulation has been introduced and used to describe the time-varying configuration of spatial FMS. This method assembles automatically the governing equations of motion in a symmetrical format where the structure and organization of the mass matrix parallels that of structural finite element mass and stiffness matrices, which are also derived using variational methods.

For open-loop systems, like the deployment of panels, a joint tree results in independent branch coordinates and a set of reduced ordinary differential equations can be generated. However, if the graph of a multibody system has closed loops, like in the case of the four-bar mechanism, a tree structure is formed by mathematically cutting the constraining elements or joints yielding the constraint circuit equations. A kinematic formulation may then be developed for the resulting spanning tree, so it neglects momentarily the effect of kinematic constraints between other bodies. While the variational equation of motion is still valid, it holds only for branch coordinate variations that are consistent with the constraint. It is, therefore, necessary to introduce the equation associated with the physical constraint.

Through graph-theoretic methods, the state-of-the-art of general multibody programs has advanced to the point where the flexibility of bodies combined to multi-domain systems can be simulated. Perhaps the most important requirement of a GT general purpose multibody computer program is the quality of the interfaces for the input and output of data. Hence, the self-formulating aspect of all programs exploiting GT methods will become very important for a productive utilization. Other features of GT methods worth mentioning for the future are the portability of the GT algorithms which should be able to adapt easily to all computer environments and the compatibility between different databases of multidisciplinary programs.

### **7. Acknowledgement**

Financial support of this research by the Natural Sciences and Engineering Research Council of Canada is gratefully acknowledged.

### **8. References**

22 Will-be-set-by-IN-TECH

Fig. 7. a) Deployment of the panels and b) graph representation of the system

By combining the mechanical system topology with the variational virtual work constitutive equations, a new systematic graph-theoretic formulation has been introduced and used to describe the time-varying configuration of spatial FMS. This method assembles automatically the governing equations of motion in a symmetrical format where the structure and

Fig. 8. Transversal deflexion of panel 1 and 2 centers

**6. Conclusion**


**18** 

*1China 2USA* 

**Spectral Clustering and Its** 

*1School of Mech. & Auto. Eng,* 

*University of Cincinnati,* 

*Souch China University of Technology,* 

Weihua Li1,2, Yan Chen2, Wen Liu1 and Jay Lee2

*2NSFI/UCRC Center for Intelligent Maintenance System,* 

**Application in Machine Failure Prognosis** 

Machine fault prognosis and health management has received intensive studies for several decades, and various approaches have been taken, such as statistical signal processing, timefrequency analysis, wavelet, and neural networks. Among of them, pattern recognition method provides a systematic approach to acquiring knowledge from fault samples. In fact,

Many pattern recognition methods have been studied and applied in machine condition monitoring and fault prognosis. Campbell proposed a linear programming approach to engine failure detection (Campbell&Bennett, 2001). In Ypma's study, different learning methods, such as Independent Component Analysis, Self Organising Map, and Hidden Markov Models, were applied in fault feature extraction, novelty detection and dynamic fault recognition (Ypma, 2001). Ge et.al (2004)proposed a support vector machine based method for sheet metal stamping monitoring. Harkat et.al(2007) applied non-linear principal component analysis in sensor fault detection and isolation. Lei and Zuo (2009) implemented the Weighted *k* Nearest Neighbour algorithm to identify the gear crack

However, the information of machine incipient fault is always weak and contaminated by strong noises, and there is always lack of fault samples to train the learning machine. Therefore, the key issue is how to select sensitive features from the dataset for machine incipient faults prognosis, which is related to feature selection and dimension reduction,

In most of medical and clinic applications, when the dimensionality of the data is high, for reducing computation complexity, some techniques might be used to project or embed the data into a lower dimensional space while retaining as much information as possible. Classical linear examples are Principal Component Analysis (PCA) (Jolliffe.2002) and Multi-Dimensional Scaling (MDS) (T. F. Cox & M. A. Cox, 2001). The coordinates of the

mechanical fault diagnosis is essentially a problem of pattern classification.

**1. Introduction** 

level.

and is very useful for fault classification.



Christofides, N. (1975). *Graph theory, An Algorithmic Approach*, Academic Press, New York.

## **Spectral Clustering and Its Application in Machine Failure Prognosis**

Weihua Li1,2, Yan Chen2, Wen Liu1 and Jay Lee2 *1School of Mech. & Auto. Eng, Souch China University of Technology, 2NSFI/UCRC Center for Intelligent Maintenance System, University of Cincinnati, 1China 2USA* 

### **1. Introduction**

24 Will-be-set-by-IN-TECH

372 New Frontiers in Graph Theory

Chou, J., Kesavan, H. & Singhal, K. (1986). Dynamics of 3-d isolated rigid-body systems: Graph-theoretic models, *Mechanism and Machine Theory* Vol. 21, no. 3: 261–281. Christensen, R. (1975). *Theory of Viscoelasticity: An Introduction*, Academic Press, New-York. Christofides, N. (1975). *Graph theory, An Algorithmic Approach*, Academic Press, New York.

Hu, Y. (1988). Applications of bond graphs and vector bond graphs to rigid body dynamics,

Khulief, Y. (1992). On the finite element dynamic analysis of flexible mechansims, *Computer*

Koenig, H. & Blackwell, W. (1960). Linear graph theory - a fundamental engineering

Koenig, H., Tokad, Y. & Kesavan, H. (1967). *Analysis of Discrete Physical Systems*, McGraw-Hill. MapleSimII (2011). *High-Performance Multi-Domain Modeling and Simulation*,

McPhee, J. (1998). Automatic generation of motion equations for planar mechanical systems

McPhee, J. & Redmond, S. (2006). Modelling multibody systems with indirect coordinates, *Computer Methods in Applied Mechanics and Engineering* Vol. 195, no. 50: 6942–6957. Richard, M. (1985). *Dynamic Simulation of Constrained Three Dimensional Multibody Systems*

Richard, M., Bouazara, M. & Therien, J. (2011). Analysis of multibody systems with flexible

Richard, M., Huang, M. & Bouazara, M. (2004). Computer aided analysis and optimal

Roberson, R. (1984). The path matrix of a graph, its construction and its use in evaluating

Shabana, A. (1986). Transient analysis of flexible multi-body systems - part1: Dynamics of

Shi, P. & McPhee, J. (1997). On the use of virtual work in a graph-theoretic

Shi, P. & McPhee, J. (2000). Dynamics of flexible multibody systems using virtual work and

Shi, P., McPhee, J. & Heppler, G. (2001). A deformation field for euler-bernoulli beams

Tennich, M. (1994). *Dynamique de systèmes multi-corps flexibles, une approche générale*, Ph.D.

Wasfy, T. & Noor, A. (2003). Computational strategies for flexible multibody systems, *ASME*

linear graph theory, *Multibody System Dynamics* Vol. 4: 355–381.

http://www.maplesoft.com/products/maplesim/index.aspx, last consulted July

using the new set of branch coordinates, *Mechanism and Machine Theory* Vol. 33, no.

*Using Vector Network Techniques*, Ph.D. Thesis, Queen's University, Kingston, Ontario,

plates using variational graph- theoretic methods, *Multibody System Dynamics* Vol.

design of mechanical systems using vector-network techniques, *Journal of Applied*

certain products, *Journal of Computer Methods in Applied Mechanics and Engineering*

flexible bodies, *Computer Methods in Applied Mechanics and Engineering* Vol. 54: 75–91.

formulation for multibody dynamics, *ASME Design Engineering Technical Conference*

with applications to flexible multibody dynamics, *Multibody System Dynamics* Vol.

Even, S. (1979). *Graph Algorithms*, Computer Science Press. Flugge, W. (1967). *Viscoelasticity*, Blaisdell, New-York.

2011.

6: 805–823.

Canada.

25: 43–63.

Vol. 42: 47–57.

DETC97/vib-4199.

5: 79–104.

*Journal of China Textile University* Vol. 5, no. 4: 67–80.

discipline, *IRE Transaction on Education* Vol. 3: 42–62.

*Mathematics and Computation* Vol. 157: 175–200.

Dissertation, Laval University, Québec, Québec.

*Applied Mechanics Reviews* Vol. 56, no. 6: 553–613.

Wittenburg, J. (1977). *Dynamics of Systems of Rigid bodies*, Teubner, Stuttgart.

*Methods in Applied Mechanics and Engineering* Vol. 97: 23–32.

Machine fault prognosis and health management has received intensive studies for several decades, and various approaches have been taken, such as statistical signal processing, timefrequency analysis, wavelet, and neural networks. Among of them, pattern recognition method provides a systematic approach to acquiring knowledge from fault samples. In fact, mechanical fault diagnosis is essentially a problem of pattern classification.

Many pattern recognition methods have been studied and applied in machine condition monitoring and fault prognosis. Campbell proposed a linear programming approach to engine failure detection (Campbell&Bennett, 2001). In Ypma's study, different learning methods, such as Independent Component Analysis, Self Organising Map, and Hidden Markov Models, were applied in fault feature extraction, novelty detection and dynamic fault recognition (Ypma, 2001). Ge et.al (2004)proposed a support vector machine based method for sheet metal stamping monitoring. Harkat et.al(2007) applied non-linear principal component analysis in sensor fault detection and isolation. Lei and Zuo (2009) implemented the Weighted *k* Nearest Neighbour algorithm to identify the gear crack level.

However, the information of machine incipient fault is always weak and contaminated by strong noises, and there is always lack of fault samples to train the learning machine. Therefore, the key issue is how to select sensitive features from the dataset for machine incipient faults prognosis, which is related to feature selection and dimension reduction, and is very useful for fault classification.

In most of medical and clinic applications, when the dimensionality of the data is high, for reducing computation complexity, some techniques might be used to project or embed the data into a lower dimensional space while retaining as much information as possible. Classical linear examples are Principal Component Analysis (PCA) (Jolliffe.2002) and Multi-Dimensional Scaling (MDS) (T. F. Cox & M. A. Cox, 2001). The coordinates of the

Spectral Clustering and Its Application in Machine Failure Prognosis 375

by an undirected data graph G=(V,E). Each node in this graph represents a data point *xi*. Two nodes are connected if the similarity *wij* between the corresponding data *xi* and *xj* is positive or larger than a certain threshold, and the edge is weighted by *wij*. These data points can be divided into several groups such that points in the same group are similar and points

BelKin(2003) indicated that Laplacian Eigenmaps used spectral techniques to perform dimensionality reduction. This technique relies on the basic assumption that the data lies in a low dimensional manifold in a high dimensional space. The Laplacian of the graph obtained from the data points may be viewed as an approximation to the Laplace-Beltrami operator defined on the manifold. The embedding maps for the data come from

The popular Laplacian Embedding algorithm includes the following steps, as shown in

Weighted Adjacency Matrix

*W w*

*D diag d d w*

ij 2

*t x x*

*i j*

( ) 1

*i*

1 2

6

Laplacian matrix L

*L D W*

Spectral Embedding Algorithms

, or if node **X***i* is among *n* nearest neighbors

*n i ij*

approximations to a natural map that is defined on the entire manifold.

 

5

 

4

3

**Step 1**: The d-dimensional dataset is viewed as an undirected data graph [10] , G = (V, E) with node set V={x*1*,...,x*n*}. Every node in the graph is one point in d. An edge is used to link node i and node j, if they are close as ε–neighborhoods which means the distance

**Step 2**: Each edge between two nodes **X***i* and **X***j* carries a non-negative weight *wij*≥0. The weighted adjacency matrix of the graph is the matrix { }, , 1,..., *w i ij* **W** *j n* . There are

different methods to configure the weight matrix. For example, the most common is

*w e*

ij

 

in different groups are dissimilar to each other.

**2.2 Laplacian embedding** 

6

 

1

2

4

Adjacency Matrix

5

Undirected, connected data graph

3

 

Fig. 1. The procedure of Laplacian Embedding Algorithm

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

between nodes **X***i* and **X***j* satisfying *i j* **X X**

of **X***j* or **X***j* is among *n* nearest neighbors of **X***i*.

Fig.1.

data points in the lower dimension space might be used as features or simply a mean to visualize the data.

However, for common PHM(Prognostic and Health Management) applications, the dimensionality of the data is not as high as those in medical research, and the mapping techniques are mainly applied to reveal the correlation of features as to increase the accuracy of fault detection and identification. The selection of features also can avoid unnecessary sensors used in machine monitoring, considering the high cost maintaining. Nomikos and MacGregor(1994) firstly presented a PCA approach for monitoring batch process, the history information was linear projected onto a low-dimensional space that summarized the key characteristics of normal behaviour by both variable and their time histories. Considering that minor component discarded in PCA might contain important information on nonlinearities, a large amount of nonlinear methods were presented for the process monitoring and chemical process modelling (Dong & McAvoy,1996; Kaspar & Ray,1992; Sang et. al,2005), such as Kernal PCA (Schölkopf,1998).

Non-linear dimensionality mapping methods are more frequently recognized as non-linear manifold learning methods. The manifold learning is the process of estimating a lowdimensional underlying structure embedded in a collection of high-dimensional data( Tenenbaum et. al, 2000; Roweis & Saul, 2000). Instead of using Euclidian distance to measure samples' similarity in input space, samples' similarity in latent space is measured by their geodesic or short path distance. The deceptive close distance in the highdimensional input space can be corrected.

Spectral clustering is a graph-theory-based manifold learning method, which can be used to dissect the graph and get the clusters for exploratory data analysis. Compared with the traditional algorithms such as k-means, spectral clustering has many fundamental advantages. It is more flexible, capturing a wider range of geometries, and it is very simple to implement and can be solved efficiently by standard linear algebra methods. It has been successfully deployed in numerous applications in areas such as computer vision, speech recognition, and robotics. Moreover, there is a substantial theoretical literature supporting spectral clustering (Kannan et.al,2004; Luxburg,2007,2008).

In most PHM applications, multi-groups of data sets from different failure modes are frequently nonlinearly distributed and mixed in a high dimensional feature space. However, an "unfolded" feature space is expected as to differentiate these degradation patterns by a designed classifier.

In this part, we first propose a spectral clustering based feature selection method used for machine fault feature extraction and evaluation, and then the samples with selected features are input into a density-adjustable spectral kernel based transductive support vector machine to train and to get the prognosis results.

### **2. Spectral clustering feature selection**

### **2.1 Basics of graph theory**

Given a *d*-dimentsional data points {*x1*, . . ., *xn*}, and the similarity between all pairs of data points *xi* and *xj* is noted as w*ij*. According to graph theory, the data points can be represented by an undirected data graph G=(V,E). Each node in this graph represents a data point *xi*. Two nodes are connected if the similarity *wij* between the corresponding data *xi* and *xj* is positive or larger than a certain threshold, and the edge is weighted by *wij*. These data points can be divided into several groups such that points in the same group are similar and points in different groups are dissimilar to each other.

### **2.2 Laplacian embedding**

374 New Frontiers in Graph Theory

data points in the lower dimension space might be used as features or simply a mean to

However, for common PHM(Prognostic and Health Management) applications, the dimensionality of the data is not as high as those in medical research, and the mapping techniques are mainly applied to reveal the correlation of features as to increase the accuracy of fault detection and identification. The selection of features also can avoid unnecessary sensors used in machine monitoring, considering the high cost maintaining. Nomikos and MacGregor(1994) firstly presented a PCA approach for monitoring batch process, the history information was linear projected onto a low-dimensional space that summarized the key characteristics of normal behaviour by both variable and their time histories. Considering that minor component discarded in PCA might contain important information on nonlinearities, a large amount of nonlinear methods were presented for the process monitoring and chemical process modelling (Dong & McAvoy,1996; Kaspar &

Non-linear dimensionality mapping methods are more frequently recognized as non-linear manifold learning methods. The manifold learning is the process of estimating a lowdimensional underlying structure embedded in a collection of high-dimensional data( Tenenbaum et. al, 2000; Roweis & Saul, 2000). Instead of using Euclidian distance to measure samples' similarity in input space, samples' similarity in latent space is measured by their geodesic or short path distance. The deceptive close distance in the high-

Spectral clustering is a graph-theory-based manifold learning method, which can be used to dissect the graph and get the clusters for exploratory data analysis. Compared with the traditional algorithms such as k-means, spectral clustering has many fundamental advantages. It is more flexible, capturing a wider range of geometries, and it is very simple to implement and can be solved efficiently by standard linear algebra methods. It has been successfully deployed in numerous applications in areas such as computer vision, speech recognition, and robotics. Moreover, there is a substantial theoretical literature supporting

In most PHM applications, multi-groups of data sets from different failure modes are frequently nonlinearly distributed and mixed in a high dimensional feature space. However, an "unfolded" feature space is expected as to differentiate these degradation patterns by a

In this part, we first propose a spectral clustering based feature selection method used for machine fault feature extraction and evaluation, and then the samples with selected features are input into a density-adjustable spectral kernel based transductive support vector

Given a *d*-dimentsional data points {*x1*, . . ., *xn*}, and the similarity between all pairs of data points *xi* and *xj* is noted as w*ij*. According to graph theory, the data points can be represented

Ray,1992; Sang et. al,2005), such as Kernal PCA (Schölkopf,1998).

spectral clustering (Kannan et.al,2004; Luxburg,2007,2008).

machine to train and to get the prognosis results.

**2. Spectral clustering feature selection** 

dimensional input space can be corrected.

designed classifier.

**2.1 Basics of graph theory** 

visualize the data.

BelKin(2003) indicated that Laplacian Eigenmaps used spectral techniques to perform dimensionality reduction. This technique relies on the basic assumption that the data lies in a low dimensional manifold in a high dimensional space. The Laplacian of the graph obtained from the data points may be viewed as an approximation to the Laplace-Beltrami operator defined on the manifold. The embedding maps for the data come from approximations to a natural map that is defined on the entire manifold.

The popular Laplacian Embedding algorithm includes the following steps, as shown in Fig.1.

Fig. 1. The procedure of Laplacian Embedding Algorithm

**Step 1**: The d-dimensional dataset is viewed as an undirected data graph [10] , G = (V, E) with node set V={x*1*,...,x*n*}. Every node in the graph is one point in d. An edge is used to link node i and node j, if they are close as ε–neighborhoods which means the distance between nodes **X***i* and **X***j* satisfying *i j* **X X** , or if node **X***i* is among *n* nearest neighbors of **X***j* or **X***j* is among *n* nearest neighbors of **X***i*.

**Step 2**: Each edge between two nodes **X***i* and **X***j* carries a non-negative weight *wij*≥0. The weighted adjacency matrix of the graph is the matrix { }, , 1,..., *w i ij* **W** *j n* . There are different methods to configure the weight matrix. For example, the most common is

Spectral Clustering and Its Application in Machine Failure Prognosis 377

The definition is a ratio between inner and intra cluster variation caused by the individual feature. Perfect clustering expects less variance inter-cluster and the inverse for intraclusters. If the feature **f** contributes to better clustering, the nominator tends to be smaller and denominator is larger. Therefore *<sup>k</sup> h* is expected to be smaller. The feature consistency

In terms of graph theory, similar criterion can be formulated based on Eq.(4), and configure

0 otherwise *k k*

*k*

Where (1) *<sup>w</sup> ij* is the similarity measurement of samples within-class, and (2) *<sup>w</sup> ij* that of samples between-class. Then the sequence of instances can be reordered to make the

1( ) *<sup>p</sup> pp n*

(1) 1

*W*

*nn n W*

(5)

(6)

(7)

(8)

(10)

(9)

*k*

(2)

(1)

0

*W*

1( )

*ij C*

*n n otherwise*

1 1 1

*W nn n*

 

 

0 *np*

*T r r <sup>r</sup> <sup>T</sup> r r*

*<sup>f</sup> Lf <sup>L</sup> <sup>f</sup> Df*

Because of *T T* **f Lf f Lf** *rrrr* (He et.al, 2006), and with the weight matrix as **W**(2) and **W**(1) as

1

0

**D D**

*n*

1 00

0 1 *<sup>p</sup>*

*n*

*n ij C*

(1) 1 ,

(2) 0 , 1

(2)

*ij*

And max( ) *<sup>k</sup> h h* is defined as feature consistency index.

data graph G with following similarity measurement,

index *h* indicates the features's weakest separablility for clustering C

*w*

*ij*

*w*

adjacency matrix carry closer instances along its diagonal.

(2)

**W**

well as their degree diagonal matrixes,

(1)

**W**

As proved by He et.al (2006), Laplacian score of *r*-th feature is as the follows:

(1) (2)

$$w\_{ij} = \begin{cases} 1 & \text{if } x\_i \text{ and } x\_j \text{ is connected} \\ 0 & \text{otherwise} \end{cases} \tag{1}$$

Or Heat kernel

$$w\_{ij} = \begin{cases} e^{-\left\|x\_i - x\_j\right\|^2} \text{ if } x\_i \text{ and } x\_j \text{ is connected} \\ 0 & \text{otherwise} \end{cases} \tag{2}$$

The degree of a node X*<sup>i</sup>* V is defined as 1 *n i ij d w* . The degree matrix D is defined as the diagonal matrix with {d*1*, d*2*,…,d*n*} on its diagonal. The un-normalized graph Laplacian matrix is defined by Luxburg(2007) as: **L=D-W** .

**Step 3**: The Laplacian Eigenmap (on normalized Laplacian matrix) is computed by spectral decomposition for eigenvectors problem of **L***y* = **D***y*. The image of X*i* under the embedding is converted into the lower dimensional space m, given by ordered eigenvalues: {y*1*(*i*), y*2*(*i*),..., y*m*(*i*)}. This decomposition provides significant information about the graph and distribution of all points. It has been proven experimentally that the inner natural groups of dataset are recovered by mapping the original dataset into the space spanned by eigenvectors of the Laplacian matrix(Belkin & Niyogi,2003).

#### **2.3 Supervised feature selection criterion by Laplacian scores**

Given a graph G, the Laplacian matrix **L** of G is a linear operator on any feature vector from <sup>1</sup> { ,..., }, *<sup>n</sup>* **ff ff** *m i R*

$$\mathbf{f}\_k \mathbf{f}\_k^T \mathbf{L} \mathbf{f}\_k = \frac{1}{2} \sum\_{i,j=1}^n w\_{ij} (\mathbf{x}\_{ki} - \mathbf{x}\_{kj})^2 \tag{3}$$

The equation quantifies how much the feature vector is consistent with the structure of the G locally. For the instances closer to each other, the features that have similar value for them are contributes more on the dissimilarity matrix that is consistent with data structure. The flatter the feature value is over all instances, the smaller the value of the equation. However, instead of the feature consistency only considering instances with small distance, a complete definition of feature consistency with the data structure is clarified as the following:

*Definition 1*: (feature local consistency with data graph)

Given data graph G= (**V**, **E**) (V={X*1*,...,X*n*},E={Wij}), the feature **f** is a locally consistent variant of G at level h (0<h<1) for a clustering C over G. If for every cluster C*k* of C, there is

$$\frac{1}{\frac{1}{n\_k}\sum\_{i,j \in \mathcal{C}\_k} (\mathbf{f}\_i - \mathbf{f}\_j)^2}{\frac{1}{n\_k(n - n\_k)}\sum\_{i \in \mathcal{C}\_k, j \notin \mathcal{C}\_k} (\mathbf{f}\_i - \mathbf{f}\_j)^2} = h\_k \tag{4}$$

And max( ) *<sup>k</sup> h h* is defined as feature consistency index.

376 New Frontiers in Graph Theory

*x x*

0 otherwise *i j*

0 otherwise

diagonal matrix with {d*1*, d*2*,…,d*n*} on its diagonal. The un-normalized graph Laplacian

**Step 3**: The Laplacian Eigenmap (on normalized Laplacian matrix) is computed by spectral

is converted into the lower dimensional space m, given by ordered eigenvalues: {y*1*(*i*), y*2*(*i*),..., y*m*(*i*)}. This decomposition provides significant information about the graph and distribution of all points. It has been proven experimentally that the inner natural groups of dataset are recovered by mapping the original dataset into the space spanned by

Given a graph G, the Laplacian matrix **L** of G is a linear operator on any feature vector from

, 1

*kk ij ki kj i j*

The equation quantifies how much the feature vector is consistent with the structure of the G locally. For the instances closer to each other, the features that have similar value for them are contributes more on the dissimilarity matrix that is consistent with data structure. The flatter the feature value is over all instances, the smaller the value of the equation. However, instead of the feature consistency only considering instances with small distance, a complete

Given data graph G= (**V**, **E**) (V={X*1*,...,X*n*},E={Wij}), the feature **f** is a locally consistent variant

,

*k k*

*<sup>n</sup> <sup>h</sup>*

**f f**

<sup>1</sup> ( ) ( ) *k*

2

**f f**

2

*k*

(4)

*<sup>n</sup> <sup>T</sup>*

definition of feature consistency with the data structure is clarified as the following:

of G at level h (0<h<1) for a clustering C over G. If for every cluster C*k* of C, there is

,

*nn n*

<sup>1</sup> ( )

*i j ijC <sup>k</sup>*

*i j iC jC k k*

<sup>1</sup> ( ) <sup>2</sup>

*wx x*

2

**f Lf** (3)

*ij*

2

*i j xx t i j ij e xx <sup>w</sup>* 

*w*

The degree of a node X*<sup>i</sup>* V is defined as 1

matrix is defined by Luxburg(2007) as: **L=D-W** .

decomposition for eigenvectors problem of **L***y* =

eigenvectors of the Laplacian matrix(Belkin & Niyogi,2003).

*Definition 1*: (feature local consistency with data graph)

**2.3 Supervised feature selection criterion by Laplacian scores** 

Or Heat kernel

<sup>1</sup> { ,..., }, *<sup>n</sup>* **ff ff** *m i R*

1 if and is connected

*n*

if and is connected

(1)

*i ij d w* . The degree matrix D is defined as the

**D***y*. The image of X*i* under the embedding

(2)

The definition is a ratio between inner and intra cluster variation caused by the individual feature. Perfect clustering expects less variance inter-cluster and the inverse for intraclusters. If the feature **f** contributes to better clustering, the nominator tends to be smaller and denominator is larger. Therefore *<sup>k</sup> h* is expected to be smaller. The feature consistency index *h* indicates the features's weakest separablility for clustering C

In terms of graph theory, similar criterion can be formulated based on Eq.(4), and configure data graph G with following similarity measurement,

$$w^{(1)}\_{\
u} = \begin{cases} 1/n\_k & \text{i, j \in C\_k} \\ 0 & \text{otherwise} \end{cases} \tag{5}$$

$$w^{(2)}\_{\
u} = \begin{cases} 0 & \text{i./} j \in \mathbb{C}\_k \\ -1/(n - n\_k) & \text{otherwise} \end{cases} \tag{6}$$

Where (1) *<sup>w</sup> ij* is the similarity measurement of samples within-class, and (2) *<sup>w</sup> ij* that of samples between-class. Then the sequence of instances can be reordered to make the adjacency matrix carry closer instances along its diagonal.

$$\mathbf{W}^{(2)} = \begin{pmatrix} \mathcal{W}\_1^{(2)} & \dots & -1/n\_1(n-n\_1) \\ \vdots & \ddots & \vdots \\ 1/n\_p(n-n\_p) & \dots & \mathcal{W}\_{n\_p}^{(2)} \end{pmatrix} \tag{7}$$

$$\mathbf{W}^{(1)} = \begin{pmatrix} \mathcal{W}\_1^{(1)} & \dots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \dots & \mathcal{W}\_{n\_p}^{(1)} \end{pmatrix} \tag{8}$$

As proved by He et.al (2006), Laplacian score of *r*-th feature is as the follows:

$$\mathbf{L}\_r = \frac{\tilde{f}\_r^{\,\,\,T} \mathbf{L} \tilde{f}\_r}{\tilde{f}\_r^{\,\,\,T} \mathbf{D} \tilde{f}\_r} \tag{9}$$

Because of *T T* **f Lf f Lf** *rrrr* (He et.al, 2006), and with the weight matrix as **W**(2) and **W**(1) as well as their degree diagonal matrixes,

$$\mathbf{D}^{(1)} = -\mathbf{D}^{(2)} = \begin{pmatrix} 1/n\_1 & 0 & 0 \\ 0 & \ddots & \vdots \\ 0 & \cdots & 1/n\_p \end{pmatrix} \tag{10}$$

Spectral Clustering and Its Application in Machine Failure Prognosis 379


Fig. 2. Scatter Plot of two clusters based on Density-adjustable spectral clustering

*i j lx x*

Where (,) *<sup>i</sup> <sup>j</sup> dist x x* is the Euclid distance between data x*i* and data x*j*, and

used to describe the consistency of data structure by adjusting the factor

0

*sxx*

Scatter Projection Direction 1

= (,) (, ) 1 *i j dist x x*

in the length between the two data points. Therefore, the similarity of the data point x*i* and x*<sup>j</sup>*

<sup>1</sup> (, ) ( ( , )) 1 *i j*

Where ( ( , )) *<sup>i</sup> <sup>j</sup> dsp lx x* is denoted as the minimum distance between data x*i* and x*j*, which is

Support vector machine is one of supervised learning methods based on statistical learning theory (Vapnik, 1998). Instead of Empirical Risk Minimization (ERM), Structural Risk Minimization (SRM) is an inductive principle for model selection used for learning from finite training data sets, which enhances the generalization ability of the SVM. The key to SVM is the "kernel tricks", by which the nonlinear map can be realized from low dimensional space to high dimensional space. Therefore, the nonlinear classification task in low dimensional space can be converted to a linear classification, which can be solved by

Considering of 2-class data points, there are many hyperplanes that might classify the data. The best hyperplane is the one that represents the largest margin between the two classes, and the distance from this hyperplane to the nearest data point on each side is maximized.

*i j*

a

1 ). This definition is satisfied with the cluster assumption, and can be

b

(16)

*dsp l x x* (17)

is the density

to zoom out or

11.6

11.7

11.8

c

Scatter Projection Direction 2

adjustble factor(

the shortest path based on density adjustment.

**3.2 Transductive support vector machine** 

finding a best hyperplane in the high dimensional space.

can be expressed as following,

11.9

12

12.1

12.2

The two Laplacian score (1) **L***r* and (2) **L***r* have same absolute value of denominators. If there exists clustering C={C*1*,…, C*p* } over data graph G, the nominators are as the following

$$\mathbf{f}\_r^{\ \ \ \mathbf{f}} \mathbf{L}^{(1)} \mathbf{f}\_r = \frac{1}{2} \sum\_{k=1}^{\mathcal{V}} \frac{1}{n\_k} \sum\_{i,j \neq k} (\boldsymbol{\chi}\_{ri} - \boldsymbol{\chi}\_{rj})^2 \tag{11}$$

$$\mathbf{f}\_r^{\ \ \mathbf{f}} \mathbf{L}^{\{\mathbf{2}\}} \mathbf{f}\_r = -\frac{1}{2} \sum\_{k=1}^{\mathcal{V}} \frac{1}{n\_k (n - n\_k)} \sum\_{i \neq k, j \neq k} (\mathbf{x}\_{ri} - \mathbf{x}\_{rj})^2 \tag{12}$$

Combining Eq.(4) and Eq.(11), there is

$$\mathbf{f\_r}^T \mathbf{L}^{(1)} \mathbf{f\_r} = \frac{1}{2} \sum\_{k=1}^p \frac{h\_k}{n\_k (n - n\_k)} \sum\_{i \in \mathbf{x}\_i, j \neq k} (\mathbf{x\_{ri}} - \mathbf{x\_{rj}})^2 \tag{13}$$

Comparing Eq.(12) with Eq.(13), it can be obtained

$$\min(h\_k) < -\frac{\mathbf{f\_r^T L^{(1)} f\_r}}{\mathbf{f\_r^T L^{(2)} f\_r}} = \frac{\mathbf{L\_r^{(1)}}}{\mathbf{L\_r^{(2)}}} < \max(h\_k) = h \tag{14}$$

Therefore, from Eq.(14), instead of the feature consistency index in Definition 1, the ratio of two Laplacian scores can also be considered as equivalent estimation of feature consistency. They are over the data graph with the configuration of **W**(2) and **W**(1) . If the feature is consistent with these data graphs, term of (1) **L***r* should be smaller and (2) **L***r* be larger.

Therefore, from graph theory perspective, the supervised feature selection criterion by Laplacian score can be defined as follows

$$m = -\frac{\mathbf{f\_r^T}^T \mathbf{L^{(1)}f\_r}}{\mathbf{f\_r^T} \mathbf{L^{(2)}f\_r}} = \frac{\mathbf{L^{(1)}\_r}}{\mathbf{L^{(2)}\_r}} \tag{15}$$

Based on the criterion, the feature can be ranked, and a simple searching engine can be defined to select appropriate number of features from the list.

#### **3. Spectral kernel transductive support vector machine**

#### **3.1 Density-adjustable spectral clustering**

Commonly, the weight of the edge in a Graph is defined by the Euclid distance between the two nodes, and it works very well with the linear data.

But for nonlinear data, such as two clusters shown in Fig.2, data points *a* and *c* belong to the same cluster, and the Euclid distance between points *a* and *b* is less than that between points *a* and *c.* Therefore, it is necessary to measure the similarity of data points in a different way, which can zoom out the path length of those passing through low density area, and zoom in those not. Then the minimum path can be obtained to replace the Euclid distance. It is very useful for machine failure prognosis, because there always exists nonlinear when machine anomaly occurring. Chapelle et.al (2005) proposed a density-sensitive distance based on a density-adjustable path length definition as follows,

378 New Frontiers in Graph Theory

The two Laplacian score (1) **L***r* and (2) **L***r* have same absolute value of denominators. If there

(1) 2 1 , 1 1 ( ) <sup>2</sup>

1 , 1 1 ( ) 2 ()

1 , <sup>1</sup> ( ) 2 ()

*r ri rj k ikjk k k <sup>h</sup> <sup>x</sup> <sup>x</sup> nn n* **T (1)**

*x x <sup>n</sup>* **fLf** (11)

*nn n* **(2) fLf** (12)

**<sup>r</sup> f Lf**(13)

2

2

(14)

(15)

*x x*

*r r ri rj k ij k <sup>k</sup>*

*r r ri rj <sup>k</sup> i kj k k k*

*<sup>p</sup> <sup>k</sup>*

**T (1) r r T (2) r**

consistent with these data graphs, term of (1) **L***r* should be smaller and (2) **L***r* be larger.

min( ) (2) max( ) *<sup>r</sup> k k r r h h h*

Therefore, from Eq.(14), instead of the feature consistency index in Definition 1, the ratio of two Laplacian scores can also be considered as equivalent estimation of feature consistency. They are over the data graph with the configuration of **W**(2) and **W**(1) . If the feature is

Therefore, from graph theory perspective, the supervised feature selection criterion by

**fLf L fLf L**

Based on the criterion, the feature can be ranked, and a simple searching engine can be

Commonly, the weight of the edge in a Graph is defined by the Euclid distance between the

But for nonlinear data, such as two clusters shown in Fig.2, data points *a* and *c* belong to the same cluster, and the Euclid distance between points *a* and *b* is less than that between points *a* and *c.* Therefore, it is necessary to measure the similarity of data points in a different way, which can zoom out the path length of those passing through low density area, and zoom in those not. Then the minimum path can be obtained to replace the Euclid distance. It is very useful for machine failure prognosis, because there always exists nonlinear when machine anomaly occurring. Chapelle et.al (2005) proposed a density-sensitive distance based on a

*m* **T (1) r r T (2) r**

(1) (2) *r r r*

**fLf L fLf L**

exists clustering C={C*1*,…, C*p* } over data graph G, the nominators are as the following

*T p*

*T p*

Combining Eq.(4) and Eq.(11), there is

Laplacian score can be defined as follows

**3.1 Density-adjustable spectral clustering** 

two nodes, and it works very well with the linear data.

density-adjustable path length definition as follows,

Comparing Eq.(12) with Eq.(13), it can be obtained

(1)

defined to select appropriate number of features from the list.

**3. Spectral kernel transductive support vector machine** 

Fig. 2. Scatter Plot of two clusters based on Density-adjustable spectral clustering

$$d(\mathbf{x}\_{i'}\mathbf{x}\_j) = \rho^{dist(x\_i, x\_j)} - 1 \tag{16}$$

Where (,) *<sup>i</sup> <sup>j</sup> dist x x* is the Euclid distance between data x*i* and data x*j*, and is the density adjustble factor( 1 ). This definition is satisfied with the cluster assumption, and can be used to describe the consistency of data structure by adjusting the factor to zoom out or in the length between the two data points. Therefore, the similarity of the data point x*i* and x*<sup>j</sup>* can be expressed as following,

$$s\_0(\mathbf{x}\_{i'}, \mathbf{x}\_j) = \frac{1}{dsp(l(\mathbf{x}\_{i'}, \mathbf{x}\_j)) + 1} \tag{17}$$

Where ( ( , )) *<sup>i</sup> <sup>j</sup> dsp lx x* is denoted as the minimum distance between data x*i* and x*j*, which is the shortest path based on density adjustment.

#### **3.2 Transductive support vector machine**

Support vector machine is one of supervised learning methods based on statistical learning theory (Vapnik, 1998). Instead of Empirical Risk Minimization (ERM), Structural Risk Minimization (SRM) is an inductive principle for model selection used for learning from finite training data sets, which enhances the generalization ability of the SVM. The key to SVM is the "kernel tricks", by which the nonlinear map can be realized from low dimensional space to high dimensional space. Therefore, the nonlinear classification task in low dimensional space can be converted to a linear classification, which can be solved by finding a best hyperplane in the high dimensional space.

Considering of 2-class data points, there are many hyperplanes that might classify the data. The best hyperplane is the one that represents the largest margin between the two classes, and the distance from this hyperplane to the nearest data point on each side is maximized.

Spectral Clustering and Its Application in Machine Failure Prognosis 381

*wC C* 

, \*

Where *C* and \* *C* are the penalty factors corresponding to labeled and unlabeled data,

unlabeled. These parameters are set by user, and they allow trading off margin size against

Combine the ideas of density-adjustable spectral clustering (Chapelle & Zien,2005) and TSVM, we can get the density-adjustable spectral kernel based TSVM algorithm, called DSTSVM. The data is pre-processed by density-adjustable spectral decomposition, and the processed data is input into the TSVM which is trained by gradient descent on a Gaussian kernel, then the data is classified. The implementation of the DSTSVM algorithm is as

Step.3 Construct the Graph G based on data matrix S*0*. Define the similarity of between

Step.4 Calculate the Laplacian matrix (-1/2) (-1/2) L=D WD solve the Eigen-decomposition and

Step.7 Train the TSVM by gradient descent using the newdata and then get the classification

Step.5 Select the first *r* nonnegative eigenvectors according to 1 1 85% *r n*

, and then the degree diagonal matrix can be denoted as

<sup>1</sup> : 0 *<sup>l</sup> i i* , \*

Input: *n*-dimension data X{X*1*,…,X*m*} (some labelled and others unlabelled)

Output: The label of unlabelled data and the correctness of classification

Step.2 Calculate the shortest path matrix S*<sup>0</sup>* according to the Eq.16

<sup>1</sup> min : 2

<sup>1</sup> . .: : ( ) 1 *<sup>l</sup> ii i i st y w x b*

misclassifying training samples or excluding test samples.

**3.3 Density-adjustable spectral kernel based TSVM** 

Step.1 Calculate the Euclid distance matrix S of data X

 

Step.6 Get the new data set as 1/2 Y=Ur r Λ <sup>1</sup> {y , ,y } *<sup>m</sup>*

Parameter: density-adjustable factor

Gaussian kernel. (Set by user)

nodes as <sup>2</sup> <sup>0</sup> ( , )/2 *i j s xx w e ij* 

rearrange the eigenvalue 1 {,,}

(,) *Dii w ij* .

order.

result.

*i* and \* *j* 

following,

2 \* \* 0 0

*l k i j i j*

<sup>1</sup> : 0 *<sup>k</sup> j j* 

are the slack factors respectively, *l* is the number of labeled data and *k* that of

<sup>1</sup> : ( )1 *<sup>k</sup> jj j j y wx b*

, penalty factor *C* and kernel width

*<sup>n</sup>* and corresponding eigenvector {U*1*,...,U*n*} in descent

*i j i j* 

 .

of the

(20)

Fig. 3. The Linear Hyperplane of Support Vector Machine

As shown in Fig.3, the data points of Class A are denoted as '•', the others of Class B as '□', and the data points circled by '○' represented support vectors. These data *x* in the input space are separated by the best hyperplane H

$$\mathbf{y}(\mathbf{w}\cdot\mathbf{x}+\mathbf{b})=\mathbf{0}\tag{18}$$

with the maximal geometric margin

$$\left\|\varphi(w) = 2/\left\|w\right\|^2\right\| \tag{19}$$

here '· ' denotes the dot product and **w** is normal vector to the hyperplane, and *b* is offset from the hyperplane to the margin.

The plane H1 and H2 are also the hyperplanes where the nearest data points to 'H' are located. H1 can be expressed as y( )1 **w** *x b* and H2 y( )1 **w** *x b* respectively. It reveals that finding the best hyperplane means minimizing the <sup>2</sup> *w* 2 . There are three widely used kernel function as following,

Polynomial Kernel: , ,1 *<sup>d</sup> Kxy xy* ,

Gaussian Kernel: 2 2 *Kxy x y* , exp( ) ,

Hyperbolic: *K xy vxy c* , tanh , .

As for Transductive Support Vector Machine (TSVM), it is one of semi-supervised learning methods, which can combine the labelled data with amounts of unlabelled data co-training. TSVM uses an idea of maximizing separation between labelled and unlabelled data (Vapnik, 1998). It solves

380 New Frontiers in Graph Theory

Class A

H1

Class B

arg 2 *m in d w*

H2

H

Fig. 3. The Linear Hyperplane of Support Vector Machine

space are separated by the best hyperplane H

with the maximal geometric margin

from the hyperplane to the margin.

widely used kernel function as following,

Polynomial Kernel: , ,1 *<sup>d</sup> Kxy xy* ,

Hyperbolic: *K xy vxy c* , tanh , .

1998). It solves

Gaussian Kernel: 2 2 *Kxy x y* , exp(

2

*y*(*wx+b*)=-1

As shown in Fig.3, the data points of Class A are denoted as '•', the others of Class B as '□', and the data points circled by '○' represented support vectors. These data *x* in the input

=2/ <sup>2</sup>

here '· ' denotes the dot product and **w** is normal vector to the hyperplane, and *b* is offset

The plane H1 and H2 are also the hyperplanes where the nearest data points to 'H' are located. H1 can be expressed as y( )1 **w** *x b* and H2 y( )1 **w** *x b* respectively. It

> ) ,

As for Transductive Support Vector Machine (TSVM), it is one of semi-supervised learning methods, which can combine the labelled data with amounts of unlabelled data co-training. TSVM uses an idea of maximizing separation between labelled and unlabelled data (Vapnik,

reveals that finding the best hyperplane means minimizing the <sup>2</sup>

*y*(*wx+b*)=1

y( )0 **w** *x b* (18)

( ) *w w* (19)

*w* 2 . There are three

*y*(*wx+b*)=0

$$\min : \frac{1}{2} \left\| w \right\|^2 + \mathbb{C} \sum\_{i=0}^{l} \xi\_i + \mathbb{C} \overset{k}{\sum\_{j=0}^{k} \xi\_j}\_{f=0}^{\*} \tag{20}$$

$$\begin{aligned} \text{s.t.:} & \forall\_{i=1}^{l} : y\_i (w \cdot \mathbf{x}\_i + b) \ge 1 - \xi\_i \; \; \forall\_{j=1}^{k} : y\_j (w \cdot \mathbf{x}\_j + b) \ge 1 - \xi\_j^\* \\\\ & \forall\_{i=1}^{l} : \xi\_i > 0 \; \; \forall\_{j=1}^{k} : \xi\_j^\* > 0 \end{aligned}$$

Where *C* and \* *C* are the penalty factors corresponding to labeled and unlabeled data, *i* and \* *j* are the slack factors respectively, *l* is the number of labeled data and *k* that of unlabeled. These parameters are set by user, and they allow trading off margin size against misclassifying training samples or excluding test samples.

### **3.3 Density-adjustable spectral kernel based TSVM**

Combine the ideas of density-adjustable spectral clustering (Chapelle & Zien,2005) and TSVM, we can get the density-adjustable spectral kernel based TSVM algorithm, called DSTSVM. The data is pre-processed by density-adjustable spectral decomposition, and the processed data is input into the TSVM which is trained by gradient descent on a Gaussian kernel, then the data is classified. The implementation of the DSTSVM algorithm is as following,

Input: *n*-dimension data X{X*1*,…,X*m*} (some labelled and others unlabelled)

Parameter: density-adjustable factor , penalty factor *C* and kernel width of the Gaussian kernel. (Set by user)

Output: The label of unlabelled data and the correctness of classification

Step.1 Calculate the Euclid distance matrix S of data X

Step.2 Calculate the shortest path matrix S*<sup>0</sup>* according to the Eq.16

Step.3 Construct the Graph G based on data matrix S*0*. Define the similarity of between nodes as <sup>2</sup> <sup>0</sup> ( , )/2 *i j s xx w e ij* , and then the degree diagonal matrix can be denoted as (,) *Dii w ij* .

Step.4 Calculate the Laplacian matrix (-1/2) (-1/2) L=D WD solve the Eigen-decomposition and rearrange the eigenvalue 1 {,,} *<sup>n</sup>* and corresponding eigenvector {U*1*,...,U*n*} in descent order.

Step.5 Select the first *r* nonnegative eigenvectors according to 1 1 85% *r n i j i j* .

Step.6 Get the new data set as 1/2 Y=Ur r Λ <sup>1</sup> {y , ,y } *<sup>m</sup>*

Step.7 Train the TSVM by gradient descent using the newdata and then get the classification result.

Spectral Clustering and Its Application in Machine Failure Prognosis 383

accompanied with Failure 2). Every mode had two working conditions with load at 0 and 300Kw, and 25 samples at every condition. As for each sample, there were 154 features which contain 117 vibration features (RMS, kurtosis, crest factor at different time periods, and average energy of selected frequency bands) and 37 other features (torque, temperature, position error, and power at different time periods). Therefore, there were totally 200 154-D

All the features were evaluated and ranked by Laplacian score using the proposed feature selection criterion. Among 154 features, there were 22 features selected which can reflect the data structure well with the best classification performance, which was shown in Fig.4.

0 20 40 60 80 100 120 140 160

feature indice

Therefore, the input data dimension can be reduced from 154-D to 22-D. Selecting 25 labelled samples randomly from those 50 22-D samples within every class (totally 100 samples), and the remained 100 samples were regarded as unlabelled ones. Then all these labelled and unlabelled samples were input into the DSTSVM classifier for co-training. This process was repeated for 10 times, and then through 5-fold cross validation, we predicted

For testing the performance of designed DSTSVM classifier, we reduced the labelled samples to 20 and 10 respectively, and then repeated the procedure above. To verify the effectiveness and correctness, the result was compared with those using SVM (supervised)

The 10th classification results using the data (10 labelled samples VS 40 unlabelled each

H1

samples used for investigation.

0

and TSVM (semi-supervised).

Fig. 4. Features selection based on Laplacian scores

that which class should the unlabelled samples belong to.

class) were shown in Fig.5, Fig. 6, and Fig. 7 respectively.

10

20

30 40

1/score

50

60

70 80

### **4. Case study**

To demonstrate that the proposed feature selection method and DSTSVM classifier are effective in machine failure prognosis, we applied the methods in feed axis faults feature selection and classification.

### **4.1 Experiments**

Feed axis is one of critical components in a high-precision numerical control machine tool, which always working in conditions such as high speed, heavy duty and large travel distance. This would augment the degradation of mechanical parts such as bearings, ball nuts and so on. From a preventive maintenance perspective, autonomous fault detection and feed axis health assessment could reduce the possibility of causing more severe damage and downtime to machine tool.

TechSolve Inc. collaborated with the NSF Intelligent Maintenance System Center (IMS) to investigate intelligent maintenance techniques for autonomous feed axis failure diagnosis and health assessment. For the investigation, designed experiments were conducted on a feed axis test-bed built by TechSolve. Multiple seeded failures were tested on the system such as axis front and back ball nut misalignment, bearing misalignment and so on (Siegal et.al, 2011). 13 channels (bearing and ball nut accelerometers, temperature and speed; motor power; encode position and so on) data were collected from the test-bed over a period of approximate 6 months. Since all the tests were designed to carry certain failures under different working conditions, the collected information was labeled in terms of the four condition indices including the test index, the load, ball nuts condition, and bearing condition.


Table 1. Eight working conditions of Four modes (Health, Bearing misalignment, Ballnut misalignment, and Combination)

### **4.2 Feature selection and fault classification**

The samples were collected under 4 modes, which were Health, Failure 1(Bearing misalignment 0.007*μm*), Failure 2 (Ballnut misalignment 0.007*μm*), and Mode 4 (Failure 1 382 New Frontiers in Graph Theory

To demonstrate that the proposed feature selection method and DSTSVM classifier are effective in machine failure prognosis, we applied the methods in feed axis faults feature

Feed axis is one of critical components in a high-precision numerical control machine tool, which always working in conditions such as high speed, heavy duty and large travel distance. This would augment the degradation of mechanical parts such as bearings, ball nuts and so on. From a preventive maintenance perspective, autonomous fault detection and feed axis health assessment could reduce the possibility of causing more severe damage

TechSolve Inc. collaborated with the NSF Intelligent Maintenance System Center (IMS) to investigate intelligent maintenance techniques for autonomous feed axis failure diagnosis and health assessment. For the investigation, designed experiments were conducted on a feed axis test-bed built by TechSolve. Multiple seeded failures were tested on the system such as axis front and back ball nut misalignment, bearing misalignment and so on (Siegal et.al, 2011). 13 channels (bearing and ball nut accelerometers, temperature and speed; motor power; encode position and so on) data were collected from the test-bed over a period of approximate 6 months. Since all the tests were designed to carry certain failures under different working conditions, the collected information was labeled in terms of the four condition indices including the test index, the load, ball nuts condition, and bearing

> BallNut Misalignment

1 (Health) 1 0 0 0 2010-10-20

2 (Failure1) 3 300 0 0.007 2010-11-09

3 (Failure2) 5 0 0.007 0 2010-11-29

Table 1. Eight working conditions of Four modes (Health, Bearing misalignment, Ballnut

The samples were collected under 4 modes, which were Health, Failure 1(Bearing misalignment 0.007*μm*), Failure 2 (Ballnut misalignment 0.007*μm*), and Mode 4 (Failure 1

2 300 0 0 2010-10-22

4 0 0 0.007 2010-11-22

6 300 0.007 0 2010-12-01

7 300 0.007 0.007 2010-12-02 8 0 0.007 0.007 2010-12-03

Bearing Misalignment Time

**4. Case study** 

**4.1 Experiments** 

condition.

Mode Test

4 (Failure1 and Failure2)

misalignment, and Combination)

**4.2 Feature selection and fault classification** 

index

Table Load

selection and classification.

and downtime to machine tool.

accompanied with Failure 2). Every mode had two working conditions with load at 0 and 300Kw, and 25 samples at every condition. As for each sample, there were 154 features which contain 117 vibration features (RMS, kurtosis, crest factor at different time periods, and average energy of selected frequency bands) and 37 other features (torque, temperature, position error, and power at different time periods). Therefore, there were totally 200 154-D samples used for investigation.

All the features were evaluated and ranked by Laplacian score using the proposed feature selection criterion. Among 154 features, there were 22 features selected which can reflect the data structure well with the best classification performance, which was shown in Fig.4.

Fig. 4. Features selection based on Laplacian scores

Therefore, the input data dimension can be reduced from 154-D to 22-D. Selecting 25 labelled samples randomly from those 50 22-D samples within every class (totally 100 samples), and the remained 100 samples were regarded as unlabelled ones. Then all these labelled and unlabelled samples were input into the DSTSVM classifier for co-training. This process was repeated for 10 times, and then through 5-fold cross validation, we predicted that which class should the unlabelled samples belong to.

For testing the performance of designed DSTSVM classifier, we reduced the labelled samples to 20 and 10 respectively, and then repeated the procedure above. To verify the effectiveness and correctness, the result was compared with those using SVM (supervised) and TSVM (semi-supervised).

The 10th classification results using the data (10 labelled samples VS 40 unlabelled each class) were shown in Fig.5, Fig. 6, and Fig. 7 respectively.

Spectral Clustering and Its Application in Machine Failure Prognosis 385

0 20 40 60 80 100 120 140 160 180 200

Kernel width *σ*

 ,). The

Ave Correctness (%)

was set as the

and

reflects the

Sample

All of the classifiers were trained on Gaussian kernel, and the kernel width

influencing the DSTSVM classification, and the density adjustable factor

correctness, we can choose the optimal group of these two parameters (

comparison results under different labelled samples were listed in Table.2.

Ave Correctness (%)

Table 2. The parameters and the average correctness of three classifiers

optimal value corresponding to the different classifiers. There are two parameters

data similarity measure, which also affects the Kernel function. In terms of the classification

DSTSVM SVM TSVM

In Table.2, the average correctness means the average of 10 testing process by 5-fold CV. It can be observed that the proposed method outperforms the TSVM and equals to the supervised SVM under different labelled samples. Moreover, when the labelled data was reduced to 10 samples, it performed better than SVM, which was very meaningful to

(25vs25)\*4 (0.75,2) 91.90 0.5 91.80 0.55 82.50 (20vs30)\*4 (0.75,2) 90.92 0.5 90.42 0.55 83.33 (10vs40)\*4 (0.75,2) 90.25 0.5 88.88 0.55 85.63

Kernel width *σ*

Ave Correctness (%)

0

Fig. 7. The Learning result of TSVM

Kernel width & density factor (*σ,ρ*)

practical machine failure prognosis applications.

Labelled vs Unlabelled 0.5

1

1.5

2

Class

2.5

3

3.5

4

Original Class Prediction Class

Fig. 5. The Learning result of DSTSVM

Fig. 6. The Learning result of SVM

384 New Frontiers in Graph Theory

Original Class Predicted Class

Original Class Prediction Class

0 50 100 150 200

0 50 100 150 200

Sample

Sample

0

0

Fig. 6. The Learning result of SVM

1

2

Class

3

4

Fig. 5. The Learning result of DSTSVM

1

2

Class

3

4

Fig. 7. The Learning result of TSVM

All of the classifiers were trained on Gaussian kernel, and the kernel width was set as the optimal value corresponding to the different classifiers. There are two parameters and influencing the DSTSVM classification, and the density adjustable factor reflects the data similarity measure, which also affects the Kernel function. In terms of the classification correctness, we can choose the optimal group of these two parameters ( , ). The comparison results under different labelled samples were listed in Table.2.


Table 2. The parameters and the average correctness of three classifiers

In Table.2, the average correctness means the average of 10 testing process by 5-fold CV. It can be observed that the proposed method outperforms the TSVM and equals to the supervised SVM under different labelled samples. Moreover, when the labelled data was reduced to 10 samples, it performed better than SVM, which was very meaningful to practical machine failure prognosis applications.

Spectral Clustering and Its Application in Machine Failure Prognosis 387

T. F. Cox. and M. A. A. Cox (2001). Multidimensional scaling, Chapman and Hall(2nd

M. Belkin and P. Niyogi. (2003). Laplacian Eigenmaps for Dimensionality Reduction and

M. Ge, R. Du, G. Zhang, Y. Xu. (2004) Fault diagnosis using support vector machine with an

M. Li, J. Xu, J. Yang, D. Yang and D. Wang. (2009). Multiple manifolds analysis and its

P. Nomikos and J. F. MacGregor.(1994). Monitoring batch processes using multiway

Q. Jiang, M.Jia, J. Hu and F. Xu. (2009). Machinery fault diagnosis using supervised

R. Kannan, S. Vempala, and A. Vetta.(2004). On clusterings: Good, bad and spectral. Journal

Skirtich, T., Siegel, D. and Lee, J. (2011). A Systematic Health Monitoring and Fault

S. T. Roweis and L. K. Saul.(2000). Nonlinear dimensionality reduction by locally linear

U. Von Luxburg. (2007). A tutorial on spectral clustering, *Statistics and Computing*, Vol.17,

U. von Luxburg, M. Belkin, and O. Bousquet.(2008) Consistency of spectral clustering. *Annals of Statistics*, Vol.36, No.2, (April 2008),pp.555–586, ISSN 0090-5364 Vapnik, V. (1998). Statistical Learning Theory. Wiley, ISBN 0-471-03003-1, New York, USA W.C Sang, C Lee, J Lee, H Jin, I Lee. (2005). Fault detection and identification of nonlinear

W. Yan and K. F. Goebel. (2005). Feature selection for partial discharge diagnosis,

X. He, D. Cai, P. Niyogi.(2006). Laplacian score for feature selection, *Advances in neural* 

of the ACM, Vol.51, No.3, (May 2004), pp.497–515, ISSN 0004-5411

*Processing*, Vol.18, No.1, (January 2004), pp.143-159, ISSN 0888-3270 M. H. Kaspar and W. H. Ray.(1992). Chemometric methods for process monitoring and high

Data Representation, *Neural Computation*,Vol.15,No.6 (June 2003), pp.1373-1396,

application in sheet metal stamping operations. *Mechanical System and Signal* 

performance controller design, *AIChE Journal*, Vol. 38, No.10, (October 1992), pp.

application to fault diagnosis, *Mechanical systems and signal processing*, Vol.23, No.9,

principal component analysis, *AIChE Journal*, Vol.40, No.8,(August 1994), pp. 1361-

manifold learning," *Mechanical systems and signal processing*, Vol.23, No.7, (October

Identification Methodology for Machine Tool Feed Axis. *MFPT Applied Systems Health Management Conference*, pp.487-506, May 10-12, 2011, Virginia Beach, VA,

embedding, *Science*, Vol. 290, No.5500, (December 2000),pp. 2323-2326, ISSN 0036-

processes based on kernel PCA, *Chemometrics and intelligent laboratory systems*,

*Proceedings of the 12th SPIE: Health Monitoring and Smart Nondestructive Evaluation of Structural and Biological Systems IV*, Vol.5768, pp. 166-175, ISBN 0-8194-5749-3,

*information processing systems*, Vol.18, p507-515, ISBN 0-262-19568-2, December 4-

Edition), ISBN 1-584-88094-3, Florida, USA

(November 2009) ,pp. 2500-2509, ISSN 0888-3270

No.4, (December 2007), pp. 395-416, ISSN 0960-3174

Vol.75, No.1, (Januray 2005), pp.55-67, ISSN 0169-7439

March 19 - 22, 2007, San Diego , California,USA

7,2006, Vancouver, British Columbia, Canada

2009), pp. 2301-2311, ISSN 0888-3270

ISSN 0899-7667

1593-1608,ISSN 1547-5905

1375, ISSN 1547-5905

USA

8075

### **5. Conclusion**

The proposed feature selection method can capture the structures of the input data, reduce the dimension of the data and expedite the computation process. More importantly, the classification result is also improved by this feature selection method. Compared with traditional supervised SVM learning and the TSVM semi-supervised learning method, the proposed DSTSVM performed better. Experiment results demonstrate that the proposed DSTSVM method is effective and capable of classifying incipient failures. It has great potential for machine fault prognosis in practice. Based on the current work, the proposed approach can be used to quantify and assure the sufficiency of the data for prognostics applications.

In total, the spectral clustering based method was proposed to evaluate data and to select sensitive features for prognostics, furthermore the spectral kernel based TSVM classifier was also proved to be effective in PHM applications.

### **6. Acknowledgment**

The work described in this paper is supported in part by the National Natural Science Foundation of China (51075150), the Fundamental Research Funds for the Central Universities (2009ZM0091), and Open Research Foundation of State Key Laboratory of Digital Manufacturing Equipment and Technology (DMETKF2009010). The authors would also like to thank Intelligent Maintenance System center in University of Cincinnati and its industry collabrator TechSolve Inc. for the investigation of feed axes system.

### **7. References**


386 New Frontiers in Graph Theory

The proposed feature selection method can capture the structures of the input data, reduce the dimension of the data and expedite the computation process. More importantly, the classification result is also improved by this feature selection method. Compared with traditional supervised SVM learning and the TSVM semi-supervised learning method, the proposed DSTSVM performed better. Experiment results demonstrate that the proposed DSTSVM method is effective and capable of classifying incipient failures. It has great potential for machine fault prognosis in practice. Based on the current work, the proposed approach can be used to quantify and assure the sufficiency of the data for prognostics

In total, the spectral clustering based method was proposed to evaluate data and to select sensitive features for prognostics, furthermore the spectral kernel based TSVM classifier was

The work described in this paper is supported in part by the National Natural Science Foundation of China (51075150), the Fundamental Research Funds for the Central Universities (2009ZM0091), and Open Research Foundation of State Key Laboratory of Digital Manufacturing Equipment and Technology (DMETKF2009010). The authors would also like to thank Intelligent Maintenance System center in University of Cincinnati and its

B. Schölkopf, A. Smola, K.R.Muller.(1998). Nonlinear Component Analysis as a Kernel

Campbell, C. and Bennett, K. (2001). A linear programming approach to novelty detection,

Chapelle O, Zien A.(2005). Semi-supervised classification by low density separation,

D. Dong and T. J. McAvoy.(1996). Batch tracking via nonlinear principal component

Harkat, M-F., Djelel, S., Doghmane, N. and Benouaret, M. (2007). Sensor fault detection,

I. Jolliffe.(2002)Principal component analysis, *Encyclopedia of Statistics in Behavioral Science*,

J. B. Tenenbaum, V.d.Silva and J.C. Langford.(2000). A global geometric framework for

04208-8, Vancouver, British Columbia, Canada. December 3-8, 2001

pp57-64, ISBN 0-9727358-1-X, Barbados, January 6-8, 2005

Eigenvalue Problem, *Neural Computation*, Vol.10, No.5,(July 1998), pp.1299–1319,

*Advances in Neural Information Processing System*, Vol. 14, pp.395-401, ISBN-10 0-262-

*Proceedings of the 10th International Workshop on Artificial Intelligence and Statistics,*

analysis, *AIChE Journal*, vol. 42,No.8, (August 1996). pp. 2199-2208, ISSN 1547-5905

isolation and reconstruction using non-linear principal component analysis, *International Journal of Automation and Computing*, Vol. 4, No. 2, (April 2007),pp.149-

nonlinear dimensionality reduction, *Science*, Vol. 290, No. 5500, (December

industry collabrator TechSolve Inc. for the investigation of feed axes system.

**5. Conclusion** 

applications.

**6. Acknowledgment** 

**7. References** 

ISSN 0899-7667

155, ISSN 1751-8520

ISBN 0-387-95442-2. Springer, New York

2000),pp. 2319-2323, ISSN 0036-8075

also proved to be effective in PHM applications.


**1. Introduction**

by Shi & Malik (1997).

The image segmentation task is to divide an image into regions of interest that are suitable for machine or human operations. The machine ability of recognizing and distinguishing objects, or its parts in a scene, is the main goal of computer vision domain. This is a critical issue

**Combining Hierarchical Structures on Graphs** 

**and Normalized Cut for Image Segmentation** 

Marco Antonio Garcia Carvalho and André Luis Costa

*School of Technology, University of Campinas* 

**19**

*Brazil* 

Extensive studies have been accomplished for image segmentation. The segmentation algorithms are commonly categorized according to the image characteristics borders and regions (Gonzales & Woods, 2000). In the first one, the image is divided based on its discontinuities, *i.e.*, the places where abrupt intensity changes occur. Regarding to the region segmentation, this happen when there are similarities of color or texture, for example, between neighboring pixels. In spite of these categories, the problem is to find a good partitioning of

Several algorithms in image segmentation can be formulated from the partitioning of graphs. This means using graphs as image models or representations and then apply a criterion or methodology in order to split it into subgraphs. The existing literature on graph partitioning is wide, but we are interested on a particular approach, the called Normalized Cut introduced

A graph cut consists of removing edges consistently in order to generate two subgraphs. The Normalized Cut approach is a graph-cut technique based on Spectral Graph Theory responsible for generating balanced subgraphs through the removal of the smallest possible number of edges. The Normalized Cut approach uses concepts by Fiedler (1975) in the manipulation of the second smallest eigenvector of the graph representative matrix as a guide for graph partitioning. The inherent bias of this technique is that balanced partitions for image segmentation cannot be appropriate for some images when small number of partitions is desired (*e.g.*, images with an easily detectible object and an uniform background). A survey

There are several ways of generating the graph model representing the input images. The graph commonly used as input to the Normalized Cut implementation is that one based on the pixel grid similarity. We propose two alternative representations of graphs known as Quadtree and Component Tree similarity graphs. These graphs decompose the image into partitions and thus carry hierarchical information that can be useful on segmentation task.

of application of Spectral Graph Theory is given by Spielman (2007).

because the judgement of good or bad segmentation is usually subject to humans.

an image among several possible to be achieved.


## **Combining Hierarchical Structures on Graphs and Normalized Cut for Image Segmentation**

Marco Antonio Garcia Carvalho and André Luis Costa *School of Technology, University of Campinas Brazil* 

### **1. Introduction**

388 New Frontiers in Graph Theory

Y Lei, M Zuo.(2009). Gear crack level identication based on weighted K nearest neighbor

Ypma, A. (2001). Learning methods for machine vibration analysis and health monitoring,

Z. Zhao and H. Liu, (2007). Spectral feature selection for supervised and unsupervised

pp.1151-1157. ISBN 978-1-59593-793-3, June20-24 ,2007, Corvallis, OR, USA

2009),pp.1535-1547, ISSN 0888-3270

Netherlands.

classication algorithm, *Mechanical Systems and Signal Processing,* Vol.23,No.5, (July

*PhD Dissertation*, ISBN 90-9015310-1, Delft University of Technology, Delft,

learning, Proceedings of the 24th International Conference on Machine Learning ,

The image segmentation task is to divide an image into regions of interest that are suitable for machine or human operations. The machine ability of recognizing and distinguishing objects, or its parts in a scene, is the main goal of computer vision domain. This is a critical issue because the judgement of good or bad segmentation is usually subject to humans.

Extensive studies have been accomplished for image segmentation. The segmentation algorithms are commonly categorized according to the image characteristics borders and regions (Gonzales & Woods, 2000). In the first one, the image is divided based on its discontinuities, *i.e.*, the places where abrupt intensity changes occur. Regarding to the region segmentation, this happen when there are similarities of color or texture, for example, between neighboring pixels. In spite of these categories, the problem is to find a good partitioning of an image among several possible to be achieved.

Several algorithms in image segmentation can be formulated from the partitioning of graphs. This means using graphs as image models or representations and then apply a criterion or methodology in order to split it into subgraphs. The existing literature on graph partitioning is wide, but we are interested on a particular approach, the called Normalized Cut introduced by Shi & Malik (1997).

A graph cut consists of removing edges consistently in order to generate two subgraphs. The Normalized Cut approach is a graph-cut technique based on Spectral Graph Theory responsible for generating balanced subgraphs through the removal of the smallest possible number of edges. The Normalized Cut approach uses concepts by Fiedler (1975) in the manipulation of the second smallest eigenvector of the graph representative matrix as a guide for graph partitioning. The inherent bias of this technique is that balanced partitions for image segmentation cannot be appropriate for some images when small number of partitions is desired (*e.g.*, images with an easily detectible object and an uniform background). A survey of application of Spectral Graph Theory is given by Spielman (2007).

There are several ways of generating the graph model representing the input images. The graph commonly used as input to the Normalized Cut implementation is that one based on the pixel grid similarity. We propose two alternative representations of graphs known as Quadtree and Component Tree similarity graphs. These graphs decompose the image into partitions and thus carry hierarchical information that can be useful on segmentation task.

a *connected graph G* all pair of nodes are connected. A *cycle* is a path where *i*<sup>1</sup> = *in*. A *tree* is a

Combining Hierarchical Structures on Graphs and Normalized Cut for Image Segmentation 391

A graph and its features can be represented using matrices (Wilson & Watkins, 1990). The adjacency between graph nodes can be described by an *Adjacency Matrix A* with size *n* × *n*, where *n* is the number of nodes, |*V*|, of graph *G* = (*V*, *E*,*W*). The matrix elements *a*(*i*, *j*) are 1 if *i* ∼ *j*, *i*, *j* ∈ *V*, or 0, otherwise. Similarly, the *Weight Matrix W*, also with size *n* × *n*, *n* = |*V*|, can store the graph weights *w*(*i*, *j*), *i* ∼ *j*, *i*, *j* ∈ *V*. The *Degree Matrix D* is diagonal with *d*(*i*, *i*) = *di*, where *di* is the degree os node *i* ∈ *V*. Finally, the *Laplacian Matrix L* is defined as *L* = *D* − *A* for unweighted graphs, or *L* = *D* − *W* for weighted graphs. The Laplacian

In this *Pixel Grid-based* image-graph representation each pixel is taken as a graph node, and two pixels within a *r* distance are connected by an edge. Shi & Malik (2000) have used this approach as the first one for their Normalized Cut technique. This approach have been introduced in the experiments as a landmark for compare results with other approaches.

The *Multiscale Pixel Grid* graph decomposition algorithm introduced by Cour et al. (2005) works on multiple scales of the image grid to capture coarse and fine detail levels. The construction of the similarity graph is done according to their spatial separation, as in the

where *W* is a weight matrix that represents a graph composed by independent subgraphs *Ws*,

In the Multiscale approach there exists one different radius for each image scale *s*. Thus, two pixels *i* and *j* ∈ *Ws* are connected only if the distance between them is lower than a radius *Rs*. The radii values are a tradeoff between the computation cost and the segmentation result. The Multiscale approach can alleviate this situation by using recursive sub-sampling of the image

The *Component Tree* (CT) (Carvalho, Costa, Ferreira & Cesar-Jr., 2010) is a hierarchical representation of a digital image after thresholding operations between its minimum and maximum gray values (Mosorov & Kowalski, 2002). There exists a relation of inclusion between components at sequential gray levels in the image, explained below by the partition

**Definition 1.** *A partition P of an image I is a set of disjoint regions Ri, i* ∈ N *, where <sup>n</sup>*

*W* = *W*<sup>1</sup> + *W*<sup>2</sup> + ... + *Ws*, (1)

*<sup>i</sup> Ri* = *I and*

matrix is commonly used on Spectral Graph Theory (Spielman, 2007).

connected graph with no cycles.

**2.2 Graph based on the Pixel Grid**

*s* corresponds to a scaled pixel grid.

**2.3 Graph based on the Component Tree**

definition (Carvalho, 2004).

*Ri* ∩ *Rj* = ∅*, i* �= *j.*

**2.2.1 Multiscale Pixel Grid**

following Equation

pixel grid.

**2.1.1 Graphs and matrices**

Another goal is to reduce the computational cost, due to the reduction of the graph size, compared to using the pixel similarity graph.

Finally, we show experiments using Normalized Cut and Quadtree and Component Tree similarity graphs. In addition to the Component Tree, we propose the use of the Reverse Component Tree in order to profit the relevant information in decomposition process of an image. The results are classified using a benchmark provide by The Berkeley Image Database (Martin et al., 2001).

This chapter is organized as follows. Section 2 introduces graph concepts, including our Quadtree and Component Tree based similarity graph. Section 3 presents graph cuts and Normalized Cut theory. Some related works also are described in this section. An overview of the proposed approach is given in Section 4. Experiments in sampled images are done in Section 5 and further comments of the experiments, conclusions, as well as suggestions of future work are done in Section 6.

### **2. Graph representation**

In digital image processing, a graph is commonly used to model digital images (Wilson & Watkins, 1990). In the Normalized Cut segmentation technique the input graph is called *Similarity Graph* (Shi & Malik, 2000), that we explain in details in Section 3.3. In a similarity graph the edge weights should reflect the similarity between the nodes connected by them, and are given by a *Similarity Function*. Here we present the methods for building a similarity graph that we have used in the experiments described in Section 5.

There are several approaches to represent an image as a similarity graph. In the next subsections we present some fundamental concepts on graphs, and four image-graph representation approaches: based on the *Pixel Grid* (Shi & Malik, 2000) , *Multiscale Pixel Grid* (Cour et al., 2005), based on the *Component Tree* (Carvalho, Costa, Ferreira & Cesar-Jr., 2010), and based on the *Quadtree* (Carvalho, Costa & Ferreira, 2010). Approaches based on the *Component Tree*, *Quadtree*, and *Multiscale Pixel Grid* rely on hierarchical structures to model an image as a graph, and provide different segmentation results when compared to the classical non-hierarchical pixel grid approach.

#### **2.1 Basic concepts on graphs**

A *graph* is a mathematical structure employed to model or to describe objects and their relationships, *e. g.*, a composition relationship can describe objects and their constituent parts. Let *G* = (*V*, *E*, *W*) be a non-directed weighted graph; *V* is a set of *nodes*, *E* is a set of *edges e*(*i*, *j*), *i*, *j* ∈ *V*, and *W* is a set of *weights w*(*i*, *j*), *i*, *j* ∈ *V*. For each edge *e*(*i*, *j*) ∈ *E* exists an associated weight *w*(*i*, *j*) ∈ *W*, that can be represented by a single value or a set of values. Two nodes *i* and *j* are *adjacent*, represented by *i* ∼ *j*, if there is an edge connecting *i* and *j*. Given a node *i* ∈ *V*, its *degree di* corresponds to its number of neighbours, and its *strength si* (Wilson & Watkins, 1990) to the sum of its edge's weights. A *subgraph* of a graph *G* = (*V*, *E*, *W*) is a graph *G*� = (*V*� , *E*� , *W*� ) where *V*� ⊆ *V*, *E*� ⊆ *E*, and *W*� ⊆ *W*.

A *path π* = (*i*1, *i*2,..., *in*), *in* ∈ *V*, is a sequence without repeated nodes where *ik* ∼ *ik*+1, *k* = 1, 2, . . . , *n* − 1. Two nodes are *connected* if there exists at least one path between *i* and *j*. In a *connected graph G* all pair of nodes are connected. A *cycle* is a path where *i*<sup>1</sup> = *in*. A *tree* is a connected graph with no cycles.

### **2.1.1 Graphs and matrices**

2 Will-be-set-by-IN-TECH

Another goal is to reduce the computational cost, due to the reduction of the graph size,

Finally, we show experiments using Normalized Cut and Quadtree and Component Tree similarity graphs. In addition to the Component Tree, we propose the use of the Reverse Component Tree in order to profit the relevant information in decomposition process of an image. The results are classified using a benchmark provide by The Berkeley Image Database

This chapter is organized as follows. Section 2 introduces graph concepts, including our Quadtree and Component Tree based similarity graph. Section 3 presents graph cuts and Normalized Cut theory. Some related works also are described in this section. An overview of the proposed approach is given in Section 4. Experiments in sampled images are done in Section 5 and further comments of the experiments, conclusions, as well as suggestions of

In digital image processing, a graph is commonly used to model digital images (Wilson & Watkins, 1990). In the Normalized Cut segmentation technique the input graph is called *Similarity Graph* (Shi & Malik, 2000), that we explain in details in Section 3.3. In a similarity graph the edge weights should reflect the similarity between the nodes connected by them, and are given by a *Similarity Function*. Here we present the methods for building a

There are several approaches to represent an image as a similarity graph. In the next subsections we present some fundamental concepts on graphs, and four image-graph representation approaches: based on the *Pixel Grid* (Shi & Malik, 2000) , *Multiscale Pixel Grid* (Cour et al., 2005), based on the *Component Tree* (Carvalho, Costa, Ferreira & Cesar-Jr., 2010), and based on the *Quadtree* (Carvalho, Costa & Ferreira, 2010). Approaches based on the *Component Tree*, *Quadtree*, and *Multiscale Pixel Grid* rely on hierarchical structures to model an image as a graph, and provide different segmentation results when compared to the classical

A *graph* is a mathematical structure employed to model or to describe objects and their relationships, *e. g.*, a composition relationship can describe objects and their constituent parts. Let *G* = (*V*, *E*, *W*) be a non-directed weighted graph; *V* is a set of *nodes*, *E* is a set of *edges e*(*i*, *j*), *i*, *j* ∈ *V*, and *W* is a set of *weights w*(*i*, *j*), *i*, *j* ∈ *V*. For each edge *e*(*i*, *j*) ∈ *E* exists an associated weight *w*(*i*, *j*) ∈ *W*, that can be represented by a single value or a set of values. Two nodes *i* and *j* are *adjacent*, represented by *i* ∼ *j*, if there is an edge connecting *i* and *j*. Given a node *i* ∈ *V*, its *degree di* corresponds to its number of neighbours, and its *strength si* (Wilson & Watkins, 1990) to the sum of its edge's weights. A *subgraph* of a graph *G* = (*V*, *E*, *W*)

) where *V*� ⊆ *V*, *E*� ⊆ *E*, and *W*� ⊆ *W*. A *path π* = (*i*1, *i*2,..., *in*), *in* ∈ *V*, is a sequence without repeated nodes where *ik* ∼ *ik*+1, *k* = 1, 2, . . . , *n* − 1. Two nodes are *connected* if there exists at least one path between *i* and *j*. In

similarity graph that we have used in the experiments described in Section 5.

compared to using the pixel similarity graph.

(Martin et al., 2001).

future work are done in Section 6.

non-hierarchical pixel grid approach.

, *E*� , *W*�

**2.1 Basic concepts on graphs**

is a graph *G*� = (*V*�

**2. Graph representation**

A graph and its features can be represented using matrices (Wilson & Watkins, 1990). The adjacency between graph nodes can be described by an *Adjacency Matrix A* with size *n* × *n*, where *n* is the number of nodes, |*V*|, of graph *G* = (*V*, *E*,*W*). The matrix elements *a*(*i*, *j*) are 1 if *i* ∼ *j*, *i*, *j* ∈ *V*, or 0, otherwise. Similarly, the *Weight Matrix W*, also with size *n* × *n*, *n* = |*V*|, can store the graph weights *w*(*i*, *j*), *i* ∼ *j*, *i*, *j* ∈ *V*. The *Degree Matrix D* is diagonal with *d*(*i*, *i*) = *di*, where *di* is the degree os node *i* ∈ *V*. Finally, the *Laplacian Matrix L* is defined as *L* = *D* − *A* for unweighted graphs, or *L* = *D* − *W* for weighted graphs. The Laplacian matrix is commonly used on Spectral Graph Theory (Spielman, 2007).

#### **2.2 Graph based on the Pixel Grid**

In this *Pixel Grid-based* image-graph representation each pixel is taken as a graph node, and two pixels within a *r* distance are connected by an edge. Shi & Malik (2000) have used this approach as the first one for their Normalized Cut technique. This approach have been introduced in the experiments as a landmark for compare results with other approaches.

### **2.2.1 Multiscale Pixel Grid**

The *Multiscale Pixel Grid* graph decomposition algorithm introduced by Cour et al. (2005) works on multiple scales of the image grid to capture coarse and fine detail levels. The construction of the similarity graph is done according to their spatial separation, as in the following Equation

$$\mathcal{W} = \mathcal{W}\_1 + \mathcal{W}\_2 + \dots + \mathcal{W}\_{\text{s}\prime} \tag{1}$$

where *W* is a weight matrix that represents a graph composed by independent subgraphs *Ws*, *s* corresponds to a scaled pixel grid.

In the Multiscale approach there exists one different radius for each image scale *s*. Thus, two pixels *i* and *j* ∈ *Ws* are connected only if the distance between them is lower than a radius *Rs*. The radii values are a tradeoff between the computation cost and the segmentation result. The Multiscale approach can alleviate this situation by using recursive sub-sampling of the image pixel grid.

#### **2.3 Graph based on the Component Tree**

The *Component Tree* (CT) (Carvalho, Costa, Ferreira & Cesar-Jr., 2010) is a hierarchical representation of a digital image after thresholding operations between its minimum and maximum gray values (Mosorov & Kowalski, 2002). There exists a relation of inclusion between components at sequential gray levels in the image, explained below by the partition definition (Carvalho, 2004).

**Definition 1.** *A partition P of an image I is a set of disjoint regions Ri, i* ∈ N *, where <sup>n</sup> <sup>i</sup> Ri* = *I and Ri* ∩ *Rj* = ∅*, i* �= *j.*

(a) Component Tree (b) Reverse Component Tree

*<sup>k</sup>* ; *k* ∈ N is a cross-section identifier, and

Fig. 2. Component Tree and Reverse Component Tree from grayscale image presented in Fig.

Combining Hierarchical Structures on Graphs and Normalized Cut for Image Segmentation 393

*n* ∈ N is a connected component identifier. Given two nodes *vk*,*<sup>i</sup>* and *vk*,*j*, *vk*,*<sup>i</sup>* ∼ *vk*,*<sup>j</sup>* if distance(*vk*,*i*, *vk*,*j*) ≤ *r*, where *r* ∈ R is the connection radius. After built, the *k* subgraphs are connected by adding the edges from the CT and RCT. The weight of each edge should reflect the likelihood of different connected components. Some of them are difference between areas,

One strong characteristic of CT method is the generation of multiple image partitions at once. Because a cross-section *Ik* corresponds to the whole image, there is one image partition for

Finally, it is important to note that some images can produce a high quantity of connected components, especially in the presence of noise. Therefore, it is useful to apply some pre-processing on the image before starting the CT computation such as, gaussian filter, normalization of the gray values into a smaller range, and merging of identical subsequent

A Quadtree is a data structure formed from the recursive decomposition of a space (Samet, 1984). In the image processing domain, a quadtree usually maps an image and its regions into

The decomposition process is simple: The initial region corresponds to the whole image and is associated to the root node; each region in the image should be recursively decomposed into exact four new disjoint regions until they satisfy a defined criterion of homogeneity. Fig. 3 shows a Quadtree decomposition example. The decomposition criterion choice in this case

In practice, the regularity of the Quadtree decomposition limits the application of this method to square images with edge sizes 2*n*, *<sup>n</sup>* ∈ N . One solution is to relax the regular decomposition, allowing a more suitable number of regions. But the greatest

density, average gray levels and standard deviation, and Euclidean distance.

*vk*,*<sup>n</sup>* correspond to the connected components *CC<sup>n</sup>*

1(a).

each cross-section.

cross-sections.

**2.4 Graph based on the Quadtree**

was to exist regions with only one value.

a directed acyclic graph (Consularo & Cesar-Jr., 2005).

A cross-section *Ik* of an image *I* is a binary image defined as (Mosorov & Kowalski, 2002; Najman & Couprie, 2006):

$$I\_k = \{ \mathbf{x} \in I/I(\mathbf{x}) \ge k \}. \tag{2}$$

In the CT, the *Connected Components* (CC) of all cross-sections are organized in a tree structure. There exists an edge between two connected components *CC<sup>i</sup> <sup>k</sup>*+<sup>1</sup> and *CC<sup>j</sup> <sup>k</sup>* when *CC<sup>i</sup> <sup>k</sup>*+<sup>1</sup> <sup>⊆</sup> *CC<sup>j</sup> k* (inclusion relation); *k* is a cross-section identifier, *i* is a CC in cross-section *k* + 1, and *j* is a CC in cross-section *k*. The connected component of the first cross-section corresponds to the whole image domain and it is called root. The leaves are the elements of the CT that have no children. A fast algorithm to build the CT is given by Najman & Couprie (2006). Fig. 1 shows a gray scale image *I* and its five cross-sections *Ik*. The Component Tree for image *I* is depicted in Fig. 2(a).

Fig. 1. Thresholding image graylevels to build cross-sections. (a) a grayscale image *I* and (b)-(f) its five cross-sections.

When observing the traditional CT model, one realizes that the tree will be composed by only *white* components, *i. e.*, components with value 1. There still information in the cross-sections related to the *black* components. In fact, these components can provide more relevant information in particular cases. Therefore, we have defined the Reverse Component Tree (RCT) (Carvalho, Costa, Ferreira & Cesar-Jr., 2010) where two connected components *CC<sup>i</sup> <sup>k</sup>* and *CC<sup>j</sup> <sup>k</sup>*+<sup>1</sup> are linked when *CC<sup>j</sup> <sup>k</sup>* <sup>⊆</sup> *CC<sup>i</sup> <sup>k</sup>*+1; *k* is a cross-section identifier, *i* is a CC in cross-section *k* + 1, and *j* is a CC in cross-section *k*. Unlike described for the CT case, the roots of the RCT's are formed by the connected components of the last cross-section. Fig. 2(b) shows the Reverse Component Tree for image *I*, presented in Fig. 1(a).

In order to build a connected similarity graph, we combine Component and Reverse Component Trees. This similarity graph will be used in the graph cut process. First, a connected subgraph *Gk* = (*Vk*, *Ek*, *Wk*) is created for each cross-section *Ik*, where the nodes

Fig. 2. Component Tree and Reverse Component Tree from grayscale image presented in Fig. 1(a).

*vk*,*<sup>n</sup>* correspond to the connected components *CC<sup>n</sup> <sup>k</sup>* ; *k* ∈ N is a cross-section identifier, and *n* ∈ N is a connected component identifier. Given two nodes *vk*,*<sup>i</sup>* and *vk*,*j*, *vk*,*<sup>i</sup>* ∼ *vk*,*<sup>j</sup>* if distance(*vk*,*i*, *vk*,*j*) ≤ *r*, where *r* ∈ R is the connection radius. After built, the *k* subgraphs are connected by adding the edges from the CT and RCT. The weight of each edge should reflect the likelihood of different connected components. Some of them are difference between areas, density, average gray levels and standard deviation, and Euclidean distance.

One strong characteristic of CT method is the generation of multiple image partitions at once. Because a cross-section *Ik* corresponds to the whole image, there is one image partition for each cross-section.

Finally, it is important to note that some images can produce a high quantity of connected components, especially in the presence of noise. Therefore, it is useful to apply some pre-processing on the image before starting the CT computation such as, gaussian filter, normalization of the gray values into a smaller range, and merging of identical subsequent cross-sections.

#### **2.4 Graph based on the Quadtree**

4 Will-be-set-by-IN-TECH

A cross-section *Ik* of an image *I* is a binary image defined as (Mosorov & Kowalski, 2002;

In the CT, the *Connected Components* (CC) of all cross-sections are organized in a tree structure.

(inclusion relation); *k* is a cross-section identifier, *i* is a CC in cross-section *k* + 1, and *j* is a CC in cross-section *k*. The connected component of the first cross-section corresponds to the whole image domain and it is called root. The leaves are the elements of the CT that have no children. A fast algorithm to build the CT is given by Najman & Couprie (2006). Fig. 1 shows a gray scale image *I* and its five cross-sections *Ik*. The Component Tree for image *I* is depicted

(a) *I* (b) *I*<sup>1</sup> (c) *I*<sup>2</sup>

(d) *I*<sup>3</sup> (e) *I*<sup>4</sup> (f) *I*<sup>5</sup>

When observing the traditional CT model, one realizes that the tree will be composed by only *white* components, *i. e.*, components with value 1. There still information in the cross-sections related to the *black* components. In fact, these components can provide more relevant information in particular cases. Therefore, we have defined the Reverse Component Tree (RCT) (Carvalho, Costa, Ferreira & Cesar-Jr., 2010) where two connected components

cross-section *k* + 1, and *j* is a CC in cross-section *k*. Unlike described for the CT case, the roots of the RCT's are formed by the connected components of the last cross-section. Fig. 2(b) shows

In order to build a connected similarity graph, we combine Component and Reverse Component Trees. This similarity graph will be used in the graph cut process. First, a connected subgraph *Gk* = (*Vk*, *Ek*, *Wk*) is created for each cross-section *Ik*, where the nodes

Fig. 1. Thresholding image graylevels to build cross-sections. (a) a grayscale image *I* and

*<sup>k</sup>* <sup>⊆</sup> *CC<sup>i</sup>*

There exists an edge between two connected components *CC<sup>i</sup>*

*Ik* = {*x* ∈ *I*/*I*(*x*) ≥ *k*}. (2)

*<sup>k</sup>*+<sup>1</sup> and *CC<sup>j</sup>*

*<sup>k</sup>*+1; *k* is a cross-section identifier, *i* is a CC in

*<sup>k</sup>* when *CC<sup>i</sup>*

*<sup>k</sup>*+<sup>1</sup> <sup>⊆</sup> *CC<sup>j</sup>*

*k*

Najman & Couprie, 2006):

(b)-(f) its five cross-sections.

*<sup>k</sup>*+<sup>1</sup> are linked when *CC<sup>j</sup>*

the Reverse Component Tree for image *I*, presented in Fig. 1(a).

*CC<sup>i</sup>*

*<sup>k</sup>* and *CC<sup>j</sup>*

in Fig. 2(a).

A Quadtree is a data structure formed from the recursive decomposition of a space (Samet, 1984). In the image processing domain, a quadtree usually maps an image and its regions into a directed acyclic graph (Consularo & Cesar-Jr., 2005).

The decomposition process is simple: The initial region corresponds to the whole image and is associated to the root node; each region in the image should be recursively decomposed into exact four new disjoint regions until they satisfy a defined criterion of homogeneity. Fig. 3 shows a Quadtree decomposition example. The decomposition criterion choice in this case was to exist regions with only one value.

In practice, the regularity of the Quadtree decomposition limits the application of this method to square images with edge sizes 2*n*, *<sup>n</sup>* ∈ N . One solution is to relax the regular decomposition, allowing a more suitable number of regions. But the greatest

where *w*(*u*, *v*) are the edges removed from *G*.

(2001).

partition a graph.

graph features.

**3.2 The Normalized Cut**

is similarly defined to a subgraph *GB*.

**3.1 Spectral Graph Theory**

This formula indicates the degree of dissimilarity between *GA* and *GB*, the corresponding subgraphs to the node subsets *A* and *B*, respectively. There are a lot of ways to solve the problem of graph cuts. One of them, proposed by Wu & Leahy (1993), solve this problem removing the smallest possible number of edges. However, in some cases this approach can produce isolated nodes. A study about types of graph cut is given by Soundararajan & Sarkar

Combining Hierarchical Structures on Graphs and Normalized Cut for Image Segmentation 395

A graph cut can be accomplished by means of *Spectral Graph Theory*. In this approach, the matrix eigenvectors that represent graphs are analyzed and used as parameter in order to

The *Spectral Graph Theory* (SGT) studies the eigenvalues of the graph matrices, also called graph spectrum. Algebraic methods used to analyze matrices of graphs are especially effective in treating regular and symmetric graphs (Chung, 1997). The matrices commonly used are adjacency matrices and the SGT establishes a relation between the graph spectrum and the

The use of graph spectrum information for graph cuts has a great contribution from Donath & Hoffman (1972); Fiedler (1975); Pothen et al. (1990). Fiedler proposed that the second smallest eigenvector *v*<sup>2</sup> of the Laplacian matrix, also called the Fiedler vector, has in a given row *v*2[*i*] a numerical information about node *i*, also called the characteristic value of the node. The graph nodes can be partitionated by grouping them according to their value in the Fiedler vector. The commonly way used to group nodes is the characteristic values signals.

The *Normalized Cut* (NCut) technique (Shi & Malik, 1997) is a theoretic method for graph partitioning. Its goal is to find a balanced cut in a graph, in order to generate two or more subgraphs. This technique solves the problem stated by Wu & Leahy (1993) in their minimum cut criteria for graph cutting. Applying this method for image segmentation is possible with a proper image-graph representation, where the subgraphs obtained from graph partitioning represents the image regions. The NCut in a graph G is calculated by the following equation:

SumCon(*A*, *<sup>V</sup>*) <sup>+</sup>

where *A* and *B* are the node subsets of subgraphs *GA* and *GB*, subject to *A* ∪ *B* = *V* and *A* ∩ *B* = ∅; Cut(*A*, *B*) is defined in Equation (3); SumCon(*A*, *V*)is the total weight of the edges connecting nodes from a subgraph *GA* to all nodes in the original graph *G*; and SumCon(*B*, *V*)

The optimal NCut is the one that minimizes Equation 4. The problem in minimizing Equation 4 is that it is only trivial for small graphs. For bigger graphs, it has a NP-Complete complexity. Shi & Malik (2000) extended this equation and found a well-known equation in linear algebra called the Rayleigh Quotient. It can be minimized using spectral graph properties of the

Cut(*A*, *B*) SumCon(*B*, *V*)

, (4)

NCut(*A*, *<sup>B</sup>*) = Cut(*A*, *<sup>B</sup>*)

Fig. 3. Quadtree decomposition. (a) original image. (b) decomposed regions. (c) corresponding Quadtree.

difficulty in creating the quadtree is the choice of the decomposition criterion. There are different criteria proposed, such as the standard deviation or entropy of image gray levels (Consularo & Cesar-Jr., 2005).

In our quadtree approach (Carvalho, Costa & Ferreira, 2010) for image segmentation, we proposed applying the Canny (Canny, 1986) (1986) filter in the image before the decomposition. This filter has low sensitivity to noise in images. By removing pixels with low gradient and thresholding the resultant ones, this process results in a binary image with border pixels highlighted. This procedure was chosen because:


In our work (Carvalho, Costa & Ferreira, 2010), the main reason for using a Quadtree image representation was to reduce the similarity graph size. Thus, in this technique the graph is generated using only the regions associated to the Quadtree leaves. Each region is associated to a node and for each region a centroid pixel is defined as the representative pixel. The nodes of the similarity graph are linked together if their representative pixel distances are less than a given radius *r*, similar to the pixel grid approach. However, it is useful to consider the nodes region sizes to calculate the radius *r*.

The number of nodes on the similarity graph can be influenced by the choice of the edge detector parameters. The number of regions obtained by the proposed technique will vary according to the image features. Also, the parameters of the edge detection filter can be manually specified, in order to change its sensibility.

#### **3. Graph Cut and Normalized Cut**

A graph cut partitions the set of nodes *V* of a graph *G* = (*V*, *E*, *W*) into two disjoint subsets *A* and *B*, and can be expressed by the following equation (Shi & Malik, 1997):

$$\text{Cut}(A, B) = \sum\_{u \in A, v \in B} w(u, v), \tag{3}$$

where *w*(*u*, *v*) are the edges removed from *G*.

This formula indicates the degree of dissimilarity between *GA* and *GB*, the corresponding subgraphs to the node subsets *A* and *B*, respectively. There are a lot of ways to solve the problem of graph cuts. One of them, proposed by Wu & Leahy (1993), solve this problem removing the smallest possible number of edges. However, in some cases this approach can produce isolated nodes. A study about types of graph cut is given by Soundararajan & Sarkar (2001).

A graph cut can be accomplished by means of *Spectral Graph Theory*. In this approach, the matrix eigenvectors that represent graphs are analyzed and used as parameter in order to partition a graph.

### **3.1 Spectral Graph Theory**

6 Will-be-set-by-IN-TECH

(a) *I* (b) Regions (c) Quadtree

border pixels highlighted. This procedure was chosen because:

corresponding Quadtree.

(Consularo & Cesar-Jr., 2005).

ones or zeros (Samet, 1984);

region sizes to calculate the radius *r*.

**3. Graph Cut and Normalized Cut**

manually specified, in order to change its sensibility.

Fig. 3. Quadtree decomposition. (a) original image. (b) decomposed regions. (c)

difficulty in creating the quadtree is the choice of the decomposition criterion. There are different criteria proposed, such as the standard deviation or entropy of image gray levels

In our quadtree approach (Carvalho, Costa & Ferreira, 2010) for image segmentation, we proposed applying the Canny (Canny, 1986) (1986) filter in the image before the decomposition. This filter has low sensitivity to noise in images. By removing pixels with low gradient and thresholding the resultant ones, this process results in a binary image with

1. after the filtering, the image results in a binary matrix. Then, facilitating the decomposition criterion definition, that a region should be decomposed when it is not formed entirely by

2. the edge detection operation drastically reduce the size of data to be processed, while at the same time preserves the structural information about object boundaries (Canny, 1986). In our work (Carvalho, Costa & Ferreira, 2010), the main reason for using a Quadtree image representation was to reduce the similarity graph size. Thus, in this technique the graph is generated using only the regions associated to the Quadtree leaves. Each region is associated to a node and for each region a centroid pixel is defined as the representative pixel. The nodes of the similarity graph are linked together if their representative pixel distances are less than a given radius *r*, similar to the pixel grid approach. However, it is useful to consider the nodes

The number of nodes on the similarity graph can be influenced by the choice of the edge detector parameters. The number of regions obtained by the proposed technique will vary according to the image features. Also, the parameters of the edge detection filter can be

A graph cut partitions the set of nodes *V* of a graph *G* = (*V*, *E*, *W*) into two disjoint subsets *A*

*w*(*u*, *v*), (3)

Cut(*A*, *<sup>B</sup>*) = <sup>∑</sup>*<sup>u</sup>*∈*A*,*v*∈*<sup>B</sup>*

and *B*, and can be expressed by the following equation (Shi & Malik, 1997):

The *Spectral Graph Theory* (SGT) studies the eigenvalues of the graph matrices, also called graph spectrum. Algebraic methods used to analyze matrices of graphs are especially effective in treating regular and symmetric graphs (Chung, 1997). The matrices commonly used are adjacency matrices and the SGT establishes a relation between the graph spectrum and the graph features.

The use of graph spectrum information for graph cuts has a great contribution from Donath & Hoffman (1972); Fiedler (1975); Pothen et al. (1990). Fiedler proposed that the second smallest eigenvector *v*<sup>2</sup> of the Laplacian matrix, also called the Fiedler vector, has in a given row *v*2[*i*] a numerical information about node *i*, also called the characteristic value of the node. The graph nodes can be partitionated by grouping them according to their value in the Fiedler vector. The commonly way used to group nodes is the characteristic values signals.

### **3.2 The Normalized Cut**

The *Normalized Cut* (NCut) technique (Shi & Malik, 1997) is a theoretic method for graph partitioning. Its goal is to find a balanced cut in a graph, in order to generate two or more subgraphs. This technique solves the problem stated by Wu & Leahy (1993) in their minimum cut criteria for graph cutting. Applying this method for image segmentation is possible with a proper image-graph representation, where the subgraphs obtained from graph partitioning represents the image regions. The NCut in a graph G is calculated by the following equation:

$$\text{NCCut}(A, B) = \frac{\text{Cut}(A, B)}{\text{SumCon}(A, V)} + \frac{\text{Cut}(A, B)}{\text{SumCon}(B, V)'} \tag{4}$$

where *A* and *B* are the node subsets of subgraphs *GA* and *GB*, subject to *A* ∪ *B* = *V* and *A* ∩ *B* = ∅; Cut(*A*, *B*) is defined in Equation (3); SumCon(*A*, *V*)is the total weight of the edges connecting nodes from a subgraph *GA* to all nodes in the original graph *G*; and SumCon(*B*, *V*) is similarly defined to a subgraph *GB*.

The optimal NCut is the one that minimizes Equation 4. The problem in minimizing Equation 4 is that it is only trivial for small graphs. For bigger graphs, it has a NP-Complete complexity. Shi & Malik (2000) extended this equation and found a well-known equation in linear algebra called the Rayleigh Quotient. It can be minimized using spectral graph properties of the

In several works, the image model used is the similarity graph built by taking each image pixel as a node. In this case, the node pairs within a given radius r are connected by an edge.

Combining Hierarchical Structures on Graphs and Normalized Cut for Image Segmentation 397

Monteiro & Campilho (2008) proposed the Watershed Normalized Cut, which uses the regions from the Watershed image segmentation as nodes for the similarity graph. The Watershed region similarity graph is either used by Carvalho et al. (2009) for comparison with the primitive pixel affinity graph in yeast cells images segmentation. Ma & Wan (2008) used

The primitive normalized cut enhancement was also studied and applied by many researchers. Cour et al. (2005) proposes a Normalized Cut adaptive that focus on the computational problem created by long range graphs. The authors suggested the use of multiscale segmentations, decomposing a long range graph into independent subgraphs. The main contribution of this technique is that larger images can be better segmented with a linear complexity. Sun & He (2009) proposed the use of the multiscale graph decomposition, partitioning the image graph representation at the finest scale level and weighting the graph

Tolliver & Miller (2006) suggested an improvement of the normalized cut technique. They proposed the use of the *k* first eigenvectors for graph partitioning as the *k*-way Normalized cut. The difference is that these eigenvectors modify the edges weight in the graph, resulting in new graph matrices, and the *k* first eigenvectors are calculated again in the new Laplacian Matrix. The authors proved that this procedure changes the *k* first eigenvalues to zero. Spectral graph theory concepts about the Laplacian matrix informs that the number of eigenvalues equal to zero shows the number of connected components in a graph. Their algorithm returns these connected components. Cour et al. (2005) suggested another improvement by dividing the graph in scales and processing them in paralell. This approach

Tao et al. (2008) proposed a new image thresholding technique using the normalized cut. The graph similarity matrix proposed is now based on pixel gray levels, reducing the matrix size and the computational cost. So, a new matrix *M* is created, where *M*(*i*, *j*) = Cut(*Vi*, *Vj*) with *i* and *j* being two given gray levels. Using this matrix, the normalized cut is then calculated to each threshold value, If the normalized cut related to a given threshold value t is below a prespecified value, this threshold value is adequate to separate the objects from

Grote et al. (2007) suggested the normalized cut for extracting roads from aerial images. In their graph, pixels are the graph nodes and the similarity matrix uses contours, hue and color in the image pixels. this approach uses the *k*-way normalized cut, with *k* being large to avoid road and non-road pixels mixture. Senthilnath & Omkar (2009) compared this technique with other state-of-art road extraction approach, proving that the normalized cut based technique works better. Other normalized cut aplications in the literature are the noise reduction in images by Zhang & Zhang (2009) and the colour image segmentation by Tao et al. (2008).

can segment large images graphs with high conections with linear complexity.

This graph will be explained in the next section.

nodes using the texture features.

the background in this image.

Watershed based similarity graphs to segment texture images.

graph's Laplacian Matrix described by Fiedler (1975), *i.e.*, its minimum value is *λ*2, the second smallest eigenvalue (Golub & Loan, 1989).

The graph partitioning is guided by the eigenvector *v*2, where each value *v*2[*i*] will represent a graph node *i*. To split a graph, a threshold value is used and the graph nodes are partitioned in two subsets. The most common threshold values are zero, the median value in *v*<sup>2</sup> or the one that minimizes the NCut value.

#### **3.3 Similarity Graph**

In a *Similarity Graph* the edge weights represent the degree of similarity between the linked nodes. For graphs that represent images, the similarity can be determined by a function of intensity, position and other image pixels features. A measure of similarity regarding the intensity and the position of image pixels is given by (Shi & Malik, 2000):

$$\mathbf{W\_{IP}}(i,j) = \begin{cases} \begin{array}{c} -\left(\frac{\mathbf{a}^2}{d\_p}\right) - \left(\frac{\beta^2}{d\_i}\right) \\ \text{, if } a\_2 < r \\ 0, \text{Otherwise} \end{array} \end{cases} \tag{5}$$

where *α* = � �|*Pi* − *Pj*| � � and *<sup>β</sup>* <sup>=</sup> � �|*Ii* − *Ij*| � � are respectively the distance and the difference of intensity between pixels *i* and *j*; *r* is a given distance (also called graph connection radius); and *dp* and *di* are set as the variance of the image pixels positions and intensity. This grouping cue used separately often gives bad segmentations because some natural images are affected by the texture clutter.

The intervening contours is another measure to evaluate the affinity between two nodes by measuring the image edges between their correspondent pixels. The intervening contour similarity function is given by (Cour et al., 2005):

$$\mathcal{W}\_{\mathbb{C}}(i,j) = \begin{cases} \, \_{\mathcal{C}} \left( \frac{\max\limits\_{(x \in \text{line}(i,j))} \varepsilon^2}{d\_{\mathcal{C}}} \right) \, \_{\text{if } a < r} & \text{ } \text{ } \tag{6} \\\ & \text{ } \text{ } \text{ Otherwise} \end{cases} \tag{6}$$

where line(*i*, *j*) is a straight line joining pixels *i* and *j* and *ε* = � �| Edge(*x*)| � � is the image edge strength at location *x*.

These two grouping cues can be combined as (Cour et al., 2005):

$$\mathbf{W\_{IPC}}(i,j) = \sqrt{\mathbf{W\_{IP}}(i,j)\mathbf{W\_{C}}(i,j)} + \mathbf{W\_{C}}(i,j). \tag{7}$$

#### **3.4 Related work**

There is a wide range of recent work in image segmentation using the Normalized Cut technique. The contributions are focused on improving the algorithm performance, others on proposing different image-graph modelling and others on the application of this technique for real-world applications.

8 Will-be-set-by-IN-TECH

graph's Laplacian Matrix described by Fiedler (1975), *i.e.*, its minimum value is *λ*2, the second

The graph partitioning is guided by the eigenvector *v*2, where each value *v*2[*i*] will represent a graph node *i*. To split a graph, a threshold value is used and the graph nodes are partitioned in two subsets. The most common threshold values are zero, the median value in *v*<sup>2</sup> or the

In a *Similarity Graph* the edge weights represent the degree of similarity between the linked nodes. For graphs that represent images, the similarity can be determined by a function of intensity, position and other image pixels features. A measure of similarity regarding the

intensity between pixels *i* and *j*; *r* is a given distance (also called graph connection radius); and *dp* and *di* are set as the variance of the image pixels positions and intensity. This grouping cue used separately often gives bad segmentations because some natural images are affected

The intervening contours is another measure to evaluate the affinity between two nodes by measuring the image edges between their correspondent pixels. The intervening contour

> �max(*<sup>x</sup>* <sup>∈</sup> line(*i*,*j*)) *<sup>ε</sup>*<sup>2</sup> *dc*

There is a wide range of recent work in image segmentation using the Normalized Cut technique. The contributions are focused on improving the algorithm performance, others on proposing different image-graph modelling and others on the application of this technique

, if *α*<sup>2</sup> < *r* 0, Otherwise

�

, if *α* < *r* 0, Otherwise

�| Edge(*x*)|

WIP(*i*, *j*) WC(*i*, *j*) + WC(*i*, *j*). (7)

�

� are respectively the distance and the difference of

, (5)

, (6)

� is the image edge

intensity and the position of image pixels is given by (Shi & Malik, 2000):

⎧ ⎪⎨

⎪⎩ *e* − � *α*<sup>2</sup> *dp* � − � *β*<sup>2</sup> *di* �

�|*Ii* − *Ij*| �

WIP(*i*, *j*) =

� and *<sup>β</sup>* <sup>=</sup> �

similarity function is given by (Cour et al., 2005):

WC(*i*, *j*) =

⎧ ⎪⎨

⎪⎩ *e* −

where line(*i*, *j*) is a straight line joining pixels *i* and *j* and *ε* = �

These two grouping cues can be combined as (Cour et al., 2005):

�

WIPC(*i*, *j*) =

smallest eigenvalue (Golub & Loan, 1989).

one that minimizes the NCut value.

�|*Pi* − *Pj*|

�

**3.3 Similarity Graph**

where *α* = �

by the texture clutter.

strength at location *x*.

**3.4 Related work**

for real-world applications.

In several works, the image model used is the similarity graph built by taking each image pixel as a node. In this case, the node pairs within a given radius r are connected by an edge. This graph will be explained in the next section.

Monteiro & Campilho (2008) proposed the Watershed Normalized Cut, which uses the regions from the Watershed image segmentation as nodes for the similarity graph. The Watershed region similarity graph is either used by Carvalho et al. (2009) for comparison with the primitive pixel affinity graph in yeast cells images segmentation. Ma & Wan (2008) used Watershed based similarity graphs to segment texture images.

The primitive normalized cut enhancement was also studied and applied by many researchers. Cour et al. (2005) proposes a Normalized Cut adaptive that focus on the computational problem created by long range graphs. The authors suggested the use of multiscale segmentations, decomposing a long range graph into independent subgraphs. The main contribution of this technique is that larger images can be better segmented with a linear complexity. Sun & He (2009) proposed the use of the multiscale graph decomposition, partitioning the image graph representation at the finest scale level and weighting the graph nodes using the texture features.

Tolliver & Miller (2006) suggested an improvement of the normalized cut technique. They proposed the use of the *k* first eigenvectors for graph partitioning as the *k*-way Normalized cut. The difference is that these eigenvectors modify the edges weight in the graph, resulting in new graph matrices, and the *k* first eigenvectors are calculated again in the new Laplacian Matrix. The authors proved that this procedure changes the *k* first eigenvalues to zero. Spectral graph theory concepts about the Laplacian matrix informs that the number of eigenvalues equal to zero shows the number of connected components in a graph. Their algorithm returns these connected components. Cour et al. (2005) suggested another improvement by dividing the graph in scales and processing them in paralell. This approach can segment large images graphs with high conections with linear complexity.

Tao et al. (2008) proposed a new image thresholding technique using the normalized cut. The graph similarity matrix proposed is now based on pixel gray levels, reducing the matrix size and the computational cost. So, a new matrix *M* is created, where *M*(*i*, *j*) = Cut(*Vi*, *Vj*) with *i* and *j* being two given gray levels. Using this matrix, the normalized cut is then calculated to each threshold value, If the normalized cut related to a given threshold value t is below a prespecified value, this threshold value is adequate to separate the objects from the background in this image.

Grote et al. (2007) suggested the normalized cut for extracting roads from aerial images. In their graph, pixels are the graph nodes and the similarity matrix uses contours, hue and color in the image pixels. this approach uses the *k*-way normalized cut, with *k* being large to avoid road and non-road pixels mixture. Senthilnath & Omkar (2009) compared this technique with other state-of-art road extraction approach, proving that the normalized cut based technique works better. Other normalized cut aplications in the literature are the noise reduction in images by Zhang & Zhang (2009) and the colour image segmentation by Tao et al. (2008).

(a) (b) (c)

Combining Hierarchical Structures on Graphs and Normalized Cut for Image Segmentation 399

(d) (e) (f)

(g) (h) (i)

Fig. 5. Selected images from Berkeley's benchmark. (a) 3096. (b) 21077. (c) 42049. (d) 85048.

2006; Martin et al., 2001). Precision is the probability that a pixel marked as a border is in fact

where *TP* is the number of true positives, and *FP* the number of false positives. The precision *P* decrease as increases the number of false positives. Recall, also called *hit rate*, is the probability that the border pixels marked by the machine are the same as the border pixels

*TP* <sup>+</sup> *FP*, (9)

*TP* <sup>+</sup> *FN* , (10)

*<sup>P</sup>* <sup>+</sup> *<sup>R</sup>*, (11)

*<sup>P</sup>* <sup>=</sup> *TP*

*<sup>R</sup>* <sup>=</sup> *TP*

*<sup>F</sup>* <sup>=</sup> <sup>2</sup> · *<sup>P</sup>* · *<sup>R</sup>*

These two metrics are summarized in the F-measure (Davis & Goadrich, 2006)

(e) 97033. (f) 119082; (g) 147091. (h) 167062. (i) 241004.

a border pixel, and is given by

marked by humans, and is defined as

where *FN* is the number of false negatives.

### **4. Normalized Cut segmentation workflow**

Given an image *I*, we build a similarity graph *G* = (*V*, *E*, *W*), from Quadtree and/or Component Tree representations. The image segmentation process based on Normalized Cut technique can be applied by two distinct methods: recursive Two-way and *K*-Way. The block diagram presented in Fig. 4 illustrates the complete image segmentation process.

Fig. 4. Workflow of the image segmentation technique based on Normalized Cut.

The similarity graph obtained from Quadtree and Component/Reverse Tree representations is done according to the details explained previously and its parameters are described in Section 5. They have hierarchical information that is exploited in the graph cut process. The eigenvectors of the Laplacian matrix are obtained from the solution of the following equation:

$$(D - W)v = \lambda Dv.\tag{8}$$

At this moment, it is possible to use only the second eigenvector *v*<sup>2</sup> in order to provide two partitions of the graph G and reapply the process to obtain recursively a large number of partitions. A partition should be divided by analysing a specified cut value. This technique is known as Recursive Two-Way NCut. In the other hand, it is possible to discretize the *k* first eigenvector *X*, were *X* = [*v*1, *v*2, . . . , *vk*] and use them directly to implement the graph partitioning into *k* desired partitions. This partitioning process is called *K*-Way Cut and corresponds to the block sequence presented in Fig. 4.

### **5. Experimental results and discussion**

We have performed *k*-way Normalized Cut segmentation in 100 grayscale test images from *Berkeley Segmentation Benchmark*<sup>1</sup> (Martin et al., 2001). The goal of these experiments is to compare the techniques for building the similarity graph based on *Pixel Grid* (Shi & Malik, 2000), *Multiscale Pixel Grid* (Cour et al., 2005), *Quadtree* (Carvalho, Costa & Ferreira, 2010), and *Component Tree* (Carvalho, Costa, Ferreira & Cesar-Jr., 2010). Fig. 5 show a collection of 9 selected images.

The Berkeley's benchmark rely on human image segmentations to state the segmentation algorithms assertiveness, according to Precision (*P*) and Recall (*R*) metrics (Davis & Goadrich,

<sup>1</sup> Available at http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/ (last accessed September, 2011).

10 Will-be-set-by-IN-TECH

Given an image *I*, we build a similarity graph *G* = (*V*, *E*, *W*), from Quadtree and/or Component Tree representations. The image segmentation process based on Normalized Cut technique can be applied by two distinct methods: recursive Two-way and *K*-Way. The block

diagram presented in Fig. 4 illustrates the complete image segmentation process.

Fig. 4. Workflow of the image segmentation technique based on Normalized Cut.

corresponds to the block sequence presented in Fig. 4.

**5. Experimental results and discussion**

selected images.

September, 2011).

The similarity graph obtained from Quadtree and Component/Reverse Tree representations is done according to the details explained previously and its parameters are described in Section 5. They have hierarchical information that is exploited in the graph cut process. The eigenvectors of the Laplacian matrix are obtained from the solution of the following equation:

At this moment, it is possible to use only the second eigenvector *v*<sup>2</sup> in order to provide two partitions of the graph G and reapply the process to obtain recursively a large number of partitions. A partition should be divided by analysing a specified cut value. This technique is known as Recursive Two-Way NCut. In the other hand, it is possible to discretize the *k* first eigenvector *X*, were *X* = [*v*1, *v*2, . . . , *vk*] and use them directly to implement the graph partitioning into *k* desired partitions. This partitioning process is called *K*-Way Cut and

We have performed *k*-way Normalized Cut segmentation in 100 grayscale test images from *Berkeley Segmentation Benchmark*<sup>1</sup> (Martin et al., 2001). The goal of these experiments is to compare the techniques for building the similarity graph based on *Pixel Grid* (Shi & Malik, 2000), *Multiscale Pixel Grid* (Cour et al., 2005), *Quadtree* (Carvalho, Costa & Ferreira, 2010), and *Component Tree* (Carvalho, Costa, Ferreira & Cesar-Jr., 2010). Fig. 5 show a collection of 9

The Berkeley's benchmark rely on human image segmentations to state the segmentation algorithms assertiveness, according to Precision (*P*) and Recall (*R*) metrics (Davis & Goadrich, <sup>1</sup> Available at http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/ (last accessed

(*D* − *W*)*v* = *λDv*. (8)

**4. Normalized Cut segmentation workflow**

Fig. 5. Selected images from Berkeley's benchmark. (a) 3096. (b) 21077. (c) 42049. (d) 85048. (e) 97033. (f) 119082; (g) 147091. (h) 167062. (i) 241004.

2006; Martin et al., 2001). Precision is the probability that a pixel marked as a border is in fact a border pixel, and is given by

$$P = \frac{TP}{TP + FP} \tag{9}$$

where *TP* is the number of true positives, and *FP* the number of false positives. The precision *P* decrease as increases the number of false positives. Recall, also called *hit rate*, is the probability that the border pixels marked by the machine are the same as the border pixels marked by humans, and is defined as

$$R = \frac{TP}{TP + FN'} \tag{10}$$

where *FN* is the number of false negatives.

These two metrics are summarized in the F-measure (Davis & Goadrich, 2006)

$$F = 2 \cdot \frac{P \cdot R}{P + R} \,\tag{11}$$

0

represent (*R*,*P*).

algorithm.

 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Score (F-measure)

3096

8023

12084

14037

16077

19021

21077

24077

33039

37073

38082

38092

41033

41069

42012

42049

43074

45096

54082

55073

58060

shown in Fig. 5, and its human segmentations.

62096

65033

66053

69015

69020

69040

76053

78004

85048

Fig. 7. Berkeley benchmark score (F-measure) for each image.

86000

86016

86068

87046

89072

Multiscale Pixel Grid

97033

101085

101087

102061

trend to the fact that these algorithms are using the same similarity function.

103070

105025

106024

108005

108070

108082

109053

119082

123074

In the chart shown at Fig. 7 one can yet observe a clear trend for the Multiscale and the Quadtree approaches to follow the scores obtained by the classical Pixel Grid method: Multiscale with a little better, and Quadtree with a little worse scores. We can associate this

Despite these quantitative analisys, it is also important to make a qualitative analisys of the segmentation results. Thus, are shown in Fig 8 one machine segmentation for each image

The computational performance is also an important requirement for the Normalized Cut technique. When Cour et al. (2005) proposed the Multiscale approach to generate the similarity graph, one main objective was to reduce the NCut computational cost. It is also the objective of the Quadtree approach. Fig. 9 show a chart with the time each algorithm took to process the segmentation. There is a strong correlation between the Component Tree

126007

130026

134035

Image

143090

145086

147091

148026

148089

Semi-automatic Component Tree

156065

157055

159008

160068

163085

167062

167083

170057

Quadtree

175032

175043

182053

189080

196073

197017

208001

210088

216081

219090

220075

223061

227092

229036

236037

241004

241048

253027

253055

260058

271035

285079

291000

295087

296007

296059

Component Tree

299086

300091

302008

304034

304074

306005

351093

361010

376043

385039

0 0.25 0.5 0.75 1

Berkeley Benchmark Overall Ranking

Multiscale Pixel Grid F = 0.58 (0.60,0.56)

Component Tree F = 0.42 (0.65,0.31)

Semi-automatic Component Tree F = 0.45 (0.64,0.35)

Pixel Grid F = 0.55 (0.54,0.55) Quadtree F = 0.47 (0.48,0.46)

Recall

Fig. 6. Algorithms overall ranking. The two values between parenthesis at the right box

for automatic and semi- automatic methods, respectively, against 0.60 for the best ranked

Combining Hierarchical Structures on Graphs and Normalized Cut for Image Segmentation 401

Berkeley Benchmark F-measure for each Image

0.25

0.5

Precision

0.75

1

that is used as the score metric by Berkeley's benchmark to ranking the algorithms effectiveness.

#### **5.1 Experiment setup**

The experiments were perfomed according to the workflow presented in Section 4 with *k*-way method. The connection radius for the *Pixel Grid* graph was *r* = 10 and the edges weights were given by Equation (6). For the *Multiscale Pixel Grid* approach were used one radius for each scale, which were *r*<sup>1</sup> = 2, *r*<sup>2</sup> = 3 and *r*<sup>3</sup> = 7 and the edge weights were given by Equation (6). The *Quadtree* weights were also given by Equation (6), and their radii given as

$$r\_{i,j} = \frac{1}{2} \max(v\_i^{\phi x} + v\_j^{\phi x}, v\_i^{\phi y} + v\_j^{\phi y}) + k\_\prime \tag{12}$$

where *v φx <sup>i</sup>* and *v φy <sup>i</sup>* are repectively the horizontal and the vertical diameter of region correspondent to node *vi* ∈ *V*; *v φx <sup>j</sup>* and *v φy <sup>j</sup>* are similarly defined for node *vj* ∈ *V*; and *k* = 10.

The Component Tree was generated with radius *r* = 25 for the subgraphs. The attributes used to build our CT similarity graph were difference of area, distance, standard deviation of the gray levels and density. For the edges that links the subgraphs, the weights were multiplied by a factor given by the following equation:

$$f = \frac{\text{NC}\_{Fi} + \text{NC}\_{Fj}}{2 + |\mathbf{d}(i) - \mathbf{d}(j)|},\tag{13}$$

where *NCFi* and *NCFj* are the number of CCs of the cross-sections that has the nodes *i* and *j* respectively; and d(*i*) and d(*j*) are the degrees of nodes *i* and *j* respectively, related to the CT. After the CT segmentation procedure the various partitions generated for each image were converted to a single one by two distinct approaches: manually by selecting the partition that seemed to be the better image segmentation by a criterion of resemblance to the original image; automatically by merging pairs of partitions with highest mutual information iteratively. These approaches sets our experiments on image segmentation based on CT as semi-automatic or automatic procedures.

#### **5.2 Results, discussion, and future works**

The Berkeley's benchmark combine the individual scores from all segmentations of each algorithm in a single final score that determine the algorithm overall ranking. In our experiments the first place in the ranking was for the *Multiscale Pixel Grid* approach and the last place was for the automatic *Component Tree*. Fig. 6 show the overall scores obtained for each similarity graph method.

The segmentation scores for some individual images, however, are quite different from the algorithm's overall score. Fig. 7 show the individual scores for each image with each algorithm. We can observe that even the automatic CT approach, which is the worst ranked algorithm, has the highest score to about ten images. A similar result was obtained by the Semi-automatic CT approach. Put together, they account for 20% of the better scores for individual images. Not surprisingly, they also have the highest overall *Recall*, 0.65 and 0.64 12 Will-be-set-by-IN-TECH

that is used as the score metric by Berkeley's benchmark to ranking the algorithms

The experiments were perfomed according to the workflow presented in Section 4 with *k*-way method. The connection radius for the *Pixel Grid* graph was *r* = 10 and the edges weights were given by Equation (6). For the *Multiscale Pixel Grid* approach were used one radius for each scale, which were *r*<sup>1</sup> = 2, *r*<sup>2</sup> = 3 and *r*<sup>3</sup> = 7 and the edge weights were given by Equation

*<sup>i</sup>* are repectively the horizontal and the vertical diameter of region

*<sup>j</sup>* ) + *k*, (12)

, (13)

*<sup>j</sup>* are similarly defined for node *vj* ∈ *V*; and *k* = 10.

(6). The *Quadtree* weights were also given by Equation (6), and their radii given as

*φx <sup>i</sup>* + *v φx <sup>j</sup>* , *v φy <sup>i</sup>* + *v φy*

*φy*

The Component Tree was generated with radius *r* = 25 for the subgraphs. The attributes used to build our CT similarity graph were difference of area, distance, standard deviation of the gray levels and density. For the edges that links the subgraphs, the weights were multiplied

> *<sup>f</sup>* <sup>=</sup> *NCFi* <sup>+</sup> *NCFj* 2 + | d(*i*) − d(*j*)|

where *NCFi* and *NCFj* are the number of CCs of the cross-sections that has the nodes *i* and *j* respectively; and d(*i*) and d(*j*) are the degrees of nodes *i* and *j* respectively, related to the CT. After the CT segmentation procedure the various partitions generated for each image were converted to a single one by two distinct approaches: manually by selecting the partition that seemed to be the better image segmentation by a criterion of resemblance to the original image; automatically by merging pairs of partitions with highest mutual information iteratively. These approaches sets our experiments on image segmentation based on CT as

The Berkeley's benchmark combine the individual scores from all segmentations of each algorithm in a single final score that determine the algorithm overall ranking. In our experiments the first place in the ranking was for the *Multiscale Pixel Grid* approach and the last place was for the automatic *Component Tree*. Fig. 6 show the overall scores obtained for

The segmentation scores for some individual images, however, are quite different from the algorithm's overall score. Fig. 7 show the individual scores for each image with each algorithm. We can observe that even the automatic CT approach, which is the worst ranked algorithm, has the highest score to about ten images. A similar result was obtained by the Semi-automatic CT approach. Put together, they account for 20% of the better scores for individual images. Not surprisingly, they also have the highest overall *Recall*, 0.65 and 0.64

<sup>2</sup> max(*<sup>v</sup>*

*ri*,*<sup>j</sup>* <sup>=</sup> <sup>1</sup>

*φx <sup>j</sup>* and *v*

effectiveness.

where *v*

*φx <sup>i</sup>* and *v*

*φy*

by a factor given by the following equation:

semi-automatic or automatic procedures.

**5.2 Results, discussion, and future works**

each similarity graph method.

correspondent to node *vi* ∈ *V*; *v*

**5.1 Experiment setup**

Fig. 6. Algorithms overall ranking. The two values between parenthesis at the right box represent (*R*,*P*).

for automatic and semi- automatic methods, respectively, against 0.60 for the best ranked algorithm.

Fig. 7. Berkeley benchmark score (F-measure) for each image.

In the chart shown at Fig. 7 one can yet observe a clear trend for the Multiscale and the Quadtree approaches to follow the scores obtained by the classical Pixel Grid method: Multiscale with a little better, and Quadtree with a little worse scores. We can associate this trend to the fact that these algorithms are using the same similarity function.

Despite these quantitative analisys, it is also important to make a qualitative analisys of the segmentation results. Thus, are shown in Fig 8 one machine segmentation for each image shown in Fig. 5, and its human segmentations.

The computational performance is also an important requirement for the Normalized Cut technique. When Cour et al. (2005) proposed the Multiscale approach to generate the similarity graph, one main objective was to reduce the NCut computational cost. It is also the objective of the Quadtree approach. Fig. 9 show a chart with the time each algorithm took to process the segmentation. There is a strong correlation between the Component Tree

and the Quadtree methods. That indicates that they are similarly sensitive to the image's data, but their overall performance are, respectively, the lower and the higher ones. The overall performance of the Multiscale algorithm is higher than the overall performance of the Pixel Grid algorithm, but is lower than the performance of the Quadtree method. Despite the lower performance, only the Component Tree can generate multiple image partitions at once. This problem can be alleviated by implementing the Najman's (Najman & Couprie, 2006) fast

Combining Hierarchical Structures on Graphs and Normalized Cut for Image Segmentation 403

algorithm to build the Component Tree.

algorithm's performance.

reducing the false positive rate.

the similarity graph for Quadtree representation.

of the Quadtree, that would lead the design of a new multiscale approach.

(b)

The chart in Fig. 9(b) show the number of nodes in the similarity graph generated by the Quadtree approach. Notice that the number of regions in the graph has direct impact to the

For future works we see that the Component Tree is the most promising method, despite its worst effectiveness and efficiency. Its implementation can be improved to reduce the computational cost. A more detailed study about the similarity criteria has the potencial of

There are future works for the Quadtree approach as well. Once the nodes represent regions instead of pixels, the study of texture and other region-based similarity criteria would improve the method effectiveness. It is also reasonable to explore further the hierarchical information

Fig. 9. Algorithms performance. (a) execution time for each image. (b) number of nodes in

Image

Number of nodes

(a)

Total Segmentation Time

Image

Number of Nodes in the Similarity Graph for Quadtree Constant: 154401 nodes (481x321) Pixel Grid Quadtree

Multiscale Pixel Grid Quadtree Component Tree

Time in seconds (log scale)

Fig. 8. Selected segmentations. (a) 21077 and (c) 85048 segmentations by Quadtree method. (f) 3096 and (h) 167062 segmentations by Semi-automatic Component Tree method. (i) 119082 and (k) 147091 segmentations by Component Tree method. (n) 42049 and (p) 241004 segmentations by Multiscale Pixel Grid method. (r) 97033 segmentation by Pixel Grid method. (b) 21077, (d) 85048, (e) 3096, (g) 167062, (j) 119082, (l) 147091, (m) 42049, (o) 241004, and (q) 97033, human segmentations from Berkeley benchmark.

14 Will-be-set-by-IN-TECH

(a) (b) (c) (d)

(e) (f) (g) (h)

(i) (j) (k) (l)

(m) (n) (o) (p)

(q) (r)

Fig. 8. Selected segmentations. (a) 21077 and (c) 85048 segmentations by Quadtree method. (f) 3096 and (h) 167062 segmentations by Semi-automatic Component Tree method. (i) 119082

and (k) 147091 segmentations by Component Tree method. (n) 42049 and (p) 241004 segmentations by Multiscale Pixel Grid method. (r) 97033 segmentation by Pixel Grid method. (b) 21077, (d) 85048, (e) 3096, (g) 167062, (j) 119082, (l) 147091, (m) 42049, (o) 241004,

and (q) 97033, human segmentations from Berkeley benchmark.

and the Quadtree methods. That indicates that they are similarly sensitive to the image's data, but their overall performance are, respectively, the lower and the higher ones. The overall performance of the Multiscale algorithm is higher than the overall performance of the Pixel Grid algorithm, but is lower than the performance of the Quadtree method. Despite the lower performance, only the Component Tree can generate multiple image partitions at once. This problem can be alleviated by implementing the Najman's (Najman & Couprie, 2006) fast algorithm to build the Component Tree.

Fig. 9. Algorithms performance. (a) execution time for each image. (b) number of nodes in the similarity graph for Quadtree representation.

The chart in Fig. 9(b) show the number of nodes in the similarity graph generated by the Quadtree approach. Notice that the number of regions in the graph has direct impact to the algorithm's performance.

For future works we see that the Component Tree is the most promising method, despite its worst effectiveness and efficiency. Its implementation can be improved to reduce the computational cost. A more detailed study about the similarity criteria has the potencial of reducing the false positive rate.

There are future works for the Quadtree approach as well. Once the nodes represent regions instead of pixels, the study of texture and other region-based similarity criteria would improve the method effectiveness. It is also reasonable to explore further the hierarchical information of the Quadtree, that would lead the design of a new multiscale approach.

Davis, J. & Goadrich, M. (2006). The relationship between precision-recall and roc curves,

Combining Hierarchical Structures on Graphs and Normalized Cut for Image Segmentation 405

Donath, W. & Hoffman, A. (1972). Algorithms for partitioning graphs and computer logic

Fiedler, M. (1975). A property of eigenvectors of nonnegative symmetric matrices and its

Grote, A. et al. (2007). Segmentation based on normalized cuts for the detection of suburban

Ma, X. & Wan, W. (2008). Texture image segmentation on improved watershed and multiway

Martin, D., Fowlkes, C., Tal, D. & Malik, J. (2001). A database of human segmented natural

ecological statistics, *Proc. 8th Int'l Conf. Computer Vision*, Vol. 2, pp. 416–423. Monteiro, F. C. & Campilho, A. (2008). Watershed framework to region-based image

Mosorov, V. & Kowalski, T. M. (2002). The development of component tree for grayscale

Najman, L. & Couprie, M. (2006). Building the component tree in quasi-linear time, *IEEE*

Pothen, A., Simon, H. D. & Liou, K.-P. (1990). Partitioning sparse matrices with eigenvectors

Samet, H. (1984). The quadtree and related hierarchical structures, *ACM Computing Surveys*

Senthilnath, M. R. & Omkar, S. N. (2009). Automatic road extraction using high resolution

Shi, J. & Malik, J. (1997). Normalized cuts and image segmentation, *Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition*, pp. 731–737. Shi, J. & Malik, J. (2000). Normalized cuts and image segmentation, *IEEE Transactions on*

Soundararajan, P. & Sarkar, S. (2001). Analysis of mincut, average cut and normalized cut

Spielman, D. (2007). Spectral graph theory and its applications, *Proc. of 48th Annual IEEE*

Sun, F. & He, J. P. (2009). A normalized cuts based image segmentation method, *Proc. of II International Conference on Information and Computer Science*, pp. 333–336.

satellite image based on texture progressive analysis and normalized cut method,

*Transactions on Image Processing* 15(11): 3531–3539.

of graphs, *SIAM J. Matrix Anal. Appl.* 11: 430–452. URL: *http://portal.acm.org/citation.cfm?id=84514.84521*

*Journal of the Indian Society of Remote Sensing* 37(3): 351–361.

*Pattern Analysis and Machine Intelligence (PAMI)* 22(8) pp. 888-905.

measures, *Workshop on Perceptual Organization in Computer Vision*.

*Symposium on Foundations of Computer Science*, pp. 29–38.

roads in aerial imagery, *IEEE Proceedings of Urban Remote Sensing Joint Event* pp. 1–5.

spectral clustering, *Proceedings of International Conference on Audio, Language and Image*

images and its application to evaluating segmentation algorithms and measuring

segmentation, *Proc. of IEEE 19th International Conference on Pattern Recognition - ICPR*,

image segmentation, *Proc. of International Conference on Moderns Problems of Radio Engineering, Telecommunications and Computer Science – TECSET*, Slavsko – Ukraine,

based on eigenvectors of connection matrices, *Technical report*, IBM.

applications to graph theory, *Czech. Math. Journal* 25(100): 619–633. Golub, G. H. & Loan, C. F. V. (1989). *Matrix Computations*, John Hopkins Press. Gonzales, R. & Woods, R. (2000). *Digital Image Processing*, Addison-Wesley.

pp. 233–240.

pp. 1–4.

pp. 252–253.

16(2): 187–261.

*Processing - ICALIP*, pp. 1693–1697.

*ICML '06: Proceedings of the 23rd international conference on Machine learning*, ACM,

### **6. Conclusion**

In this Chapter we proposed an approach to implement image segmentation based on graph modelling and Normalized Cut technique. Performing graph partitioning by means of Normalized Cut has been widely used in the specific literature. The possibility of generate balanced partitions has shown that this approach is efficient. The proposed similarity graphs, build from the Quadtree and Component Tree structures, proved promising compared to the traditional modelling based on pixel similarity graph. We performed comparisons using two-well established metrics, the Precision and Recall values. An additional aspect to be considered in the proposed graph models is exploring the hierarchical structures of both, Quadtree and Component Tree. Besides, we exploit a little more the Component Tree and proposed the Reverse Component Tree as a way to better represent the information contained in the image cross-sections.

The experimental results accomplished on images from the Berkeley Database show that use regions, or primitive regions to be specific, instead pixels seems to be a better strategy to segment images by Normalized Cut approach. In addition, the new image representation had the advantage of reducing the number of graph nodes and, therefore, improved the algorithm performance.

### **7. Acknowledgment**

This work is supported by FAPESP (São Paulo Research Foundation) – Proc. 2010/14759-0.

### **8. References**


16 Will-be-set-by-IN-TECH

In this Chapter we proposed an approach to implement image segmentation based on graph modelling and Normalized Cut technique. Performing graph partitioning by means of Normalized Cut has been widely used in the specific literature. The possibility of generate balanced partitions has shown that this approach is efficient. The proposed similarity graphs, build from the Quadtree and Component Tree structures, proved promising compared to the traditional modelling based on pixel similarity graph. We performed comparisons using two-well established metrics, the Precision and Recall values. An additional aspect to be considered in the proposed graph models is exploring the hierarchical structures of both, Quadtree and Component Tree. Besides, we exploit a little more the Component Tree and proposed the Reverse Component Tree as a way to better represent the information contained

The experimental results accomplished on images from the Berkeley Database show that use regions, or primitive regions to be specific, instead pixels seems to be a better strategy to segment images by Normalized Cut approach. In addition, the new image representation had the advantage of reducing the number of graph nodes and, therefore, improved the algorithm

This work is supported by FAPESP (São Paulo Research Foundation) – Proc. 2010/14759-0.

Canny, J. (1986). A computational approach to edge-detection, *IEEE Transactions on Pattern*

Carvalho, M. A. G. (2004). *Análise hierárquica de imagens através da árvore dos lagos críticos*, PhD

Carvalho, M. A. G., Costa, A. L. & Ferreira, A. C. B. (2010). Image segmentation using

Carvalho, M. A. G., Costa, A. L., Ferreira, A. C. B. & Cesar-Jr., R. M. (2010). Image

Carvalho, M. A. G., Ferreira, A. C. B., Pinto, T. W. & Cesar-Jr., R. M. (2009). Image segmentation

Consularo, L. A. & Cesar-Jr., R. M. (2005). Quadtree-based inexact graph matching for image

Cour, T., Bénézit, F. & Shi, J. (2005). Spectral segmentation with multiscale graph

quadtree-based similarity graph and normalized cuts, Lecture Notes in Computer

segmentation using component tree and normalized cuts, *Proceedings of the XXIII Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI2010)*,

using watershed and normalized cuts, *Proc. of 22th Conference on Graphics, Patterns and*

analysis, *Proceedings of the XVIII Brazilian Symposium on Computer Graphics and Image*

decomposition, *Proc. of IEEE Computer Society Conference on Computer Vision and*

thesis, Faculdade de Engenharia Elétrica e Computação- FEEC.

*Analysis and Machine Intelligence*, pp. 679–700.

Science, v. 6419, pp. 329-337.

Gramado - Brazil, pp. 317-320.

*Images (SIBGRAPI)*, Rio de Janeiro - Brazil.

Chung, F. (1997). *Spectral Graph Theory*, American Mathematical Society.

*Processing (SIBGRAPI2005)*, Natal - Brazil, pp. 205–212.

*Pattern Recognition - CVPR'05*, Vol. 2, pp. 1124–1131.

**6. Conclusion**

in the image cross-sections.

performance.

**8. References**

**7. Acknowledgment**


**20** 

*Korea* 

**Camera Motion Estimation** 

Andrey Vavilin and Kang-Hyun Jo

*University of Ulsan,* 

**Based on Edge Structure Analysis** 

The estimation of camera motion is important for several video analysis tasks such as indexing and retrieval purposes, motion compensation and for scientific film analysis. From an aesthetical point of view, camera motion is often used as an expressive element in film production. Motion content can be used as a powerful cue for structuring video data,

Motion estimation and motion pattern classification problem have been extensively investigated by the scientific community for semantic characterization and discrimination of video streams. Moving object trajectories have been used for video retrieval [1–3]. Camera motion pattern characterization has been efficiently applied to video indexing and retrieval [4–7]. However, the main limitation of the latter methods is that they deal only with the characterization of the detected camera motion patterns, without explicit measurement of the camera motion parameters. As a result, the acquired information is of limited interest,

There are different types of camera motion: rotation around one of the three axes and translation along the x and y-axis. Furthermore, zoom in and out can be considered as equivalent to translation along the z-axis. Existing methods can be classified as optical flow methods and feature correspondences based approaches. Let us also mention recursive techniques based on extended Kalman filters [8] which track camera motion and estimate the structure of the scene. In the case of an uncalibrated camera, interesting approaches are described in [9, 10]. The use of optical flow avoids the choice of "good features". In [11] differential approaches of the epipolar constraint are described. In [12], the optical flow computed between two adjacent images in a video sequence is linearly decomposed on a database of optical flow models. The authors of [13] propose a comparison of algorithms

In this work we present an approach for recovering graph-based structures from images. This structure is then used for estimating 3D camera motion. Our approach is based on detecting straight line segments. After several prefiltering operations such as bilateral filtering and Hough transform, preceding by the edge detection is applied. Then a result of transformation analyses in order to detect local maximums. Reverse transform of these

**1. Introduction** 

similarity-based video retrieval, and video abstraction

since it can be used primarily for video indexing and retrieval.

which only use optical flow for estimating camera.


## **Camera Motion Estimation Based on Edge Structure Analysis**

Andrey Vavilin and Kang-Hyun Jo *University of Ulsan, Korea* 

### **1. Introduction**

18 Will-be-set-by-IN-TECH

406 New Frontiers in Graph Theory

Tao, W., Jin, H., Zhang, Y., Liu, L. & Wang, D. (2008). Image thresholding using graph

Tolliver, D. & Miller, G. (2006). Visual grouping and object recognition, *Graph partitioning by spectral rounding: Applications in image segmentation and clustering*, pp. 1053–1060.

Zhang, L. & Zhang, J.-Z. (2009). Image denoising based on statistical jump regression analysis

Wilson, R. & Watkins, J. (1990). *Graphs: An Introductory Approach*, John Wiley and Sons. Wu, Z. & Leahy, R. (1993). An optimal graph theoretic approach to data clustering: theory

38(5): 1181–1195.

*Intelligence*, Vol. 15, pp. 1,101–1,113.

*IEEE International Conference on* pp. 661–664.

cuts, *IEEE Transactions on Systems Man and Cybernetics Part A-Systems and Humans*

and its application to image segmentation, *IEEE Trans. Pattern Analysis and Machine*

and local segmentation using normalized cuts, *Acoustics, Speech, and Signal Processing,*

The estimation of camera motion is important for several video analysis tasks such as indexing and retrieval purposes, motion compensation and for scientific film analysis. From an aesthetical point of view, camera motion is often used as an expressive element in film production. Motion content can be used as a powerful cue for structuring video data, similarity-based video retrieval, and video abstraction

Motion estimation and motion pattern classification problem have been extensively investigated by the scientific community for semantic characterization and discrimination of video streams. Moving object trajectories have been used for video retrieval [1–3]. Camera motion pattern characterization has been efficiently applied to video indexing and retrieval [4–7]. However, the main limitation of the latter methods is that they deal only with the characterization of the detected camera motion patterns, without explicit measurement of the camera motion parameters. As a result, the acquired information is of limited interest, since it can be used primarily for video indexing and retrieval.

There are different types of camera motion: rotation around one of the three axes and translation along the x and y-axis. Furthermore, zoom in and out can be considered as equivalent to translation along the z-axis. Existing methods can be classified as optical flow methods and feature correspondences based approaches. Let us also mention recursive techniques based on extended Kalman filters [8] which track camera motion and estimate the structure of the scene. In the case of an uncalibrated camera, interesting approaches are described in [9, 10]. The use of optical flow avoids the choice of "good features". In [11] differential approaches of the epipolar constraint are described. In [12], the optical flow computed between two adjacent images in a video sequence is linearly decomposed on a database of optical flow models. The authors of [13] propose a comparison of algorithms which only use optical flow for estimating camera.

In this work we present an approach for recovering graph-based structures from images. This structure is then used for estimating 3D camera motion. Our approach is based on detecting straight line segments. After several prefiltering operations such as bilateral filtering and Hough transform, preceding by the edge detection is applied. Then a result of transformation analyses in order to detect local maximums. Reverse transform of these

Camera Motion Estimation Based on Edge Structure Analysis 409

It is well known that, by taking some particular point *p* as the origin of the coordinate system with coordinates *z*, any infinitely differentiable function ƒ(x) could be approximated

*f f <sup>f</sup> z fp z zz c b z z A z*

*<sup>f</sup> c fp b fp A p*

The matrix *A* which consists of a second partial derivatives of the function is also called

21 1

*p fp a fp a*

*N ii i*

, , 2 , 0,1,...,7

1 1 2 1 2 2

 

*k j i k j k j*

*aa a a a a*

2 *kj*

, , , 2 , *<sup>N</sup> i i <sup>i</sup>*

2 2 1

1 2 *<sup>k</sup>*

Making [a]=1/2A in equation (6), in terms of which that equation can be rewritten as the set

*<sup>k</sup> <sup>j</sup> a a* 

> *k a*

*<sup>f</sup> p a fp a fp a p fp a*

*M*

*i i i i j*

In Newton's method gradient is set to 0 to determine the next iteration point.

*z zz*

Where *M* defines estimated camera motion parameters.

Hessian matrix of the function at *p* [15]

The gradient of error function

of linear equations

In approximation of (4) the gradient of *f* is easily calculated as

1

1

It is conventional to remove the factors of 2 by defining

Taking second order partial derivatives gives

*k k i*

*a a*

using Taylor series:

where

arg min *<sup>a</sup>*

<sup>2</sup> 1 1 ... 2 2 *i i <sup>j</sup>*


with respect to parameters *a* has components

*k*

(8)

(9)

(10)

(7)

2 1

*i i*

(4)

2

*z z*

*f z Az b* (6)

*a* (3)

(5)

maximums gives us a several straight lines presented in the image. We use an intersection of these analytical lines with detected edges in order to find straight line segments. On this step we also detect intersections between line segments. For each intersection point we compute rank based on number of connected points. After transforming image into graph we search for similar structural elements in the graph of previous frame. This process is based on searching subgraphs consists of vertices with similar ranks. After finding correspondence points camera motion is estimated as a combination of translation and rotation.

### **2. Camera motion model**

In this work we considered eight-parameter perspective model defined as follows:

$$\begin{aligned} \mathbf{x}\_i^2 &= \frac{a\_0 + a\_2 \mathbf{x}\_i^1 + a\_3 \mathbf{y}\_i^1}{a\_6 \mathbf{x}\_i^1 + a\_7 \mathbf{y}\_i^1 + \mathbf{1}}\\ \mathbf{y}\_i^2 &= \frac{a\_1 + a\_4 \mathbf{x}\_i^1 + a\_5 \mathbf{y}\_i^1}{a\_6 \mathbf{x}\_i^1 + a\_7 \mathbf{y}\_i^1 + \mathbf{1}}\end{aligned} \tag{1}$$

where 1 1 1 1 *x y*, and 2 2 , *i i x y* are the coordinates of the same point in the consequent frames at *t1* and *t2* respectively and *a a* 0 7 ,..., are the motion parameters. Various motion models can be derived from this mode. For example, in case of 6 7 *a a* 0 it is reduced to affine model, and setting 2 5 *a a* , 3 4 *a a* and 6 7 *a a* 0 will give us a translation-zoom-rotation model.

In [14] any vector field is approximated by a linear combination of a divergent field, a rotation field and two hyperbolic fields. The relationship between motion model parameters and symbol-level interpretation is established as:

$$\begin{aligned} Pan &= a\_0\\ Tilt &= a\_1\\ Zoon &= \frac{1}{2}(a\_2 + a\_5)\\ Rotation &= \frac{1}{2}(a\_3 - a\_4) \end{aligned} \tag{4}$$

Error in esti mation parameters is defined as:

$$\mathcal{L}\left(a\right) = \sum\_{i=1}^{N} \left\| p\_i^2 - f\left(p\_i^1, a\right) \right\|\tag{2}$$

where *N* is the number of corresponding points, 1 11 , *i ii <sup>p</sup> x y* and 2 22 , *i ii <sup>p</sup> x y* are the corresponding points in first and second frames, *aa a* 0 7 ,..., is a transformation parameters vector and *f()* is a transformation function defined by (1).

Using this model definition, problem of camera motion estimation could be formalized as the error minimization problem:

$$M = \arg\min\_a \varepsilon(a) \tag{3}$$

Where *M* defines estimated camera motion parameters.

It is well known that, by taking some particular point *p* as the origin of the coordinate system with coordinates *z*, any infinitely differentiable function ƒ(x) could be approximated using Taylor series:

$$f\left(z\right) = f\left(p\right) + \sum\_{i} \frac{\partial f}{\partial z\_i} z\_i + \frac{1}{2} + \sum\_{i} \frac{\partial^2 f}{\partial z\_i \partial z\_j} z\_i z\_j + \dots \approx c - b \cdot z + \frac{1}{2} z \cdot A \cdot z \tag{4}$$

where

408 New Frontiers in Graph Theory

maximums gives us a several straight lines presented in the image. We use an intersection of these analytical lines with detected edges in order to find straight line segments. On this step we also detect intersections between line segments. For each intersection point we compute rank based on number of connected points. After transforming image into graph we search for similar structural elements in the graph of previous frame. This process is based on searching subgraphs consists of vertices with similar ranks. After finding correspondence points camera

In this work we considered eight-parameter perspective model defined as follows:

*i*

*i*

2 02 3 1 1 6 7

*a ax ay <sup>x</sup> ax ay*

*i i*

*i i*

2 14 5 1 1 6 7

at *t1* and *t2* respectively and *a a* 0 7 ,..., are the motion parameters. Various motion models can be derived from this mode. For example, in case of 6 7 *a a* 0 it is reduced to affine model, and setting 2 5 *a a* , 3 4 *a a* and 6 7 *a a* 0 will give us a translation-zoom-rotation

In [14] any vector field is approximated by a linear combination of a divergent field, a rotation field and two hyperbolic fields. The relationship between motion model parameters

> 0 1

*Pan a Tilt a*

 

*Rotation a a*

 2 1 1

where *N* is the number of corresponding points, 1 11 , *i ii <sup>p</sup> x y* and 2 22 , *i ii <sup>p</sup> x y* are the corresponding points in first and second frames, *aa a* 0 7 ,..., is a transformation

Using this model definition, problem of camera motion estimation could be formalized as

 *a p fp a* 

*i i*

*N*

*i*

parameters vector and *f()* is a transformation function defined by (1).

*Zoom a a*

2 5

3 4

,

(2)

*a ax ay <sup>y</sup> ax ay*

1 1

*i i*

1 1

*i i*

1 1 *x y*, and 2 2 , *i i x y* are the coordinates of the same point in the consequent frames

1

(1)

(4)

1

motion is estimated as a combination of translation and rotation.

and symbol-level interpretation is established as:

Error in esti mation parameters is defined as:

the error minimization problem:

**2. Camera motion model** 

where 1 1

model.

$$a \equiv f\left(p\right) \qquad b \equiv -\nabla f \mid p \quad \left[A\right]\_{ij} = \frac{\partial^2 f}{\partial z\_i \partial z\_j} \mid p \tag{5}$$

The matrix *A* which consists of a second partial derivatives of the function is also called Hessian matrix of the function at *p* [15]

In approximation of (4) the gradient of *f* is easily calculated as

$$
\nabla f\left(z\right) = Az - b \tag{6}
$$

In Newton's method gradient is set to 0 to determine the next iteration point.

The gradient of error function with respect to parameters *a* has components

$$\frac{\partial \mathcal{E}}{\partial a\_k} = -2 \sum\_{i=1}^{N} \frac{\left[p\_i^2 - f\left(p\_i^1, a\right)\right] \hat{\c} f\left(p\_i^1, a\right)}{\hat{\c} a\_k}, \qquad k = 0, 1, \dots, 7 \tag{7}$$

Taking second order partial derivatives gives

$$\frac{\hat{\sigma}^2 \varepsilon^2}{\hat{\varepsilon} a\_k \hat{\alpha} a\_j} = 2 \sum\_{i=1}^N \left[ \frac{\hat{\sigma} f\left(p\_i^1, a\right)}{\hat{\alpha} a\_k} \frac{\hat{\sigma} f\left(p\_i^1, a\right)}{\hat{\alpha} a\_j} - \left[p\_i^2 - f\left(p\_i^1, a\right)\right] \frac{\hat{\sigma}^2 f\left(p\_i^1, a\right)}{\hat{\alpha} a\_k \hat{\alpha} a\_j} \right] \tag{8}$$

It is conventional to remove the factors of 2 by defining

$$\alpha\_{kj} = \frac{1}{2} \frac{\partial^2 \mathcal{E}^2}{\partial a\_k \partial a\_j} \tag{9}$$

$$
\beta\_k = \frac{1}{2} \frac{\partial \varepsilon}{\partial a\_k} \tag{10}
$$

Making [a]=1/2A in equation (6), in terms of which that equation can be rewritten as the set of linear equations

Camera Motion Estimation Based on Edge Structure Analysis 411

The proposed method is based on matching edge structures inside the images. Robustness of the algorithm depends on the quality of detected edges. Thus, we try to discard small edges and edges with small magnitude before recovering structures. One of the most effective way to remove such edges is a bilateral filtering [18]. We used bilateral filtering to blur image while preserving strong edges (Fig.2(b)). This allows us to reduce number of

<sup>1</sup> , , *<sup>p</sup> s I*

<sup>1</sup> , , *<sup>p</sup> s I*

*bf I G p q G I p I q <sup>k</sup>* 

*bf I G p q G I p I q I q <sup>k</sup>* 

 

(6)

 

(5)

, bilateral filter of input image

*<sup>I</sup>* the influence of the intensity

(c)

small edges. With a Gaussian function 2 2 *gx x* , exp /

*q I*

difference and *k* is a normalizing coefficient defined as

*<sup>s</sup>* controls the influence of spatial neighbourhood,

*q I*

Fig. 2. Example of image to graph transformation. Refer text for details.

(e)

(d) (f)

(b)

*I* at pixel *p* is defined as

(a)

where

$$\sum\_{i=1}^{N} \alpha\_{ki} \hat{\alpha} a\_i = \beta\_k \tag{11}$$

SVD is used to compute transformation parameters form overdetermined set of linear equations (11).

In the proposed work initial translation was estimated prior to pan-tilt-zoom estimation based on center of gravity of corresponding feature points in consistent frames. To remove outliers voting idea was used. After finding correspondences between frames each pair of matching points "votes" for its offset. Then points with small number of offset votes are discarded.

### **3. Image to graph conversion**

However, the most challenging part in camera motion estimation is finding correspondences between two frames. In proposed work this process is based on searching similar edge structures in the frames. Input image is represented as a graph based on edges and their intersections. Intersection points are ranked according to the number of connections. Algorithm for transforming image into graph is presented in Fig.1.

Fig. 1. Transforming image into graph

410 New Frontiers in Graph Theory

*ki i k*

SVD is used to compute transformation parameters form overdetermined set of linear

In the proposed work initial translation was estimated prior to pan-tilt-zoom estimation based on center of gravity of corresponding feature points in consistent frames. To remove outliers voting idea was used. After finding correspondences between frames each pair of matching points "votes" for its offset. Then points with small number of offset votes are

However, the most challenging part in camera motion estimation is finding correspondences between two frames. In proposed work this process is based on searching similar edge structures in the frames. Input image is represented as a graph based on edges and their intersections. Intersection points are ranked according to the number of

connections. Algorithm for transforming image into graph is presented in Fig.1.

*Blurred image*

*Edges*

*Lines*

*Input image*

Bilateral filtering

Edge detection

*Edges*

*Edges*

Straight line and line intersection detection

Structure extraction

*Input description based on edge structure*

(11)

Find local maximums

Hough transform

*Voting results*

Reverse Hough transform

1

*i a*

equations (11).

discarded.

**3. Image to graph conversion** 

Fig. 1. Transforming image into graph

*N*

The proposed method is based on matching edge structures inside the images. Robustness of the algorithm depends on the quality of detected edges. Thus, we try to discard small edges and edges with small magnitude before recovering structures. One of the most effective way to remove such edges is a bilateral filtering [18]. We used bilateral filtering to blur image while preserving strong edges (Fig.2(b)). This allows us to reduce number of small edges. With a Gaussian function 2 2 *gx x* , exp / , bilateral filter of input image *I* at pixel *p* is defined as

$$bf\left(I\right)\_p = \frac{1}{k} \sum\_{q \in I} \left[ G\left( \left\| p - q \right\|, \sigma\_s \right) \cdot G\left( \left\| I\left(p \right) - I(q), \sigma\_l \right\| \right) \cdot I(q) \right] \tag{5}$$

where *<sup>s</sup>* controls the influence of spatial neighbourhood, *<sup>I</sup>* the influence of the intensity difference and *k* is a normalizing coefficient defined as

$$bf\left(I\right)\_p = \frac{1}{k} \sum\_{q \neq I} \left[ G\left( \|p - q\|\\_\sigma\_s \right) \cdot G\left( \left| I\left(p\right) - I\left(q\right) \cdot \sigma\_I \right| \right) \right] \tag{6}$$

Fig. 2. Example of image to graph transformation. Refer text for details.

Camera Motion Estimation Based on Edge Structure Analysis 413

Let's define *j-*th order rank of the *i-*th vertex as a number of vertices which could be reached from *i*-th vertex by *j* steps. First order rank of the *i-*th vertex shows how many vertices are

<sup>4</sup>*r* 6 . Second order rank shows how many vertices could be reached from the *i-*th vertex in

be reached from *i-*th vertex in *n* steps. This ranking could be used to evaluate complexity and size of the substructures. Rank table for the graph presented in Fig.3 is shown in Table 1. Let's define the highest order of the rank *rMax* as the minimal order which satisfies the


The highest order for this graph is 3. Using higher order rank is useless for that graph as long as it would have same values. However, in common case, using higher order ranks allows to make matching process more effective by detecting more complex structures

*ir* 1 1 1 6 1 1 1 1 4 1

*ir* 6 6 6 9 6 6 4 4 9 4

*ir* 9 9 9 9 9 9 9 9 9 9



After transforming two frames into graphs problem of finding correspondences between them could be reformulated as a problem of finding sub-graphs with similar structure. We start our search with finding correspondences for vertices with high rank. During this process spatial information could also be considered. Thus we try to find corresponding vertex which would have the same rank and will be located close to the reference vertex. In the future work we this step may be improved by searching correspondences for groups of vertices instead of matching them one by one. As the result of this step we obtain two set of

Matching idea is based on searching similar substructures in the image graphs. Typically, images contain many simple substructures. These substructures have a small maximum

points *P* and *Q* which are used to estimate camera motion as it was described.

**Vertices**  *v1 v2 v3 v4 v5 v6 v7 v8 v9 v10*

<sup>4</sup>*r* 9 . Finally, *n-*th order rank shows how many vertices could

*<sup>i</sup> rMax j r n i rMax* (7)

<sup>1</sup>*r* 1 and the *v4* will have

directly connected to it. Thus, the *v1* will have first order rank <sup>1</sup>

<sup>1</sup>*r* 6 and <sup>2</sup>

where *n* is the number of edges in graph.

These ranks have the following properties:


required to reach any vertex from any other.

1

two steps. Thus, <sup>2</sup>

following condition:

inside the image.

1

2

3

Table 1. Vertex ranks

loops.

Fig. 3. Example of graph structure.

Next step is edge detection (Fig.2(c)). In this work Sobel edge detector was used. Edges with magnitude less than 50 were filtered out during this step. Remained edges were mapped into , space using Hough transform. As a result 2-dimensional voting array was generated. Local maximums of this array correspond to strongest edges in the image. Using reverse Hough transform for these maximums we obtain set of lines (Fig.2(d)). Intersection of these lines gives us straight line segments (Fig.2(e)) and their intersections (Fig.2(f)). The purpose of these steps is to obtained graph-like structure. In further processing we use information about edge intersections (vertices) and their connections (edges). The computational time of the proposed algorithm might be reduced by removing Hough transform. It is not very important to detect exactly straight lines between vertices. The important information is their connectivity. However, using straight lines instead of edges allows more robust detection of edge intersection.

Information about edges could be represented in the form of a graph *E V*, where *vv v* <sup>1</sup> ,..., *<sup>m</sup>* is a set of vertices obtained from intersections and *Ee e* <sup>1</sup> ,..., *<sup>n</sup>* is a set of edges. Each vertex is described by its coordinates and rank which shows how many connections this vertex has. Edges of graph show connections between vertices. To compute rank of the vertex we used the following idea. Let's consider the structure presented in the Fig.3 as a graph, obtained after edge detection. It has nine edges *e1…e9* , ten vertices *v1…v10* and could be described by the following connectivity matrix :


412 New Frontiers in Graph Theory

Next step is edge detection (Fig.2(c)). In this work Sobel edge detector was used. Edges with magnitude less than 50 were filtered out during this step. Remained edges were mapped

generated. Local maximums of this array correspond to strongest edges in the image. Using reverse Hough transform for these maximums we obtain set of lines (Fig.2(d)). Intersection of these lines gives us straight line segments (Fig.2(e)) and their intersections (Fig.2(f)). The purpose of these steps is to obtained graph-like structure. In further processing we use information about edge intersections (vertices) and their connections (edges). The computational time of the proposed algorithm might be reduced by removing Hough transform. It is not very important to detect exactly straight lines between vertices. The important information is their connectivity. However, using straight lines instead of edges

Information about edges could be represented in the form of a graph *E V*, where *vv v* <sup>1</sup> ,..., *<sup>m</sup>* is a set of vertices obtained from intersections and *Ee e* <sup>1</sup> ,..., *<sup>n</sup>* is a set of edges. Each vertex is described by its coordinates and rank which shows how many connections this vertex has. Edges of graph show connections between vertices. To compute rank of the vertex we used the following idea. Let's consider the structure presented in the Fig.3 as a graph, obtained after edge detection. It has nine edges *e1…e9* , ten vertices *v1…v10*

space using Hough transform. As a result 2-dimensional voting array was

Fig. 3. Example of graph structure.

allows more robust detection of edge intersection.

and could be described by the following connectivity matrix :

*C*

into , Let's define *j-*th order rank of the *i-*th vertex as a number of vertices which could be reached from *i*-th vertex by *j* steps. First order rank of the *i-*th vertex shows how many vertices are directly connected to it. Thus, the *v1* will have first order rank <sup>1</sup> <sup>1</sup>*r* 1 and the *v4* will have 1 <sup>4</sup>*r* 6 . Second order rank shows how many vertices could be reached from the *i-*th vertex in two steps. Thus, <sup>2</sup> <sup>1</sup>*r* 6 and <sup>2</sup> <sup>4</sup>*r* 9 . Finally, *n-*th order rank shows how many vertices could be reached from *i-*th vertex in *n* steps. This ranking could be used to evaluate complexity and size of the substructures. Rank table for the graph presented in Fig.3 is shown in Table 1. Let's define the highest order of the rank *rMax* as the minimal order which satisfies the following condition:

$$r\text{Max} = j \mid r\_i^j = n \forall i \ge r \text{Max} \tag{7}$$

where *n* is the number of edges in graph.

The highest order for this graph is 3. Using higher order rank is useless for that graph as long as it would have same values. However, in common case, using higher order ranks allows to make matching process more effective by detecting more complex structures inside the image.


Table 1. Vertex ranks

These ranks have the following properties:


After transforming two frames into graphs problem of finding correspondences between them could be reformulated as a problem of finding sub-graphs with similar structure. We start our search with finding correspondences for vertices with high rank. During this process spatial information could also be considered. Thus we try to find corresponding vertex which would have the same rank and will be located close to the reference vertex. In the future work we this step may be improved by searching correspondences for groups of vertices instead of matching them one by one. As the result of this step we obtain two set of points *P* and *Q* which are used to estimate camera motion as it was described.

Matching idea is based on searching similar substructures in the image graphs. Typically, images contain many simple substructures. These substructures have a small maximum

Camera Motion Estimation Based on Edge Structure Analysis 415

quality of camera motion estimation average and maximum absolute errors were computed.

(a)

Fig. 4. Planar camera motion estimation for translation (a) and translation with rotation (b).

(b)

Second group of tests was used to evaluate algorithm performance for full 3D camera motion with known real camera trajectory. Three kinds of scenes were used: static scenes, scenes with moving objects and scenes with high amount of natural objects (trees, grass etc).

Example of camera trajectory estimation is shown at Fig.5~6.

Results for all groups of tests are shown in Table 3.

rank order *rMax*. Furthermore, most of the vertices have small rank of first and second order, while very few of them are ranked higher than 6. Thus we start searching of correspondences from the structures with highest ranks. In the graph presented on Fig.3 such vertices are *v4* and *v9*. They have ranks 6 and 4 respectively. As long as they are connected we will try to search for two connected vertices with ranks 4 and 6 in the next frame.

To simplify matching process we try to find substructures with more complex structure. This problem is solved by computing rank of vertices of higher orders.

Some edges could be lost in image sequence due to noise, camera movement and movement of objects in scene. It may cause differences in the structure of image graphs. To solve this problem the following ideas were used:


To decrease number of incorrect matches and to increase the preciseness of matching algorithm matched points were additionally compared using Cross-Hexagon Search (CHS) algorithm [19]. Coordinates of matched graph vertices were used a block centers and offset between matched points in consistent frames was used as initial offset. As long as CHS is used for verification of matched feature points, it can be changed to any block-based feature matching algorithm such as Diamond Search [20] or Three-Step Search [21].

### **4. Experimental results**

All experiments were done on Intel Core 2 Duo with 2Gb memory under Borland Builder environment. Program was not optimized for the maximum performance, thus, computational time, shown in Table 2, could be decreased.


Table 2. Average computational time for 200 vertices.

To evaluate matching quality several types of experiments were done. First group of tests considered planar camera motion (translation and rotation around camera optical axis). Image sequences with camera smoothly by shifted by 20 cm in different directions and rotated by 20 degrees around its optical axis were made (see Fig.4 for example). To evaluate 414 New Frontiers in Graph Theory

rank order *rMax*. Furthermore, most of the vertices have small rank of first and second order, while very few of them are ranked higher than 6. Thus we start searching of correspondences from the structures with highest ranks. In the graph presented on Fig.3 such vertices are *v4* and *v9*. They have ranks 6 and 4 respectively. As long as they are connected we will try to search for two connected vertices with ranks 4 and 6 in the next

To simplify matching process we try to find substructures with more complex structure.

Some edges could be lost in image sequence due to noise, camera movement and movement of objects in scene. It may cause differences in the structure of image graphs. To solve this

1. We tried to match structures located closer to the center of frame first in order to avoid

2. We consider that vertex i in one frame may correspond to vertex j in other frame even if their ranks are not exactly same. Thus, for each vertex in first frame we select several candidates which ranks are differs less than 30%. After candidates are selected for all

To decrease number of incorrect matches and to increase the preciseness of matching algorithm matched points were additionally compared using Cross-Hexagon Search (CHS) algorithm [19]. Coordinates of matched graph vertices were used a block centers and offset between matched points in consistent frames was used as initial offset. As long as CHS is used for verification of matched feature points, it can be changed to any block-based feature

All experiments were done on Intel Core 2 Duo with 2Gb memory under Borland Builder environment. Program was not optimized for the maximum performance, thus,

Bilateral filtering 0,31

Graph matching 0,17 Total 0,72

To evaluate matching quality several types of experiments were done. First group of tests considered planar camera motion (translation and rotation around camera optical axis). Image sequences with camera smoothly by shifted by 20 cm in different directions and rotated by 20 degrees around its optical axis were made (see Fig.4 for example). To evaluate

Representing image as a graph 0,03

transform 0,2

Ranking Less than 0,01

**Stage Average time (sec)** 

vertices we try to choose best corresponding pairs using spatial information.

matching algorithm such as Diamond Search [20] or Three-Step Search [21].

computational time, shown in Table 2, could be decreased.

Table 2. Average computational time for 200 vertices.

Edge detection and Hough

This problem is solved by computing rank of vertices of higher orders.

problem the following ideas were used:

**4. Experimental results** 

loosing edges due to camera motion.

frame.

quality of camera motion estimation average and maximum absolute errors were computed. Results for all groups of tests are shown in Table 3.

Second group of tests was used to evaluate algorithm performance for full 3D camera motion with known real camera trajectory. Three kinds of scenes were used: static scenes, scenes with moving objects and scenes with high amount of natural objects (trees, grass etc). Example of camera trajectory estimation is shown at Fig.5~6.

Camera Motion Estimation Based on Edge Structure Analysis 417

Fig. 7. Absolute error for translation and zoom.

Fig. 8. Accumulated absolute error for translation and zoom.

in Fig.9.

In last group of tests image sequence with predefined camera motion trajectory was used to evaluate error depending on number of graph vertices used for matching result is shown

Fig. 5. Estimated trajectory for translation and zoom.

Fig. 6. Estimated trajectory for rotation.

Additionally, these tests were used to evaluate performance of algorithm with and without CHS correction. (Fig.7,8). It is easy to see, that using additional verification step for correspondent points could decrease estimation error, with relatively small increasing of computational time (about 0,07 sec).

416 New Frontiers in Graph Theory

Additionally, these tests were used to evaluate performance of algorithm with and without CHS correction. (Fig.7,8). It is easy to see, that using additional verification step for correspondent points could decrease estimation error, with relatively small increasing of

Fig. 5. Estimated trajectory for translation and zoom.

Fig. 6. Estimated trajectory for rotation.

computational time (about 0,07 sec).

Fig. 7. Absolute error for translation and zoom.

Fig. 8. Accumulated absolute error for translation and zoom.

In last group of tests image sequence with predefined camera motion trajectory was used to evaluate error depending on number of graph vertices used for matching result is shown in Fig.9.

Camera Motion Estimation Based on Edge Structure Analysis 419

additional prefiltering may be required for removing unimportant information from edge image. In this paper we also presented simple algorithm for camera motion estimation based on parametric motion model. In future works we would like to improve the performance of the proposed algorithm to work in a real-time applications. Furthermore,

This research was supported by the MKE(The Ministry of Knowledge Economy), Korea, under the Human Resources Development Program for Convergence Robot Specialists support program supervised by the NIPA(National IT Industry Promotion Agency) (NIPA-

[1] W. Lie and W. Hsiao, "Content-based video retrieval based on object motion trajectory," in Proc. IEEEWorkshop on Multimedia Signal Processing, Dec. 2002, pp. 237–240. [2] W. Hu, D. Xie, Z. Fu, W. Zeng, and S. Maybank, "Semantic-based surveillance video retrieval," IEEE Trans. Image Process., vol. 16, no. 4, pp. 1168–1181, Apr. 2007. [3] Y. Jianfeng and L. Zhanhuai, "Modeling of moving objects and querying videos by

[4] Y.-P. Tan, D. D. Saur, S. R. Kulkarni, and P. J. Ramadge, "Rapid estimation of camera

[5] L.-Y. Duan, J. S. Jin, Q. Tian, and C.-S. Xu, "Nonparametric motion characterization for

[6] X. Zhu, A. K. Elmagarmid, X. Xue, L. Wu, and A. C. Catlin, "InsightVideo: Toward

[9] O. Faugeras, Q.T. Luong, and T. Papadopoulo. "The Geometry of Multiple Images". MIT

[10] M. Pollefeys, M Vergauwen, K Cornelis, J. Tops, F. Verbiest, and L. Van Gool "Structure

[11] Y. Ma, J. Koseck\_a, and S. Sastry. "Linear differential algorithm for motion recovery: A

[12] S.C. Park, H.S. Lee, and S.W. Lee, "Qualitative estimation of camera motion parameters from the linear composition of optical flow", PR(37), vol. 4, pp.767-779, 2004.

retrieval," IEEE Trans. Multimedia, vol. 7, no. 4, pp. 648–666, Aug. 2005. [7] T. Lertrusdachakul, T. Aoki, and H. Yasuda, "Camera motion characterization through image feature analysis," in Proc. ICCIMA'05, Aug. 16–18, 2005, pp. 186–190. [8] A. Yao and A. Calway, "Robust estimation of 3-d camera motion for uncalibrated

Circuits Syst. Video Technol., vol. 10, no. 1, pp. 133–145, Jan. 2000.

trajectories," in Proc. 10th Int. Multimedia Modelling Conf., Washington, DC, 2004,

motion from compressed video with application to video annotation," IEEE Trans.

robust classification of camera motion patterns," IEEE Trans. Multimedia, vol. 8,

hierarchical video content organization for efficient browsing, summarization and

augmented reality", Technical Report CSTR-02-001, Dept of Computer Science,

and motion from image sequences" Proceedings of Conference on Optical 3-D

algorithm could be improved for natural scenes by using different type of features.

2010-C7000-1001-0007) and post-BK21 at University of Ulsan.

**6. Acknowledgments** 

pp. 373-380.

no. 2, pp. 323–340, Apr. 2006.

University of Bristol, 2002.

Measurement Techniques V, pp. 251-258, 2001.

geometric approach", IJCV, vol.36(1), pp.71-89, 2000.

Press, 2000.

**7. References** 

Fig. 9. Computational error depending on number of vertices.


Table 3. Computational error (cm)

Table 3 shows that the proposed method can effectively estimate camera motion for scene with moving objects. However, its weak point is natural scenes with small number of geometrical objects.

### **5. Conclusion**

In this paper we introduce an algorithm for converting images into graphs based on edges structure and graph matching algorithm based on vertex ranking. Proposed method could be used in different applications such as camera motion estimation, stereo matching, motion compensation, background model generation and many others. The proposed method provides efficient image-to-graph mapping for urban scenes. In case of natural scenes additional prefiltering may be required for removing unimportant information from edge image. In this paper we also presented simple algorithm for camera motion estimation based on parametric motion model. In future works we would like to improve the performance of the proposed algorithm to work in a real-time applications. Furthermore, algorithm could be improved for natural scenes by using different type of features.

### **6. Acknowledgments**

This research was supported by the MKE(The Ministry of Knowledge Economy), Korea, under the Human Resources Development Program for Convergence Robot Specialists support program supervised by the NIPA(National IT Industry Promotion Agency) (NIPA-2010-C7000-1001-0007) and post-BK21 at University of Ulsan.

### **7. References**

418 New Frontiers in Graph Theory

3D motion 3D motion with CHS

Static scene Moving objects

Natural scene

Natural scene

Fig. 9. Computational error depending on number of vertices.

Static scene Moving objects

absolute error 0,59 0,44 0,59 4,61 0,33 0,37 4,3

absolute error 0,6 3,7 3,93 9,02 2,21 2,47 8.98

Table 3 shows that the proposed method can effectively estimate camera motion for scene with moving objects. However, its weak point is natural scenes with small number of

In this paper we introduce an algorithm for converting images into graphs based on edges structure and graph matching algorithm based on vertex ranking. Proposed method could be used in different applications such as camera motion estimation, stereo matching, motion compensation, background model generation and many others. The proposed method provides efficient image-to-graph mapping for urban scenes. In case of natural scenes

Planar motion

Average

Maximum

geometrical objects.

**5. Conclusion** 

Table 3. Computational error (cm)


**0**

**21**

**Graph Theory for Survivability Design in**

Design of survivable communication networks has been a complex task. Without establishing network survivability, there can be severe consequences when a physical link fails. Network failures which may be caused by dig-ups, vehicle crashes, human errors, system malfunctions, fire, rodents, sabotage, natural disasters (e.g. floods, earthquakes, lightning storms), and some other factors, have occurred quite frequently and sometimes with unpredictable consequences. To tackle these, survivability measures in a communication network can be implemented at the service layer, the logical layer, the system layer, and the physical layer. The physical layer is the base resource infrastructure of the network, and to be able to protect it, we need to ensure that the physical topology of the network has sufficient link and node diversity. Without this, protection at higher layers will not be feasible. With the implementation of Dense Wavelength Division Multiplexing (DWDM) in the optical backbone of metropolitan and long-haul networks, greater flexibility is achieved in providing alternate routes for light-path connections. However, the survivability problem at the physical layer remains the same. In fact, it becomes even more critical, because each link of a backbone network carries huge amounts of traffic and the failure of an optical component, such as a fiber cut or a node failure, may cause a very serious problem in terms of loss of data and

The physical topology of a network is considered to be survivable if it can cope with failure scenarios occurring at network components. In other words, the physical topology must remain connected under the failure scenario. For example, to cope with single link failures in the network, the physical topology must be at least 2-connected, meaning that there is at least 2 link-disjoint paths between any two nodes in the network. Generally, to protect against the failure of any set of *k* links in a network, the physical topology of that network must be (*k* + 1)-connected. Menger's theorem (Menger, 1927) gives the necessary and sufficient condition for survivability of networks at the physical layer, using the connectivity between network's cut-sets. However, the computational complexity of this model grows exponentially with the size of the network, since a network with <sup>|</sup>*V*<sup>|</sup> nodes would yield 2|*V*<sup>|</sup> <sup>−</sup> 2 cut-sets. Therefore, the cut-set technique cannot efficiently deal with even moderate size networks of say 40 nodes, and larger networks are out of computational reach of this technique. Testing for survivability of large networks can be done using a technique called bi-connected components of a graph introduced by W. D. Grover (Grover, 2004). This technique can determine vulnerable links and nodes of the network. However, verifying network survivability is just the first step in

**1. Introduction**

profit.

**Communication Networks**

Daryoush Habibi and Quoc Viet Phung

*Edith Cowan University*

*Australia*


## **Graph Theory for Survivability Design in Communication Networks**

Daryoush Habibi and Quoc Viet Phung *Edith Cowan University Australia*

#### **1. Introduction**

420 New Frontiers in Graph Theory

[13] Y. Tian, C. Tomasi, and D.J. Heeger, "Comparison of approaches to egomotion

[14] E. Francois and P.Bouthemy, "Derivation of qualitative information in motion analysis," Image Vi-sion Computing, vol.8, no.4, pp. 279-287, Nov.1990. [15] W.H. Press, B.P. Flannery, S. A. Teukolsky, and W.T. Vetterling, Numerical Recipes in

[16] R. Grompone von Gioi, J. Jakubowicz, J-M.Morel and G.Randall, "On Straight Line

[17] C. Beumier, "Straight-Line Detection Using Moment of Inertia", IEEE International Conference on Industrial Technology, pp.1753-1756, 15-17 Dec. 2006. [18] C. Tomasi and R. Manduchi, "Bilateral Filtering for Gray and Color Images",

[19] S S. Zhu, J. Tian, X. Shen, K. Belloulata*,"*A new cross-diamond search algorithm for fast

[20] Belloulata, K., Shiping Zhu, Jun Tian, Xiaodong Shen, "A novel cross-hexagon search

[21] Li Ren-xiang, Zeng Bing, Liou M. L, "A new three-step search algorithm for block

Recognition, pp.315-320, 1996.

pp.59-70, pp.656-706.

Bombay, India, 1998.

pp.313-347, November 2008.

Volume: Issue: , 9-11 May 2011

Egypt, 07-11 Nov. 2009, Vol. I, pp. 1581-1584.

Technology, vol. 4, pp. 438-442, April 1994.

computation" IEEE Computer Society, Conference on Computer Vision and Pattern

C: The Art of Scientific Computing. Cambridge, U.K.: Cambridge Univ. Press, 1988,

Segment Detection", Journal of Mathematical Imaging and Vision, vol.32(3),

Proceedings of the 1998 IEEE International Conference on Computer Vision,

block motion estimation", the IEEE Int. Conf. Image Processing, *ICIP2009*, Cairo,

algorithm for fast block motion estimation", Systems, Signal Processing and their Applications (WOSSPA), 2011 7th International Workshop on, On page(s): 1 - 4,

motion estimation," IEEE Transactions on Circuits and Systems for Video

Design of survivable communication networks has been a complex task. Without establishing network survivability, there can be severe consequences when a physical link fails. Network failures which may be caused by dig-ups, vehicle crashes, human errors, system malfunctions, fire, rodents, sabotage, natural disasters (e.g. floods, earthquakes, lightning storms), and some other factors, have occurred quite frequently and sometimes with unpredictable consequences. To tackle these, survivability measures in a communication network can be implemented at the service layer, the logical layer, the system layer, and the physical layer.

The physical layer is the base resource infrastructure of the network, and to be able to protect it, we need to ensure that the physical topology of the network has sufficient link and node diversity. Without this, protection at higher layers will not be feasible. With the implementation of Dense Wavelength Division Multiplexing (DWDM) in the optical backbone of metropolitan and long-haul networks, greater flexibility is achieved in providing alternate routes for light-path connections. However, the survivability problem at the physical layer remains the same. In fact, it becomes even more critical, because each link of a backbone network carries huge amounts of traffic and the failure of an optical component, such as a fiber cut or a node failure, may cause a very serious problem in terms of loss of data and profit.

The physical topology of a network is considered to be survivable if it can cope with failure scenarios occurring at network components. In other words, the physical topology must remain connected under the failure scenario. For example, to cope with single link failures in the network, the physical topology must be at least 2-connected, meaning that there is at least 2 link-disjoint paths between any two nodes in the network. Generally, to protect against the failure of any set of *k* links in a network, the physical topology of that network must be (*k* + 1)-connected. Menger's theorem (Menger, 1927) gives the necessary and sufficient condition for survivability of networks at the physical layer, using the connectivity between network's cut-sets. However, the computational complexity of this model grows exponentially with the size of the network, since a network with <sup>|</sup>*V*<sup>|</sup> nodes would yield 2|*V*<sup>|</sup> <sup>−</sup> 2 cut-sets. Therefore, the cut-set technique cannot efficiently deal with even moderate size networks of say 40 nodes, and larger networks are out of computational reach of this technique. Testing for survivability of large networks can be done using a technique called bi-connected components of a graph introduced by W. D. Grover (Grover, 2004). This technique can determine vulnerable links and nodes of the network. However, verifying network survivability is just the first step in

concerned, the failure may be in a single link, a single node, a group of links, a group of nodes. Protection design cannot cover all failure scenarios. Instead, it will consider the set of specific (or predetermined) failures. For example, protection design against single link failures needs to determine the recovery routes for services so that they can maintain their services under the failure of any single link in the network. To do that, the network connectivity must provide at least 2 *disjoint* paths between any source and destination nodes. The term "disjoint" here is with respect to the failure scenario, meaning that the "disjoint" paths must not suffer from the same failure. For example, for single link failures, the 2 paths must be link-disjoint. Similarly,

Graph Theory for Survivability Design in Communication Networks 423

Fig. 1 shows an example of a pair of link-disjoint paths (Fig. 1(a)) and node-disjoint paths (Fig. 1(b)). It can be easily seen that link-disjoint paths may share nodes along their paths, e.g. node 3 on paths *p*<sup>1</sup> and *p*<sup>2</sup> in Fig. 1(a). Hence, link-disjoint paths may not be node-disjoint.

A graph which provides at least 2 link-disjoint paths between any two nodes is 2*-connected*. With stronger connectivity, a *biconnected* graph is able to provide at least 2 node-disjoint paths

Generally, a network must provide at least *K* link-disjoint paths between any node-pairs to be able to protect against simultaneous failure of *K* − 1 links. The graph of such networks is said to be *K*-*connected*. The rest of this chapter will mainly discuss network connectivity which supports single link and single node failures, known as 2-connected and biconnected.

This section presents the procedures for establishing network survivability against single-link failures which is one of the most common failure scenarios occurring in practical networks. As discussed, the physical topology of a network can only be survivable under single-link failures if and only if it is 2-connected. Manual verification for survivability is only suitable with small networks where designers can perform the verification in just few seconds or few minutes. However, manual verification may take hours or even days for large scale networks. Furthermore, it is prone to human errors. Therefore, automatic survivability verification is important in both theory and practice. The concept of survivable networks is more complex than the concept of connectivity in graph theory. In addition, efficient automation algorithms based on graph theory can help designers to reduce the computational time and avoid human errors. This section presents techniques for evaluating the physical survivability of networks. Firstly, we outline and analyse the strengths and weaknesses of a popular method, namely the cut-set method. Then, we introduce two comparable techniques that can deal with network sizes of many thousand nodes (Habibi et al., 2005). One technique is based on Depth-First

**A network is survivable if the size of every cut-set of the network is equal to or larger than 2**. At a glance, this definition leads to a view that the network has nodal-degree of two, meaning that every node in the network is connected to at least two other nodes. Since every node is connected to at least two other nodes in the network, on the surface this property seems to be able to offer two disjoint paths between any two nodes in the network. In fact, this is a misconception. If a network is 2-connected then the nodal degree of all nodes in the

for single node failures, the 2 paths must be node-disjoint.

between any two nodes.

**4.1 Survivability via cut-sets**

**4. Establishing physical survivability**

On the other hand, node-disjoint paths are always link-disjoint.

Search (DFS) and the other uses properties of 2-connected graphs.

network planning, after which we need to apply appropriate protection routing schemes using such techniques as Shared Backup Path Protection (SBPP), Pre-configured Protection Cycles (*p*-cycle), or ring protection. It is therefore very helpful if the algorithm used for determining the physical survivability of the network can also provide additional information which is of benefit to protection design.

### **2. Chapter outline**

It is generally understood that research in transport networks has a close connection to graph theory. A graph can be used to present key aspects of a network, such as its topology and/or the associated capacity. Indeed, a network consists of many more elements such as the physical equipment (e.g. OADMs, OXCs, etc.), fibre cables, and so on. The objective of this chapter is to provide an overview of network connectivity in relation to network protection design. In addition, this chapter also aims to introduce and analyse the advantages and disadvantages of methods and algorithms for searching network connectivity as well as sets of disjoint and distinct paths for protection design.

Given these objectives, the chapter is organized as follows. Section 3 discusses the connectivity property of graph in relation to network protection design. Section 4 discusses two approaches to establishing the survivability of physical topology. In Section 5, we present the problem of diverse routing and graph algorithms. Finally, we close this chapter in Section 6 by summarising the key aspects of network connectivity in network protection design.

### **3. Graph connectivity in relation to network protection design**

Practically, different traffic requirements over a network would require different connectivity between nodes. Some traffic demands may require no protection, or may only need to be carried when possible. In contrast, other traffic demands may ask for a full protection against either single-link failure, dual-link failures or other types of failure. Hence, the required connectivity between nodes would be different for these varied protection requirements. This section first presents the general requirement for network connectivity in which the network can at least be protected against any single failure scenario, e.g. the failure of any single link or node of the network. In this case, the physical topology of the network must be 2-connected.

Fig. 1. Two connected graph versus biconnected graph

The protection mechanism is designed to maintain the continuity of services under network failures. The failure can be minor such as a channel failure, or be more significant such as failure of groups of links or nodes. As far as the connectivity of the physical topology is 2 Will-be-set-by-IN-TECH

network planning, after which we need to apply appropriate protection routing schemes using such techniques as Shared Backup Path Protection (SBPP), Pre-configured Protection Cycles (*p*-cycle), or ring protection. It is therefore very helpful if the algorithm used for determining the physical survivability of the network can also provide additional information which is of

It is generally understood that research in transport networks has a close connection to graph theory. A graph can be used to present key aspects of a network, such as its topology and/or the associated capacity. Indeed, a network consists of many more elements such as the physical equipment (e.g. OADMs, OXCs, etc.), fibre cables, and so on. The objective of this chapter is to provide an overview of network connectivity in relation to network protection design. In addition, this chapter also aims to introduce and analyse the advantages and disadvantages of methods and algorithms for searching network connectivity as well as sets

Given these objectives, the chapter is organized as follows. Section 3 discusses the connectivity property of graph in relation to network protection design. Section 4 discusses two approaches to establishing the survivability of physical topology. In Section 5, we present the problem of diverse routing and graph algorithms. Finally, we close this chapter in Section 6 by summarising the key aspects of network connectivity in network protection design.

Practically, different traffic requirements over a network would require different connectivity between nodes. Some traffic demands may require no protection, or may only need to be carried when possible. In contrast, other traffic demands may ask for a full protection against either single-link failure, dual-link failures or other types of failure. Hence, the required connectivity between nodes would be different for these varied protection requirements. This section first presents the general requirement for network connectivity in which the network can at least be protected against any single failure scenario, e.g. the failure of any single link or node of the network. In this case, the physical topology of the network must be 2-connected.

The protection mechanism is designed to maintain the continuity of services under network failures. The failure can be minor such as a channel failure, or be more significant such as failure of groups of links or nodes. As far as the connectivity of the physical topology is

5

7

1 6

(b) Biconnected graph

3

4

p

2

p1

2

benefit to protection design.

of disjoint and distinct paths for protection design.

**3. Graph connectivity in relation to network protection design**

5

7

1 6

(a) Two-connected graph

Fig. 1. Two connected graph versus biconnected graph

3

4

p

2

p

1

2

**2. Chapter outline**

concerned, the failure may be in a single link, a single node, a group of links, a group of nodes. Protection design cannot cover all failure scenarios. Instead, it will consider the set of specific (or predetermined) failures. For example, protection design against single link failures needs to determine the recovery routes for services so that they can maintain their services under the failure of any single link in the network. To do that, the network connectivity must provide at least 2 *disjoint* paths between any source and destination nodes. The term "disjoint" here is with respect to the failure scenario, meaning that the "disjoint" paths must not suffer from the same failure. For example, for single link failures, the 2 paths must be link-disjoint. Similarly, for single node failures, the 2 paths must be node-disjoint.

Fig. 1 shows an example of a pair of link-disjoint paths (Fig. 1(a)) and node-disjoint paths (Fig. 1(b)). It can be easily seen that link-disjoint paths may share nodes along their paths, e.g. node 3 on paths *p*<sup>1</sup> and *p*<sup>2</sup> in Fig. 1(a). Hence, link-disjoint paths may not be node-disjoint. On the other hand, node-disjoint paths are always link-disjoint.

A graph which provides at least 2 link-disjoint paths between any two nodes is 2*-connected*. With stronger connectivity, a *biconnected* graph is able to provide at least 2 node-disjoint paths between any two nodes.

Generally, a network must provide at least *K* link-disjoint paths between any node-pairs to be able to protect against simultaneous failure of *K* − 1 links. The graph of such networks is said to be *K*-*connected*. The rest of this chapter will mainly discuss network connectivity which supports single link and single node failures, known as 2-connected and biconnected.

### **4. Establishing physical survivability**

This section presents the procedures for establishing network survivability against single-link failures which is one of the most common failure scenarios occurring in practical networks. As discussed, the physical topology of a network can only be survivable under single-link failures if and only if it is 2-connected. Manual verification for survivability is only suitable with small networks where designers can perform the verification in just few seconds or few minutes. However, manual verification may take hours or even days for large scale networks. Furthermore, it is prone to human errors. Therefore, automatic survivability verification is important in both theory and practice. The concept of survivable networks is more complex than the concept of connectivity in graph theory. In addition, efficient automation algorithms based on graph theory can help designers to reduce the computational time and avoid human errors. This section presents techniques for evaluating the physical survivability of networks. Firstly, we outline and analyse the strengths and weaknesses of a popular method, namely the cut-set method. Then, we introduce two comparable techniques that can deal with network sizes of many thousand nodes (Habibi et al., 2005). One technique is based on Depth-First Search (DFS) and the other uses properties of 2-connected graphs.

#### **4.1 Survivability via cut-sets**

**A network is survivable if the size of every cut-set of the network is equal to or larger than 2**. At a glance, this definition leads to a view that the network has nodal-degree of two, meaning that every node in the network is connected to at least two other nodes. Since every node is connected to at least two other nodes in the network, on the surface this property seems to be able to offer two disjoint paths between any two nodes in the network. In fact, this is a misconception. If a network is 2-connected then the nodal degree of all nodes in the

cut-sets in the networks of |*V*| = 30 nodes is up to 1 billion cut-sets. So, the cut-set technique

Graph Theory for Survivability Design in Communication Networks 425

In summary, the node-degree assumption is simple but not reliable for the verification of network survivability. Meanwhile, the cut-set assumption is only applicable for link-survivable networks, and it is intractable with large scale networks. The verification ability of these two assumptions for different connectivities of the physical topology are summarised in Table 2. The node-degree assumption cannot verify any type of physical topology that has potential to support network survivability (namely 2-connected and biconnected networks) whereas the cut-set assumption can verify the survivability of a network that is 2-connected but cannot identify exactly a 2-connected topology or verify a biconnected topology. Next, we propose an approach that can classify network topologies,

and determine if they are unconnected, (1−)connected, 2-connected or biconnected.

Table 2. Performance of two common assumptions in terms of network connectivity

**4.2 An approach to verifying physical topology for designing network survivability**

connectivity of the graph:

2-connected graph.

*articulation node* which is the common node.

and the cut-link (or cut-path) cannot be protected.

Let *G*(*V*, *E*) be the graph presenting the physical topology of a network. If the degree of any node in *G* is zero, the graph is disconnected. If the degree of any node in *G* is 1, the graph cannot be 2-connected or biconnected. For the sake of network survivability design, from here after, we assume that the degree of every node in the graph is at least 2. This condition allows every node to belong to a biconnected component or a bridge. Let *G*� and *G*�� be two biconnected components of the graph *G*. The relationship between *G*� and *G*�� determines the

• If *G*� and *G*�� have at least 2 common nodes, then *G* is a 2-connected graph with no cut-node (i.e. node bridge) or cut-link (i.e. link bridge). In other words, *G* is a biconnected graph. • If *G*� and *G*�� only have one common node, then *G* is a 2-connected graph with an

• If *G*� and *G*�� are separated by a cut-link (or a cut-path), then *G* is not a 2-connected graph,

The key point for determining the connectivity of a graph is to find all biconnected components in the graph and check the relationship between these components. Biconnected components can be found using either Depth-First Search (DFS) or the properties of the

• If *G*� and *G*�� have no common links or nodes, then *G* is a disconnected graph.

Node-degree assumption Yes Yes No No Cut-set Assumption Yes Yes Yes No

Network connectivity Disconnected (1-)Connected 2-connected Biconnected


becomes intractable even with moderate scale networks (20 ≤ |*V*| ≤ 30).

Table 1. The number of cut-sets versus the number of network nodes

network is equal to or larger than 2. The reverse does not hold, however, in that a network in which the nodal degree of all its nodes equal to or larger than 2 is not always 2-connected. The topology in Fig. 2 illustrates this concept. In that Figure we can see that path (3 − 5 − 6) is a bridge that connects two subsets of network nodes *X* = {1, 2, 3, 4} and *Y* = {6, 7, 8, 9}. As a result, all paths between nodes *x* ∈ *X* and *y* ∈ *Y* must share the same path (3 − 5 − 6). Hence, although all nodes in this network have a nodal degree equal to or larger than 2, it is not a 2-connected network.

Fig. 2. An illustration of the failure of the nodal degree technique

Therefore, all algorithms for verification of network survivability based on node-degree of two may yield undesirable and inaccurate results and hence are not reliable. The cut-set assumption described below has been preferred for the accuracy of network survivability verification.

Let *G* = (*V*, *E*) be a network topology. A cut in *G* is a partition of *V* into parts *S* and *S*¯ = *V* \ *S*. Each cut defines a set of edges consisting of those edges in *E* with one end-point in *<sup>S</sup>* and the other in *<sup>S</sup>*¯. This edge set is referred as the cut-set *CS*(*S*,*<sup>V</sup>* \ *<sup>S</sup>*) associated with the cut �*S*, *V* \ *S*�. Let |*CS*(*S*,*V* \ *S*)| be the size of the cut-set, being the number of links between *S* and *V* \ *S*. Thus, according to the cut-set assumption, **a network is 2-connected if** |*CS*(*S*,*V* \ *S*)| ≥ 2, ∀*S* ⊂ *V*. If *S* is a subset of only a single node in the network, then the cut-set assumption is essentially the same as the node-degree assumption.

Since the cut-set assumption is related the number of links connected between two subsets of a cut, it can assure the network to offer **link-disjoint paths**, but **not node-disjoint paths**. In other words, a configuration of the network that satisfies the condition of the cut-set assumption can provide at least one link-disjoint path-pair between any distinct pair of source node and destination node.

The implementation of the cut-set assumption is not complex but its computational time for large scale networks is its biggest disadvantage. The number of cut-sets increases exponentially with the number of network nodes and is calculated as (Grover, 2004):

$$N\_{\text{custet}} = \mathbf{2}^{|V|} - \mathbf{2}$$

where *Ncutset* is the number of cut-sets in the network, and |*V*| is the number of network nodes.

Table 1 shows the example of the number of the possible cut-sets, *Ncutset*, versus the number of network nodes |*V*|. The number of cut-sets doubles with an increase of one node in the network. For instance, *Ncutset* in a network of 20 nodes is over 1 million; and it is over 32 million with <sup>|</sup>*V*<sup>|</sup> <sup>=</sup> 25; which is 32(= 25) times larger than <sup>|</sup>*V*<sup>|</sup> <sup>=</sup> 20; and the number of 4 Will-be-set-by-IN-TECH

network is equal to or larger than 2. The reverse does not hold, however, in that a network in which the nodal degree of all its nodes equal to or larger than 2 is not always 2-connected. The topology in Fig. 2 illustrates this concept. In that Figure we can see that path (3 − 5 − 6) is a bridge that connects two subsets of network nodes *X* = {1, 2, 3, 4} and *Y* = {6, 7, 8, 9}. As a result, all paths between nodes *x* ∈ *X* and *y* ∈ *Y* must share the same path (3 − 5 − 6). Hence, although all nodes in this network have a nodal degree equal to or larger than 2, it is

2 7

5

Therefore, all algorithms for verification of network survivability based on node-degree of two may yield undesirable and inaccurate results and hence are not reliable. The cut-set assumption described below has been preferred for the accuracy of network survivability

Let *G* = (*V*, *E*) be a network topology. A cut in *G* is a partition of *V* into parts *S* and *S*¯ = *V* \ *S*. Each cut defines a set of edges consisting of those edges in *E* with one end-point in *<sup>S</sup>* and the other in *<sup>S</sup>*¯. This edge set is referred as the cut-set *CS*(*S*,*<sup>V</sup>* \ *<sup>S</sup>*) associated with the cut �*S*, *V* \ *S*�. Let |*CS*(*S*,*V* \ *S*)| be the size of the cut-set, being the number of links between *S* and *V* \ *S*. Thus, according to the cut-set assumption, **a network is 2-connected if** |*CS*(*S*,*V* \ *S*)| ≥ 2, ∀*S* ⊂ *V*. If *S* is a subset of only a single node in the network, then the

Since the cut-set assumption is related the number of links connected between two subsets of a cut, it can assure the network to offer **link-disjoint paths**, but **not node-disjoint paths**. In other words, a configuration of the network that satisfies the condition of the cut-set assumption can provide at least one link-disjoint path-pair between any distinct pair of source

The implementation of the cut-set assumption is not complex but its computational time for large scale networks is its biggest disadvantage. The number of cut-sets increases

*Ncutset* <sup>=</sup> <sup>2</sup>|*V*<sup>|</sup> <sup>−</sup> <sup>2</sup>

where *Ncutset* is the number of cut-sets in the network, and |*V*| is the number of network

Table 1 shows the example of the number of the possible cut-sets, *Ncutset*, versus the number of network nodes |*V*|. The number of cut-sets doubles with an increase of one node in the network. For instance, *Ncutset* in a network of 20 nodes is over 1 million; and it is over 32 million with <sup>|</sup>*V*<sup>|</sup> <sup>=</sup> 25; which is 32(= 25) times larger than <sup>|</sup>*V*<sup>|</sup> <sup>=</sup> 20; and the number of

exponentially with the number of network nodes and is calculated as (Grover, 2004):

9

6 8

not a 2-connected network.

verification.

nodes.

node and destination node.

1

4

Fig. 2. An illustration of the failure of the nodal degree technique

3

cut-set assumption is essentially the same as the node-degree assumption.

cut-sets in the networks of |*V*| = 30 nodes is up to 1 billion cut-sets. So, the cut-set technique becomes intractable even with moderate scale networks (20 ≤ |*V*| ≤ 30).


Table 1. The number of cut-sets versus the number of network nodes

In summary, the node-degree assumption is simple but not reliable for the verification of network survivability. Meanwhile, the cut-set assumption is only applicable for link-survivable networks, and it is intractable with large scale networks. The verification ability of these two assumptions for different connectivities of the physical topology are summarised in Table 2. The node-degree assumption cannot verify any type of physical topology that has potential to support network survivability (namely 2-connected and biconnected networks) whereas the cut-set assumption can verify the survivability of a network that is 2-connected but cannot identify exactly a 2-connected topology or verify a biconnected topology. Next, we propose an approach that can classify network topologies, and determine if they are unconnected, (1−)connected, 2-connected or biconnected.


Table 2. Performance of two common assumptions in terms of network connectivity

### **4.2 An approach to verifying physical topology for designing network survivability**

Let *G*(*V*, *E*) be the graph presenting the physical topology of a network. If the degree of any node in *G* is zero, the graph is disconnected. If the degree of any node in *G* is 1, the graph cannot be 2-connected or biconnected. For the sake of network survivability design, from here after, we assume that the degree of every node in the graph is at least 2. This condition allows every node to belong to a biconnected component or a bridge. Let *G*� and *G*�� be two biconnected components of the graph *G*. The relationship between *G*� and *G*�� determines the connectivity of the graph:


The key point for determining the connectivity of a graph is to find all biconnected components in the graph and check the relationship between these components. Biconnected components can be found using either Depth-First Search (DFS) or the properties of the 2-connected graph.

Two parameters are assigned to each visited node *v*, the *dfs*[*v*] and the *btk*[*v*], to discover articulation nodes. The *dfs*[*v*] identifies the "depth first search" order of the node *v* when it is

Graph Theory for Survivability Design in Communication Networks 427

• Initially, *btk*[*v*] is assigned a value equivalent to the value of *dfs*[*v*] when the node is first

• *btk*[*v*] is then updated as *btk*[*v*] = min(*btk*[*v*], *dfs*[*w*]) when it has a neighbour *w* through

• The value of *btk*[*w*], where *w* is the parent of *v*, is also updated during the backtracking

The calculation of the value *btk* helps determine if a node *v* is a cut node (or articulation node)

Alternatively, based on the properties of 2-connected graphs, biconnected components can be built from a simple and small cycle by adding the so-called *H*-paths to the cycle. Let *H* be a biconnected component on the graph *G*. A *H*-path is a non-trivial path on *G* that meets *H* exactly at its end nodes. The following proposition and proof are adopted from (Diestel, 2000).

**Proposition 4.1.** *A graph is* 2*-connected if and only if it can be constructed from a cycle by*

*Proof.* Clearly, every graph constructed as proposed is 2-connected. Conversely, let *G* be a 2-connected graph, then *G* contains a cycle, and hence a maximal subgraph *H* is constructable, as evident in Fig. 3. Any edge *x*, *y* ∈ *E*(*G*) \ *E*(*H*) with (*x*, *y*) ∈ *H* defines a *H*-path. Then, *H* is an induced sub-graph of *G*. If *H* � *G*, then by the connectedness of *G*, there is an edge *vw* with *v* ∈ *G* − *H* and *w* ∈ *H*. As *G* is 2-connected, *G* − *w* has a *v* − *H* path *P*. Then *wvP* is a

Based on this proposition, we can use the relationship between network's cycles or

An undirected graph is thus seen as the combination of all fundamental cycles. Using

), *E*� ⊂ *E* of

Algorithm 2, these fundamental cycles can be found from a spanning tree *T*(*V*, *E*�

a graph *G*(*V*, *E*) (eg. the spanning tree highlighted by thick lines in Fig. 4).

visited for the first time. The *btk*[*v*] is determined using "back tracking" as follows:

when *btk*[*v*] is larger than or equal to *dfs*[*w*], where *w* is the parent of *v*.

**4.2.2 Finding biconnected components using property of** 2**-connected graphs**

an unvisited edge, and *w* is an ancestor of *v*.

step as *btk*[*w*] = min(*btk*[*w*], *btk*[*v*]).

Fig. 3. The construction of 2-connected graphs

*successively adding H-paths to graph H already constructed.*

*H*-path in *G*, and *H* ∪ *wvP* is a constructable sub-graph of *G*.

2-connected graphs to verify the survivability of its physical topology.

visited.

#### **4.2.1 Finding biconnected components using Depth-First Search (DFS)**

Algorithm 1 outlines the pseudo-code for verifying a 2-edge-connected graph. The principle is to find a bridge (edge) via articulation nodes - a cut at one of these nodes would disconnect the graph. A bridge is an edge or a path segment that connects two biconnected component neighbourhood. A graph is 2-edge-connected if it contains no bridge. The DFS algorithm for finding biconnected components was proposed by Robert Tarjan (Tarjan, 1971), and subsequently, revised for a particular study in survivable mesh networks in (Grover, 2004). Algorithm 1 is a modified version of the original DFS algorithm in (Grover, 2004; Tarjan, 1971) that allows for the verification of the 2-edge connectivity of a physical topology.

The underlying concept behind this search is to firstly "depth" explore unvisited nodes, called "depth search", via a walk through incident edges from the current node (*v*). At any depth search, the current visited node is pushed to a stack. The depth search continues until there are no unvisited nodes reachable from the current node. The search is "backtracking" by examining visited nodes in the stack and continuing depth search at these nodes. The algorithm is terminated when there are no nodes in the stack.

#### **Algorithm 1** Depth-First Search for 2-connected graph

**Require:** A graph *G*(**V**, **S**) presented the physical topology of a given network.

```
Ensure: Return true if G is two connected, otherwise false
 1: count ← 1;
 2: Set current node v ← v0; //start at node v0
 3: Set dfs[v] = btk[v] ← count + +;
 4: repeat
 5: if (there is an unvisited incident edge e of v) then
 6: if (∃w ← v is unvisited) then
 7: dfs[v] = btk[v] ← count + +;
 8: Push stack ← v;
 9: Current node v ← w;
10: else
11: btk[w] = min(btk[w], btk[v])
12: end if
13: else
14: Pop w ← stack;//parent of node
15: if (btk[v] ≥ dfs[w]) then
16: Record w is an articulation node
17: else
18: btk[w] = min btk[w], btk[v];
19: end if
20: end if
21: Current node v ← w;
22: until (there is no node in the stack)
23: if (there is no edge bridge between any two articulation nodes) then
24: return true;
25: else
26: return false;
27: end if
```
6 Will-be-set-by-IN-TECH

Algorithm 1 outlines the pseudo-code for verifying a 2-edge-connected graph. The principle is to find a bridge (edge) via articulation nodes - a cut at one of these nodes would disconnect the graph. A bridge is an edge or a path segment that connects two biconnected component neighbourhood. A graph is 2-edge-connected if it contains no bridge. The DFS algorithm for finding biconnected components was proposed by Robert Tarjan (Tarjan, 1971), and subsequently, revised for a particular study in survivable mesh networks in (Grover, 2004). Algorithm 1 is a modified version of the original DFS algorithm in (Grover, 2004; Tarjan, 1971)

The underlying concept behind this search is to firstly "depth" explore unvisited nodes, called "depth search", via a walk through incident edges from the current node (*v*). At any depth search, the current visited node is pushed to a stack. The depth search continues until there are no unvisited nodes reachable from the current node. The search is "backtracking" by examining visited nodes in the stack and continuing depth search at these nodes. The

**4.2.1 Finding biconnected components using Depth-First Search (DFS)**

that allows for the verification of the 2-edge connectivity of a physical topology.

**Require:** A graph *G*(**V**, **S**) presented the physical topology of a given network.

23: **if** (there is no edge bridge between any two articulation nodes) **then**

algorithm is terminated when there are no nodes in the stack.

**Algorithm 1** Depth-First Search for 2-connected graph

2: Set current node *v* ← *v*0; //start at node *v*<sup>0</sup>

3: Set *dfs*[*v*] = *btk*[*v*] ← *count* + +;

6: **if** (∃*w* ← *v* is unvisited) **then** 7: *dfs*[*v*] = *btk*[*v*] ← *count* + +;

11: *btk*[*w*] = *min*(*btk*[*w*], *btk*[*v*])

14: Pop *w* ← *stack*;//parent of node

16: Record *w* is an articulation node

18: *btk*[*w*] = min *btk*[*w*], *btk*[*v*];

22: **until** (there is no node in the stack)

15: **if** (*btk*[*v*] ≥ *dfs*[*w*]) **then**

21: Current node *v* ← *w*;

8: Push *stack* ← *v*; 9: Current node *v* ← *w*;

1: *count* ← 1;

4: **repeat**

10: **else**

12: **end if** 13: **else**

17: **else**

19: **end if** 20: **end if**

24: **return true**;

26: **return false**;

25: **else**

27: **end if**

**Ensure:** Return **true** if *G* is two connected, otherwise **false**

5: **if** (there is an unvisited incident edge *e* of *v*) **then**

Two parameters are assigned to each visited node *v*, the *dfs*[*v*] and the *btk*[*v*], to discover articulation nodes. The *dfs*[*v*] identifies the "depth first search" order of the node *v* when it is visited for the first time. The *btk*[*v*] is determined using "back tracking" as follows:


The calculation of the value *btk* helps determine if a node *v* is a cut node (or articulation node) when *btk*[*v*] is larger than or equal to *dfs*[*w*], where *w* is the parent of *v*.

### **4.2.2 Finding biconnected components using property of** 2**-connected graphs**

Alternatively, based on the properties of 2-connected graphs, biconnected components can be built from a simple and small cycle by adding the so-called *H*-paths to the cycle. Let *H* be a biconnected component on the graph *G*. A *H*-path is a non-trivial path on *G* that meets *H* exactly at its end nodes. The following proposition and proof are adopted from (Diestel, 2000).

Fig. 3. The construction of 2-connected graphs

**Proposition 4.1.** *A graph is* 2*-connected if and only if it can be constructed from a cycle by successively adding H-paths to graph H already constructed.*

*Proof.* Clearly, every graph constructed as proposed is 2-connected. Conversely, let *G* be a 2-connected graph, then *G* contains a cycle, and hence a maximal subgraph *H* is constructable, as evident in Fig. 3. Any edge *x*, *y* ∈ *E*(*G*) \ *E*(*H*) with (*x*, *y*) ∈ *H* defines a *H*-path. Then, *H* is an induced sub-graph of *G*. If *H* � *G*, then by the connectedness of *G*, there is an edge *vw* with *v* ∈ *G* − *H* and *w* ∈ *H*. As *G* is 2-connected, *G* − *w* has a *v* − *H* path *P*. Then *wvP* is a *H*-path in *G*, and *H* ∪ *wvP* is a constructable sub-graph of *G*.

Based on this proposition, we can use the relationship between network's cycles or 2-connected graphs to verify the survivability of its physical topology.

An undirected graph is thus seen as the combination of all fundamental cycles. Using Algorithm 2, these fundamental cycles can be found from a spanning tree *T*(*V*, *E*� ), *E*� ⊂ *E* of a graph *G*(*V*, *E*) (eg. the spanning tree highlighted by thick lines in Fig. 4).

**Algorithm 3** Construct biconnected components

3: Repeat step 2 until there is no remain links left.

**Ensure:** Set of biconnected components.

is recorded, *i* ← *i* + 1.

to undirected graph.

the *K* shortest (minimum) paths algorithm.

**Require:** A spanning tree *T* of the graph *G* and the set of remain links.

links and joining it with a unique path in the tree between end nodes of *e*.

4: The set of constructed biconnected components *G*1, *G*2,..., *Gi* is return.

*K* shortest disjoint path-pairs between any two nodes in a network.

**5.1 Algorithm for finding** *K* **shortest paths between two nodes in the network**

best eligible paths would be more practical and computationally efficient.

1: Firstly, a biconnected subgraph *Gi*, *i* = 1 is found by picking up a link *e* in the set of remain

Graph Theory for Survivability Design in Communication Networks 429

2: a new biconnected subgraph *Gj*, *j* = *i* + 1 is constructed from a remain link and a unique path between end nodes of that link. If *Gj* have more than one node in common with a component *Gk*, *k* = 1... *i*, join *Gk* ← *Gk* ∪ *Gj*. Otherwise, a new biconnected subgraph *Gj*

way, that is to minimise the amount of physical resources utilised, particularly the amount of capacity utilisation. One approach is to enumerate the set of best candidates for each demand. In network protection design, these candidates can be distinct paths or disjoint paths. The disjoint paths are to ensure the success of the recovery process from network failures. On the other hand, the distinct paths provide the flexibility in selecting the most efficient working and backup routes. This section presents graph algorithms to support the diverse routing problem including finding *K* shortest (least cost) paths, finding two disjoint paths and finding

A set of all paths between two nodes can be used to select the best paths on which traffic flows between these nodes may be carried. All paths between two nodes in the graph can be found using either the Breath-First Search or the Depth-First Search. However, the number of all paths increases exponentially with the size of the network. Hence, finding all paths for routing is not a practical approach for real-time provisioning. In addition, the number of best selected paths is very small compared to all possible paths. Therefore, finding a small set of

This section discusses and analyses the complexity of algorithms presented in the literature. We outline an efficient graph algorithm for finding *K* shortest paths between any two nodes in the network. This algorithm is an adaptation from (Martins et al., 1998) for directed graph

Model selection used in survivable network design employs a set of potential candidates as inputs and selects optimal candidates as outputs. Input candidates differ depending on the protection techniques used. This can be either a set of paths for routing working flows, backup routes (in non-joint optimisation approaches), a set of disjoint path-pairs or a set of cycles in *p*-cycle design. This section introduces a basic algorithm used as a subroutine for finding input candidates for routing working flows and backup routes in non-joint optimisation approaches;

*K* shortest paths is a classical graph problem that has been widely studied (Eppstein, 1998; Martins et al., 1998; Martins & Santos, 2000). Eppstein *et al.* (Eppstein, 1998) proposed a *k* shortest path algorithm between any two nodes in a digraph in time complexity of *O*(|*E*| + |*V*| log |*E*| + *K*), where |*V*| is number of nodes, |*E*| is the number of edges and *K* is number of paths required. Martins *et al.* (Martins et al., 1998) present two algorithms for

### **Algorithm 2** Finding cycles

**Require:** A tree *T* and and edge *e* whose end-nodes is in *T*. **Ensure:** A cycle *P* formed by *T* and *e*. 1: (*s*, *d*) ← end-nodes of *e*;

```
2: queue ← [node.s, node.P]; check ← 0;
3: while (check = 0&queue �= ∅) do
4: [v] ← head(queue);
5: queue ← queue − head(queue);
6: if (v.s = d) then
7: check = 1; P ← v.P;
8: else
9: for (all vk is neighbour of vs) do
10: node.s ← vk; node.P ← P ∪ vk;
11: push node into queue;
12: end for
13: end if
14: end while
```
Fig. 4. Spanning tree on an arbitrary graph

However, it is not easy to find all of the fundamental cycles in the graph. For instance, in Fig. 4, the edges represented with thin lines are not part of the spanning tree (shown by thick lines). If any of these edges are added to the tree, it will form a unique cycle, but such cycle is not necessarily a fundamental cycle (eg. consider adding edge 2 − 5). Any set of cycles found from the spanning tree can be used to verify the survivability of the topology from which it is generated. An algorithm for finding a set of cycles through spanning tree of a graph is represented in Algorithm 2. An efficient method for finding fundamental cycles of a graph, referred to as *Paton's* algorithm, is outlined in (Paton, 1969). Further discussion of this topic is outside the scope of this chapter.

The connectivity of the graph then can be determined using Algorithm 3. Note that the **set of remaining links** contains links in the graph but not in the tree.

### **5. Graph algorithms for diverse routing in protection design**

Previously in this chapter, we have discussed the connectivity of the physical topology to support the problem of designing multiple quality of protections. However, the assurance of connectivity at the physical layer is only the first step to ensure traffic demands can be conveyed from the source to the destination. Once a physical layer is given, the main goal of the Logical Topology Design (LTD) is to determine routes for traffic flow in the most efficient

### **Algorithm 3** Construct biconnected components

**Require:** A spanning tree *T* of the graph *G* and the set of remain links.

**Ensure:** Set of biconnected components.

8 Will-be-set-by-IN-TECH

However, it is not easy to find all of the fundamental cycles in the graph. For instance, in Fig. 4, the edges represented with thin lines are not part of the spanning tree (shown by thick lines). If any of these edges are added to the tree, it will form a unique cycle, but such cycle is not necessarily a fundamental cycle (eg. consider adding edge 2 − 5). Any set of cycles found from the spanning tree can be used to verify the survivability of the topology from which it is generated. An algorithm for finding a set of cycles through spanning tree of a graph is represented in Algorithm 2. An efficient method for finding fundamental cycles of a graph, referred to as *Paton's* algorithm, is outlined in (Paton, 1969). Further discussion of this topic is

The connectivity of the graph then can be determined using Algorithm 3. Note that the **set of**

Previously in this chapter, we have discussed the connectivity of the physical topology to support the problem of designing multiple quality of protections. However, the assurance of connectivity at the physical layer is only the first step to ensure traffic demands can be conveyed from the source to the destination. Once a physical layer is given, the main goal of the Logical Topology Design (LTD) is to determine routes for traffic flow in the most efficient

**remaining links** contains links in the graph but not in the tree.

**5. Graph algorithms for diverse routing in protection design**

**Algorithm 2** Finding cycles

1: (*s*, *d*) ← end-nodes of *e*;

4: [*v*] ← *head*(*queue*);

6: **if** (*v*.*s* = *d*) **then** 7: *check* = 1; *P* ← *v*.*P*;

8: **else**

12: **end for** 13: **end if** 14: **end while**

**Ensure:** A cycle *P* formed by *T* and *e*.

5: *queue* ← *queue* − *head*(*queue*);

9: **for** (all *vk* is neighbour of *vs*) **do** 10: *node*.*s* ← *vk*; *node*.*P* ← *P* ∪ *vk*;

Fig. 4. Spanning tree on an arbitrary graph

outside the scope of this chapter.

11: push *node* into *queue*;

2: *queue* ← [*node*.*s*, *node*.*P*]; *check* ← 0; 3: **while** (*check* = 0&*queue* �= ∅) **do**

**Require:** A tree *T* and and edge *e* whose end-nodes is in *T*.


way, that is to minimise the amount of physical resources utilised, particularly the amount of capacity utilisation. One approach is to enumerate the set of best candidates for each demand. In network protection design, these candidates can be distinct paths or disjoint paths. The disjoint paths are to ensure the success of the recovery process from network failures. On the other hand, the distinct paths provide the flexibility in selecting the most efficient working and backup routes. This section presents graph algorithms to support the diverse routing problem including finding *K* shortest (least cost) paths, finding two disjoint paths and finding *K* shortest disjoint path-pairs between any two nodes in a network.

### **5.1 Algorithm for finding** *K* **shortest paths between two nodes in the network**

A set of all paths between two nodes can be used to select the best paths on which traffic flows between these nodes may be carried. All paths between two nodes in the graph can be found using either the Breath-First Search or the Depth-First Search. However, the number of all paths increases exponentially with the size of the network. Hence, finding all paths for routing is not a practical approach for real-time provisioning. In addition, the number of best selected paths is very small compared to all possible paths. Therefore, finding a small set of best eligible paths would be more practical and computationally efficient.

This section discusses and analyses the complexity of algorithms presented in the literature. We outline an efficient graph algorithm for finding *K* shortest paths between any two nodes in the network. This algorithm is an adaptation from (Martins et al., 1998) for directed graph to undirected graph.

Model selection used in survivable network design employs a set of potential candidates as inputs and selects optimal candidates as outputs. Input candidates differ depending on the protection techniques used. This can be either a set of paths for routing working flows, backup routes (in non-joint optimisation approaches), a set of disjoint path-pairs or a set of cycles in *p*-cycle design. This section introduces a basic algorithm used as a subroutine for finding input candidates for routing working flows and backup routes in non-joint optimisation approaches; the *K* shortest (minimum) paths algorithm.

*K* shortest paths is a classical graph problem that has been widely studied (Eppstein, 1998; Martins et al., 1998; Martins & Santos, 2000). Eppstein *et al.* (Eppstein, 1998) proposed a *k* shortest path algorithm between any two nodes in a digraph in time complexity of *O*(|*E*| + |*V*| log |*E*| + *K*), where |*V*| is number of nodes, |*E*| is the number of edges and *K* is number of paths required. Martins *et al.* (Martins et al., 1998) present two algorithms for

path is determined after all spans contained in the first path (edges {(1 − 2),(2 − 3),(3 − 4)}) are removed. It can easily be seen that the second path can not be found since the graph is

Graph Theory for Survivability Design in Communication Networks 431

(a) A pair of edge-disjoint paths is created (b) Find the first shortest path *p*<sup>1</sup>

To resolve these two drawbacks, a graph algorithm, known as the one step approach, for determining a shortest disjoint path-pair was first proposed by Surballe (Surballe, 1974) and modified by Bhandari (Bhandari, 1994; 1999) to adapt to the negative weight of edges. The algorithm, as its name implies, determines the first and the second disjoint path

> (a) Find the first shortest path *p*<sup>1</sup> (b) Create negative reverse-directed edges from *p*<sup>1</sup>

(c) Find the second shortest path *p*<sup>2</sup> (d) Remove the common edge (2 − 3)

(e) A pair of edge-disjoint paths is created

Let us assume that a shortest disjoint path-pair needs to be determined between the source

Fig. 6. An illustration of the one-step approach to resolve trap topology

node *s* and the destination node *d*. The one step algorithm is outlined as follows:

disconnected between nodes 1 and 4.

Fig. 5. An example of trap topology

simultaneously.

#### **Algorithm 4** *K* shortest paths algorithm

**Require:** An undirected graph *G*(*V*, *E*), a pair of source and destination nodes and the number of shortest paths required.

**Ensure:** A set of *K* - shortest paths over graph *G* from *s* to *d*.


$$d(s, s\_h') = \min\_{\mathfrak{x}} \left( d(s, \mathfrak{x}) + d(\mathfrak{x}, s\_h') \right),$$

where (*x*,*s*� *<sup>h</sup>*) are incoming edges of *s*� *h*.

3: For each *sj* = {*si*,...,*sr*−1}, generate *<sup>s</sup>*� *<sup>j</sup>* following the same rules as *s*� *<sup>h</sup>*, but with one more incoming edge of (*s*� *<sup>j</sup>*−1,*s*� *j* ). Clearly, the shortest path from *s* to *s*� *<sup>j</sup>* is the second shortest path from *s* to *sj*. Therefore *p*<sup>2</sup> = {*s*0,...,*si*,...,*s*� *<sup>r</sup>*−1,*sr*(= *<sup>d</sup>*)} is the second shortest path. Repeat step 2 to determine next shortest path *pk*(*k* = 2, 3, . . .) until *k* = *K*.

the *K* shortest paths problem, one based on a label setting algorithm and another based on a label correcting algorithm. The results show that these algorithms perform better than the algorithm in (Eppstein, 1998). The *K*-shortest path algorithm employed in this study is adapted from (Martins & Santos, 2000), which is proposed over a directed graph approach. Building on this idea, this study has developed an algorithm (Algorithm 4) which is relevant for an undirected approach as well. This algorithm runs with the time complexity of *O*(*K* × |*E*|), where *K* is the number of shortest paths required and |*E*| is the number of undirected edges in the graph.

#### **5.2 Algorithm for finding two disjoint paths (disjoint path-pair) between nodes in the network**

Finding a disjoint path-pair between two nodes in the network is a basic solution for protection design in which the primary and secondary paths must not suffer from the same failure. Basically, finding a pair of disjoint paths can be done in two steps. In the first step, the first path is determined from the original graph. Then, all edges contained in the first path are removed from of the graph. The second disjoint path is determined from the residual graph. Both paths are usually determined using any shortest path algorithm such as Dijkstra's algorithm (Dijkstra, 1959) or Bellman-Ford algorithm (Bellman, 1958). The two step approach is simple in both concept and implementation. There is, however, no guarantee that the total cost of the found disjoint path-pair is minimum. In addition, this approach may fail to find a solution in some cases even when a disjoint path-pair exists between the two nodes. An example of a trap topology is shown in Fig. 5. It is easy to see in Fig. 5(a) that there are two disjoint paths between nodes 1 and 4. However, by using the two-step approach, the first shortest path may be path *p*<sup>1</sup> (1 → 2 → 3 → 4) as shown in Fig. 5(b). The second path is determined after all spans contained in the first path (edges {(1 − 2),(2 − 3),(3 − 4)}) are removed. It can easily be seen that the second path can not be found since the graph is disconnected between nodes 1 and 4.

Fig. 5. An example of trap topology

10 Will-be-set-by-IN-TECH

**Require:** An undirected graph *G*(*V*, *E*), a pair of source and destination nodes and the

1: To assure the possible repetition of the algorithm in a path between a pair of source-destination nodes (*s*, *d*), the given network is enlarged with a super source node *S* and super destination *D*, with zero cost edges (*s*∗,*s*) and (*d*, *d*∗). Following this, the shortest tree from source node *s* to other nodes in the network is obtained, and the first

2: Determine the first node *sh* in *p*<sup>1</sup> such that *sh* has more than a single incoming edges. If a

*<sup>h</sup>* , of which the incoming edges are the incoming edges of *sh* except those coming

*<sup>h</sup>*) = min*<sup>x</sup>* (*d*(*s*, *<sup>x</sup>*) + *<sup>d</sup>*(*x*,*s*�

). Clearly, the shortest path from *s* to *s*�

the *K* shortest paths problem, one based on a label setting algorithm and another based on a label correcting algorithm. The results show that these algorithms perform better than the algorithm in (Eppstein, 1998). The *K*-shortest path algorithm employed in this study is adapted from (Martins & Santos, 2000), which is proposed over a directed graph approach. Building on this idea, this study has developed an algorithm (Algorithm 4) which is relevant for an undirected approach as well. This algorithm runs with the time complexity of *O*(*K* × |*E*|), where *K* is the number of shortest paths required and |*E*| is the number of

*<sup>h</sup>*) of shortest path from *s* to *s*�

*<sup>j</sup>* following the same rules as *s*�

*<sup>h</sup>*))

*<sup>h</sup>*, else determine the next node *si* in *p*<sup>1</sup>

*<sup>r</sup>*−1,*sr*(= *<sup>d</sup>*)} is the second shortest path.

*<sup>h</sup>* is calculated as:

*<sup>h</sup>*, but with one more

*<sup>j</sup>* is the second shortest

shortest path is marked as *<sup>p</sup>*<sup>1</sup> = {*s*0(= *<sup>s</sup>*),*s*1,...,*sr*−1,*sr*(= *<sup>d</sup>*)} from *<sup>s</sup>* to *<sup>d</sup>*.

*h*.

Repeat step 2 to determine next shortest path *pk*(*k* = 2, 3, . . .) until *k* = *K*.

**5.2 Algorithm for finding two disjoint paths (disjoint path-pair) between nodes in the**

Finding a disjoint path-pair between two nodes in the network is a basic solution for protection design in which the primary and secondary paths must not suffer from the same failure. Basically, finding a pair of disjoint paths can be done in two steps. In the first step, the first path is determined from the original graph. Then, all edges contained in the first path are removed from of the graph. The second disjoint path is determined from the residual graph. Both paths are usually determined using any shortest path algorithm such as Dijkstra's algorithm (Dijkstra, 1959) or Bellman-Ford algorithm (Bellman, 1958). The two step approach is simple in both concept and implementation. There is, however, no guarantee that the total cost of the found disjoint path-pair is minimum. In addition, this approach may fail to find a solution in some cases even when a disjoint path-pair exists between the two nodes. An example of a trap topology is shown in Fig. 5. It is easy to see in Fig. 5(a) that there are two disjoint paths between nodes 1 and 4. However, by using the two-step approach, the first shortest path may be path *p*<sup>1</sup> (1 → 2 → 3 → 4) as shown in Fig. 5(b). The second

**Algorithm 4** *K* shortest paths algorithm

node *s*�

where (*x*,*s*�

incoming edge of (*s*�

undirected edges in the graph.

**network**

number of shortest paths required.

**Ensure:** A set of *K* - shortest paths over graph *G* from *s* to *d*.

from *sh*−1, does not exist, then generate the node *<sup>s</sup>*�

*<sup>h</sup>*) are incoming edges of *s*�

*<sup>j</sup>*−1,*s*� *j*

path from *s* to *sj*. Therefore *p*<sup>2</sup> = {*s*0,...,*si*,...,*s*�

*d*(*s*,*s*�

that has not alternate yet. The cost *d*(*s*,*s*�

3: For each *sj* = {*si*,...,*sr*−1}, generate *<sup>s</sup>*�

To resolve these two drawbacks, a graph algorithm, known as the one step approach, for determining a shortest disjoint path-pair was first proposed by Surballe (Surballe, 1974) and modified by Bhandari (Bhandari, 1994; 1999) to adapt to the negative weight of edges. The algorithm, as its name implies, determines the first and the second disjoint path simultaneously.

(e) A pair of edge-disjoint paths is created

Fig. 6. An illustration of the one-step approach to resolve trap topology

Let us assume that a shortest disjoint path-pair needs to be determined between the source node *s* and the destination node *d*. The one step algorithm is outlined as follows:

in online provisioning than in offline provisioning. These approaches have been extensively studied in the literature (Patre et al., 2002; Sen et al., 2001; Xin et al., 2002; Zhang et al., 2003). Authors in (Xin et al., 2002) investigated survivable routing based on both the two-step and the one-step approaches, namely Separate Path Selection (SPS) and Joint Path Selection (JPS) respectively. These approaches aim to optimise the network resource utilisation of each traffic connection by minimising the total cost of the primary and backup paths. The performance of these approaches is evaluated for different protection path cost functions. The results have shown that JPS performs substantially better than SPS and also scales very well in terms of the network resource abundance. In addition, JPS can utilise network resources better than SPS. In (Zang et al., 2003), the two-step and one-step approaches are also investigated, but with a different objective function based on the blocking probability. The simulation results have shown that the one-step approach significantly outperforms the two-step approach in this case. The improvement in blocking probability is significant, around 10%-20%, especially

Graph Theory for Survivability Design in Communication Networks 433

In this section, the one-step approach is used as a sub-function in an algorithm for finding *K* shortest disjoint path-pairs between any two nodes in the graph. The pseudo code of this algorithm is shown in Algorithm 5. This algorithm is then proved to yield *K* distinct disjoint-path pairs. Since a path pair found from one step algorithm was proved to be disjoint in (Bhandari, 1999) , it is only necessary to prove that the *K* found path pairs do not coincide

*Proof.* Let *P* = {*Pk*|*k* = [1... *K*]} be the set of *K* pairs of disjoint paths yielded from

Let *Pi* = {*wi*,*ri*} and *Pj* = {*wj*,*rj*} be any two disjoint-path pairs yielded from the first shortest path *p* and paths *pi* and *pj* (*i*, *j* ∈ [1... *K*]) respectively. This study proves that *Pi* and *Pj* do

Since *pi* and *pj* do not coincide, there exists at least one edge *ek* contained in *pi* but not contained in *pj*. Following this, it is proved that *ek* can only belong to either *Pi* or *Pj*. If *ek* is contained in *p* then *ek* is obviously not contained in *Pi*. However, since *ek* is not contained in *pj*, *ek* is not an interlacing edge of (*p*, *pj*) and hence *ek* is in *Pj*. Conversely, if *ek* is not contained in *p*, then *ek* is in *Pi*. In addition, since *ek* is not contained in both *p* and *pj*, *ek* is not contained in *Pj*. Therefore, *Pi* and *Pj* do not coincide and the *K* found disjoint-path pairs are distinct from

In this chapter we have investigated and discussed the connectivity of graphs in relation to the requirements of protection of traffic demands in practical networks. We have discussed and analysed the complexity of several methods for verifying the connectivity of the physical topology of a network. Diverse routing was then addressed as an important problem in designing network protection, followed by the introduction of three algorithms for finding distinct and disjoint paths. These algorithms address the challenges for network protection

when fixed routing is used.

Algorithm 5, where *Pk* = {*wk*,*rk*} is the *kth* pair.

with each other.

not coincide.

each other.

**6. Conclusion**

design using graph theory.


#### **5.3 Algorithm for finding** *K* **shortest disjoint path-pairs between nodes in the network**

In path protection techniques such as path restoration, or shared backup path protection, there are two sets of candidates needed for provisioning of the working flows and the backup routes. Finding and employing these two sets independently may compromise the protection conditions as the backup and working paths must be disjoint. There is no guarantee that each working route has a disjoint path in the corresponding set of backup routes. In addition, using two different sets of candidates also increases the number of decision variables used in model selection which increases the complexity of both space requirement and computational time. Another approach is to determine one set of candidates in which each candidate is a disjoint path-pair serving as a primary and a backup route. This set would always satisfy the disjointness requirements for protection and reduce the complexity in both time and space of model selections such as Integer Linear Programming (ILP) and Mixed ILP (MILP). By combining algorithms in Sections 5.1 and 5.2, this section introduces an algorithm for finding *K* shortest (least cost) disjoint path-pairs between two nodes in the networks.

**Algorithm 5** *K* disjoint-paths pairs (KDPPs)

**Require:** An undirected graph *G*(*V*, *S*) source node *s*, destination node *d*, and *K*, the number of shortest disjoint-paths pairs required.

**Ensure:** A set of *K* shortest disjoint-paths pairs.


The two-step and one-step approaches can be used to find the set of disjoint path-pairs. They are simple and computationally efficient. However, since these approaches provision traffic streams sequentially without back-tracking, sometimes no solution may be found even when a feasible solution does exist. In fact, the graph theory approach is more applicable in online provisioning than in offline provisioning. These approaches have been extensively studied in the literature (Patre et al., 2002; Sen et al., 2001; Xin et al., 2002; Zhang et al., 2003). Authors in (Xin et al., 2002) investigated survivable routing based on both the two-step and the one-step approaches, namely Separate Path Selection (SPS) and Joint Path Selection (JPS) respectively. These approaches aim to optimise the network resource utilisation of each traffic connection by minimising the total cost of the primary and backup paths. The performance of these approaches is evaluated for different protection path cost functions. The results have shown that JPS performs substantially better than SPS and also scales very well in terms of the network resource abundance. In addition, JPS can utilise network resources better than SPS. In (Zang et al., 2003), the two-step and one-step approaches are also investigated, but with a different objective function based on the blocking probability. The simulation results have shown that the one-step approach significantly outperforms the two-step approach in this case. The improvement in blocking probability is significant, around 10%-20%, especially when fixed routing is used.

In this section, the one-step approach is used as a sub-function in an algorithm for finding *K* shortest disjoint path-pairs between any two nodes in the graph. The pseudo code of this algorithm is shown in Algorithm 5. This algorithm is then proved to yield *K* distinct disjoint-path pairs. Since a path pair found from one step algorithm was proved to be disjoint in (Bhandari, 1999) , it is only necessary to prove that the *K* found path pairs do not coincide with each other.

*Proof.* Let *P* = {*Pk*|*k* = [1... *K*]} be the set of *K* pairs of disjoint paths yielded from Algorithm 5, where *Pk* = {*wk*,*rk*} is the *kth* pair.

Let *Pi* = {*wi*,*ri*} and *Pj* = {*wj*,*rj*} be any two disjoint-path pairs yielded from the first shortest path *p* and paths *pi* and *pj* (*i*, *j* ∈ [1... *K*]) respectively. This study proves that *Pi* and *Pj* do not coincide.

Since *pi* and *pj* do not coincide, there exists at least one edge *ek* contained in *pi* but not contained in *pj*. Following this, it is proved that *ek* can only belong to either *Pi* or *Pj*. If *ek* is contained in *p* then *ek* is obviously not contained in *Pi*. However, since *ek* is not contained in *pj*, *ek* is not an interlacing edge of (*p*, *pj*) and hence *ek* is in *Pj*. Conversely, if *ek* is not contained in *p*, then *ek* is in *Pi*. In addition, since *ek* is not contained in both *p* and *pj*, *ek* is not contained in *Pj*. Therefore, *Pi* and *Pj* do not coincide and the *K* found disjoint-path pairs are distinct from each other.

#### **6. Conclusion**

12 Will-be-set-by-IN-TECH

• Find a shortest (least cost) path between the source node *s* and the destination nodes *d*,

• Remove all directed edges on the shortest path *p*<sup>1</sup> and replace them with reverse direction

• Find the least cost path from *s* to *d* in the modified graph using the modified Dijkstra's

• Remove any edge in the original graph traversed by both *p*<sup>1</sup> and *p*<sup>2</sup> (Fig. 6(d)). These are

• Identify all path segments remaining after the process of the edge removal (Fig. 6(e)) which

In path protection techniques such as path restoration, or shared backup path protection, there are two sets of candidates needed for provisioning of the working flows and the backup routes. Finding and employing these two sets independently may compromise the protection conditions as the backup and working paths must be disjoint. There is no guarantee that each working route has a disjoint path in the corresponding set of backup routes. In addition, using two different sets of candidates also increases the number of decision variables used in model selection which increases the complexity of both space requirement and computational time. Another approach is to determine one set of candidates in which each candidate is a disjoint path-pair serving as a primary and a backup route. This set would always satisfy the disjointness requirements for protection and reduce the complexity in both time and space of model selections such as Integer Linear Programming (ILP) and Mixed ILP (MILP). By combining algorithms in Sections 5.1 and 5.2, this section introduces an algorithm for finding

**Require:** An undirected graph *G*(*V*, *S*) source node *s*, destination node *d*, and *K*, the number

3: Remove all directed edges on the shortest path *p* and replace them with reverse direction

4: Find *K* shortest path (least cost) paths from *s* to *d* in the modified graph using the *K* shortest path algorithm (Algorithm 4). Denote them as the set of paths *P* =

5: For each pair of paths (*p*, *pi*), *i* = 1... *K*, remove any edge of the original graph traversed by both *p* and *pi*. These are called interlacing edges. Identify all path segments from the rest of edges. These from disjoint-paths pairs, denote as {(*w*1,*r*1),(*w*2,*r*2),...,(*wK*,*rK*)}.

The two-step and one-step approaches can be used to find the set of disjoint path-pairs. They are simple and computationally efficient. However, since these approaches provision traffic streams sequentially without back-tracking, sometimes no solution may be found even when a feasible solution does exist. In fact, the graph theory approach is more applicable

forms a pair of disjoint paths from the source node *s* to the destination node *d*.

**5.3 Algorithm for finding** *K* **shortest disjoint path-pairs between nodes in the network**

*K* shortest (least cost) disjoint path-pairs between two nodes in the networks.

2: Define the direction of each edge traversed in *p* from *s* to *d* as positive 1.

• Mark the direction of each edge traversed in *p*<sup>1</sup> from *s* toward *d* as positive.

edges by multiplying −1 to the original edge cost (Fig. 6(b)).

algorithm, and denote it as path *p*<sup>2</sup> (Fig. 6(c)).

**Algorithm 5** *K* disjoint-paths pairs (KDPPs)

{*p*1, *p*2,..., *pK*}.

of shortest disjoint-paths pairs required. **Ensure:** A set of *K* shortest disjoint-paths pairs.

1: Find a shortest path between *s* and *d*, denoted by *p*.

edges by multiplying the original edge cost with −1.

and denote it as *p*<sup>1</sup> (Fig. 6(a)).

called interlacing edges.

In this chapter we have investigated and discussed the connectivity of graphs in relation to the requirements of protection of traffic demands in practical networks. We have discussed and analysed the complexity of several methods for verifying the connectivity of the physical topology of a network. Diverse routing was then addressed as an important problem in designing network protection, followed by the introduction of three algorithms for finding distinct and disjoint paths. These algorithms address the challenges for network protection design using graph theory.

**0**

**22**

*Brazil*

*Grande do Sul State (UNIJUI)*

**Applied Graph Theory to Improve Topology**

*Master's Program in Mathematical Modeling, Regional University of Northwestern Rio*

This chapter presents solutions for computing bounded-distance multi-coverage backbones in wireless networks. The solutions are based on the (k,r)-CDS problem from graph theory for computing backbones in which any regular node is covered by at least k backbone members

Advances in lower power-consumption processors, sensor devices, embedded systems and wireless communication have made possible the development and deployment of Wireless Sensor Networks (WSN).Such networks have been used, for instance, in safety and military applications for the purpose of monitoring and tracking geographic boundaries. In industrial applications, WSN may be used for automating manufacturing processes, for monitoring building structures, and in environmental systems for monitoring forests, oceans and

A WSN is usually composed by a large number of small nodes, called *sensor nodes*, each one having a processing unit, a radio transceiver and an antenna for wireless communication, one or more sensor units (e.g., temperature, movement), and a power unit usually equipped with a low capacity battery. Due to its limited power resources, and because batteries cannot be

To save energy,both approaches apply the partial or total turn-off of some node units. The rule of thumb is to keep active only those units (or components) necessary for performing the sensor network tasks. However, it is not an easy task to decide which nodes should sleep and which should be active at any given time, because these decisions strongly depend on the application running on top of the network. It is also undesirable to keep nodes inactive for

Topology control through the construction of backbones can offer better support for broadcasting and routing of data packets. The total or partial turn off of nodes not comprising the Backbone constitutes the main motivation for employing such structures in WSNs. Reduced power consumption, and longer network lifetime, are potential benefits when applying Backbones to a network of sensors, because only a subset of nodes need to be active

within distance r, offering a variable degree of redundancy and reliability.

precision farming Akyildiz, Su, Sankarasubramaniam & Cayirci (2002).

easily replaced, nodes are built out from power saving components.

too long, because it can impact the network *Quality-of-Service* (QoS).

at any time to support basic network services.

**1. Introduction**

**Control in Wireless Sensor Networks**

Paulo Sérgio Sausen, Airam Sausen and Mauricio de Campos

#### **7. References**

Bellman, R. (1958). On a routing problem, *in Quarterly of Applied Mathematics* 16(1): 87–90.


## **Applied Graph Theory to Improve Topology Control in Wireless Sensor Networks**

Paulo Sérgio Sausen, Airam Sausen and Mauricio de Campos *Master's Program in Mathematical Modeling, Regional University of Northwestern Rio Grande do Sul State (UNIJUI) Brazil*

### **1. Introduction**

14 Will-be-set-by-IN-TECH

434 New Frontiers in Graph Theory

Bellman, R. (1958). On a routing problem, *in Quarterly of Applied Mathematics* 16(1): 87–90. Bhandari, R. (1994). Optimal diverse routing in telecommunication fiber networks, *Proceedings*

Bhandari, R. (1999). *Survivable Networks: Algorithms for Diverse Routing*, Kluwer Academic

Dijkstra, E. (1959). A note on two problems in connection with graphs, *Numerische Mathe-matik*

Eppstein, D. (1998). Finding the *k* shortest paths, *SIAM Journal on Computing* 28(2): 652–673. Grover, W. D. (2004). *Mesh-based Survivable Networks: Options and Strategies for Optical, MPLS,*

Habibi, D., Nguyen, H., Phung, Q. & Lo, K. (2005). Establishing physical survivability of large

Martins, E. D. Q. V., Pascoal, M. M. B. & Santos, J. L. E. D. (1998). The *k* shortest paths problem,

Martins, E. D. Q. V. & Santos, J. L. E. D. (2000). A new shortest paths ranking algorithm,

Paton, K. (1969). An algorithm for finding a fundamental set of cycles of a graph,

Patre, S. D., Maier, G. & Martinelli, M. (2002). Design of static WDM mesh networks with

Sen, A., Shen, B., Bandyopadhyay, S. & Capone, J. (2001). Survivability of lightwave

Tarjan, R. (1971). Depth-first search and linear graph algorithms, *Proc. th Annual Symposium*

Xin, C., Ye, Y., Dixit, S. S. & Qiao, C. (2002). A joint lightpath routing approach in surviavble

Zang, H., Ou, C. & Mukherjee, B. (2003). Path-protection routing and wavelength

Zhang, J., Zhu, K., Sahasrabuddhe, L. & Yoo, S. B. (2003). On the study of routing and

networks - path lengths in WDM protection scheme, *Journal of High Speed Networks*

assignment (RWA) in WDM mesh networks under duct-layer constraints.,

wavlength assignment approaches for survivable wavelength-routed WDM mesh

networks using properties of two-connected graphs, *TENCON 2005 2005 IEEE Region*

*SONET/SDH, and ATM networking*, Prentice Hall PTR.

Menger, K. (1927). Zur allgemeinen kurventheorie, *Fund. Math* 10(95-115): 5.

*of the 13th IEEE Networking for Global Communications.*, Vol. 3, Toronto, Ont. , Canada,

**7. References**

pp. 1498 –1508.

Publishers.

1: 269–271.

*10*, IEEE, pp. 1–5.

10(4): 303–315.

*Technical report*, CISUC.

*Investigaςao Operacional* ˜ 20(1): 47–62.

dedicated path protection, *Infocom*.

*Communications of the ACM* 12(9): 514–518.

Surballe, J. (1974). Disjoint paths in a network, *Networks* 4: 125–145.

optical networks, *Optical Networks Magazine* 3(3): 13–20.

*IEEE/ACM Transactions on Networking* 11(2): 248–258.

networks, *Optical Networks Magazine* 4(6): 16–28.

*on Switching and Automata Theory*, pp. 114–121.

Diestel, R. (2000). *Graph Theory*, Springer-Verlag.

This chapter presents solutions for computing bounded-distance multi-coverage backbones in wireless networks. The solutions are based on the (k,r)-CDS problem from graph theory for computing backbones in which any regular node is covered by at least k backbone members within distance r, offering a variable degree of redundancy and reliability.

Advances in lower power-consumption processors, sensor devices, embedded systems and wireless communication have made possible the development and deployment of Wireless Sensor Networks (WSN).Such networks have been used, for instance, in safety and military applications for the purpose of monitoring and tracking geographic boundaries. In industrial applications, WSN may be used for automating manufacturing processes, for monitoring building structures, and in environmental systems for monitoring forests, oceans and precision farming Akyildiz, Su, Sankarasubramaniam & Cayirci (2002).

A WSN is usually composed by a large number of small nodes, called *sensor nodes*, each one having a processing unit, a radio transceiver and an antenna for wireless communication, one or more sensor units (e.g., temperature, movement), and a power unit usually equipped with a low capacity battery. Due to its limited power resources, and because batteries cannot be easily replaced, nodes are built out from power saving components.

To save energy,both approaches apply the partial or total turn-off of some node units. The rule of thumb is to keep active only those units (or components) necessary for performing the sensor network tasks. However, it is not an easy task to decide which nodes should sleep and which should be active at any given time, because these decisions strongly depend on the application running on top of the network. It is also undesirable to keep nodes inactive for too long, because it can impact the network *Quality-of-Service* (QoS).

Topology control through the construction of backbones can offer better support for broadcasting and routing of data packets. The total or partial turn off of nodes not comprising the Backbone constitutes the main motivation for employing such structures in WSNs. Reduced power consumption, and longer network lifetime, are potential benefits when applying Backbones to a network of sensors, because only a subset of nodes need to be active at any time to support basic network services.

Radio

unit

Memory

Processing unit Communication

CPU

Sensors

• *Sensor Unit* that contains a group of sensors and actuators;

• *Processing Unit* which includes a microprocessor or a micro-controller;

Actuators

Sensor unit

AD

DA

converter

Applied Graph Theory to Improve Topology Control in Wireless Sensor Networks 437

converter

A Wireless Sensor Network may well contain hundreds or thousands of small autonomous elements called sensor nodes, and each sensor can feature a large variety of sensors (e.g., temperature, speed, acoustic, seismic). In many cases, nodes are randomly spread over remote areas, making it difficult to perform any maintenance to the nodes. Hence, a node remains live while it has enough battery capacity for its normal operation, and the network lifetime strongly depends on the remaining capacity of the nodes in the network.A sensor node has a few basic components (see Figure 1) Akyildiz, Su, Sankarasubramaniam & Cayirci (2002);

• *Power Unit*, usually a battery, which acts as the power source for all node's components;

• *Communication Unit* which consists of a short range radio for wireless communication.

An undirected graph *G* = (*V*, *E*) consists of a set of vertices *V* = {*n*1,... *nk*}, and a set of edges *E* (an edge is a set {*ni*, *nj*}, where *ni*, *nj* ∈ *V* and *ni* �= *nj*). A set *D* ⊆ *V* of vertices in a graph *G* is called a *dominating set* (DS) if every vertex *ni* ∈ *V* is either an element of *D* or is adjacent to an element of *D* Haynes et al. (1998). If the graph induced by the nodes in *D* is connected, we have a *connected dominating set* (CDS). The problem of computing the minimum cardinality DS or CDS of any arbitrary graph is known to be NP-complete Garey & Johnson

A variety of conditions may be imposed on the dominating set *D* in a graph *G* = (*V*, *E*). Among them, there are *multiple domination*, and *distance domination* Haynes et al. (1998). *Multiple domination* requires that each vertex in *V* − *D* be dominated by at least *k* vertices in *D* for a fixed positive integer *k*. The minimum cardinality of the dominating set *D* is called the *k-domination number* and is denoted by *γk*(*G*). *Distance domination* requires that each vertex in *V* − *D* be within distance *r* of at least one vertex in *D* for a fixed positive integer *r*. In this case, the minimum cardinality of the dominating set *D* is called the *distance-r domination number*,

Battery

DC-DC

Power unit

Converter

Fig. 1. Sensor node: basic structure

Raghunathan et al. (2002) as follows:

**3. Domination in graph theory**

and is denoted by *γ*≤*r*(*G*).

(1978b).

**2. Wireless Sensor Networks**

In contention based medium access protocols using a single channel, the number of collisions of packets increases as we increase the number of competing nodes. By reducing the total number of active nodes, backbones can potentially reduce the end-to-end delay among sensors and sinks, and possibly extend the network lifetime due to the reduced energy consumption. In addition to that, it might be possible to provide better Quality of Service (QoS) for WSNs.

The basic criteria of QoS in WSN (i.e., *area coverage*) can still be guaranteed by not totally turning off the sensor nodes. Given that the radio is the most expensive element in terms of energy consumption Margi et al. (2006), by just turning it off and leaving the other components active we can still manage to save on energy.

In Ad Hoc networks Alzoubi et al. (2002); Bao & Garcia-Luna-Aceves (2003a), and more recently in WSNs Dai & Wu (2005); Paruchuri et al. (2005), the computation of Backbones has been considered through the computation of some variant of Connected Dominating Set (CDS). A set of nodes in the network is considered a Dominating Set (DS) if all nodes in the network belong to this set or, otherwise, are adjacent (i.e., neighbors) to at least one DS node. A DS is said to form a CDS when the graph induced by the DS is connected (i.e., the DS induces a Backbone for the network).

The problem of computing a CDS of minimum cardinality for any arbitrary network topology, a Minimum CDS (MCDS), constitutes an NP-complete problem Garey & Johnson (1978a), and requires knowledge of the entire network topology. Distributed solutions for computing approximations to the MCDS problem have been proposed in the literature Chen & Liestman (2002); Das & Bharghavan (1997). Even though such solutions aim at reducing the total number of dominating nodes, it has been shown that in wireless networks there is a tradeoff between redundancy and reliability Basu & Redi (2004). Too much redundancy is not desirable, but too little may compromise the network connectivity. This is of special concern to WSNs, because nodes are more vulnerable to failures due to the environments in which they operate.

Dai e Wu Dai & Wu (2005) proposed a distributed solution for computing a k-connected k-dominating Backbone for wireless networks. Their approach combines multiple domination and the k-vertex connected property, which guarantees that a CDS remains vertex connected even when removing up to *k* − 1 nodes from the backbone. The shortcomings of this approach have to do with the required high degree of redundancy in the network topology.

In this chapter we propose the first centralized and distributed solutions for computing *bounded-distance multi-coverage backbones* in WSNs. This means that any sensor node is covered by multiple backbone members within a bounded-distance. To guarantee these properties, the (k,r)-CDS mechanism is employed for computing the Backbone. The multiple domination parameter, *k*, defines the minimum number of backbone nodes covering any regular sensor node. The bounded-distance parameter, *r*, defines the maximum distance to *k* backbone nodes for any other sensor in the network. The centralized solution provides an approximation to the optimum solution, and it is used as a lower bound when evaluating the performance of the distributed solution. The distributed solution is source-based in the sense that usually the base-station (or sink) is the focus of attention in a WSN.

Fig. 1. Sensor node: basic structure

### **2. Wireless Sensor Networks**

2 Will-be-set-by-IN-TECH

In contention based medium access protocols using a single channel, the number of collisions of packets increases as we increase the number of competing nodes. By reducing the total number of active nodes, backbones can potentially reduce the end-to-end delay among sensors and sinks, and possibly extend the network lifetime due to the reduced energy consumption. In addition to that, it might be possible to provide better Quality of Service

The basic criteria of QoS in WSN (i.e., *area coverage*) can still be guaranteed by not totally turning off the sensor nodes. Given that the radio is the most expensive element in terms of energy consumption Margi et al. (2006), by just turning it off and leaving the other components

In Ad Hoc networks Alzoubi et al. (2002); Bao & Garcia-Luna-Aceves (2003a), and more recently in WSNs Dai & Wu (2005); Paruchuri et al. (2005), the computation of Backbones has been considered through the computation of some variant of Connected Dominating Set (CDS). A set of nodes in the network is considered a Dominating Set (DS) if all nodes in the network belong to this set or, otherwise, are adjacent (i.e., neighbors) to at least one DS node. A DS is said to form a CDS when the graph induced by the DS is connected (i.e., the DS

The problem of computing a CDS of minimum cardinality for any arbitrary network topology, a Minimum CDS (MCDS), constitutes an NP-complete problem Garey & Johnson (1978a), and requires knowledge of the entire network topology. Distributed solutions for computing approximations to the MCDS problem have been proposed in the literature Chen & Liestman (2002); Das & Bharghavan (1997). Even though such solutions aim at reducing the total number of dominating nodes, it has been shown that in wireless networks there is a tradeoff between redundancy and reliability Basu & Redi (2004). Too much redundancy is not desirable, but too little may compromise the network connectivity. This is of special concern to WSNs, because nodes are more vulnerable to failures due to the environments in which

Dai e Wu Dai & Wu (2005) proposed a distributed solution for computing a k-connected k-dominating Backbone for wireless networks. Their approach combines multiple domination and the k-vertex connected property, which guarantees that a CDS remains vertex connected even when removing up to *k* − 1 nodes from the backbone. The shortcomings of this approach

In this chapter we propose the first centralized and distributed solutions for computing *bounded-distance multi-coverage backbones* in WSNs. This means that any sensor node is covered by multiple backbone members within a bounded-distance. To guarantee these properties, the (k,r)-CDS mechanism is employed for computing the Backbone. The multiple domination parameter, *k*, defines the minimum number of backbone nodes covering any regular sensor node. The bounded-distance parameter, *r*, defines the maximum distance to *k* backbone nodes for any other sensor in the network. The centralized solution provides an approximation to the optimum solution, and it is used as a lower bound when evaluating the performance of the distributed solution. The distributed solution is source-based in the sense that usually the

have to do with the required high degree of redundancy in the network topology.

base-station (or sink) is the focus of attention in a WSN.

(QoS) for WSNs.

they operate.

active we can still manage to save on energy.

induces a Backbone for the network).

A Wireless Sensor Network may well contain hundreds or thousands of small autonomous elements called sensor nodes, and each sensor can feature a large variety of sensors (e.g., temperature, speed, acoustic, seismic). In many cases, nodes are randomly spread over remote areas, making it difficult to perform any maintenance to the nodes. Hence, a node remains live while it has enough battery capacity for its normal operation, and the network lifetime strongly depends on the remaining capacity of the nodes in the network.A sensor node has a few basic components (see Figure 1) Akyildiz, Su, Sankarasubramaniam & Cayirci (2002); Raghunathan et al. (2002) as follows:


### **3. Domination in graph theory**

An undirected graph *G* = (*V*, *E*) consists of a set of vertices *V* = {*n*1,... *nk*}, and a set of edges *E* (an edge is a set {*ni*, *nj*}, where *ni*, *nj* ∈ *V* and *ni* �= *nj*). A set *D* ⊆ *V* of vertices in a graph *G* is called a *dominating set* (DS) if every vertex *ni* ∈ *V* is either an element of *D* or is adjacent to an element of *D* Haynes et al. (1998). If the graph induced by the nodes in *D* is connected, we have a *connected dominating set* (CDS). The problem of computing the minimum cardinality DS or CDS of any arbitrary graph is known to be NP-complete Garey & Johnson (1978b).

A variety of conditions may be imposed on the dominating set *D* in a graph *G* = (*V*, *E*). Among them, there are *multiple domination*, and *distance domination* Haynes et al. (1998). *Multiple domination* requires that each vertex in *V* − *D* be dominated by at least *k* vertices in *D* for a fixed positive integer *k*. The minimum cardinality of the dominating set *D* is called the *k-domination number* and is denoted by *γk*(*G*). *Distance domination* requires that each vertex in *V* − *D* be within distance *r* of at least one vertex in *D* for a fixed positive integer *r*. In this case, the minimum cardinality of the dominating set *D* is called the *distance-r domination number*, and is denoted by *γ*≤*r*(*G*).

A virtual hierarchy is also possible. In this case, nodes are organized not depending on their physical location, but based on some other criteria. For example, the virtual topology could be comprised only by nodes speaking a given protocol. In this case, a virtual link exists between any pair of nodes whenever they are talking to each other using the specified protocol.

Applied Graph Theory to Improve Topology Control in Wireless Sensor Networks 439

In some cases, the predefined hierarchical address of each node reflects its position within the hierarchy Tsuchiya (1988). In heterogeneous networks (i.e., networks composed of nodes with different capabilities in terms of energy, bandwidth, processing power, and transmission power), not only the physical location but also the resources of each node can be used as a

There are two broad categories of hierarchical architectures in ad hoc networks: *clustering* Chen et al. (2004), and *topology control based on hierarchies* Bao & Garcia-Luna-Aceves (2003b); Li (2003). These architectures can be employed to extend the network lifetime Bandyopadhyay & Coyle (2003); Chen et al. (2001); Younis & Fahmy (2004), achieve load balancing Bao & Garcia-Luna-Aceves (2003b), and to augment network scalability

With *clustering* Chen et al. (2004), the substructures that are condensed in higher levels are called *clusters*. For each cluster there is at least one node representing the cluster, and this node is usually called a *cluster-head*. Cluster-heads act as leaders in their clusters, providing some service to their members. As an example, a cluster-head could be an access point to the outside network, or it could be a *sink* for collecting information from a group of sensors (cluster members) in a wireless sensor network Akyildiz, Weilian, Sankarasubramaniam &

Topology control and clustering are closely related problems. While the former defines a physically connected *backbone* of the network (i.e., the backbone nodes are connected, and they cover all nodes in the network), the latter constructs a *virtual backbone* (i.e., the set of cluster-heads do not necessarily compose a connected component of the network, even though

Hierarchical structures are used for broadcasting, transmission of control messages, and routing data packets. The selection of nodes for the backbone will have a direct impact in the overall performance of the protocol. In most cases, dominating nodes are selected using some distributed dominating set algorithm, and if a backbone is desired, auxiliary nodes are

In this section we shows the centralized soluction for computes a (k,r)-CDS for any connected networks. The network can be abstracted as a graph *G* = (*V*, *E*) where the set *V* includes all nodes (i.e., vertices), and the set *E* includes all links (i.e., edges). The centralized solution for the (k, r)-CDS problem requires that the entire network topology be known. The centralized solution applies a *greedy* heuristic usually employed to optimization problems when there is the need for defining a group of candidates by optimizing the value of a given metric. The centralized mechanism guarantees that all nodes in the network, with the exception of those that comprise the Backbone, are covered by *k* members of the Backbone within distance *r*. It

criteria for deciding the role of each node within its sub-structure.

Heinzelman (2000); Li (2003).

they cover all nodes in the network).

selected to connect the dominating nodes.

**5. Centralized (k, r)-CDS mechanism**

Cayirci (2002).

Fig. 2. *Dominating set* examples (gray nodes are *dominating*): (A) Dominating Set (DS); (B) Connected Dominating Set (CDS).

Henning et al. Henning et al. (1996) have presented some bounds on the *distance-r domination number γ*≤*r*(*G*). They show that, for an integer *r* ≥ 1, if graph *G* is a connected graph of order *<sup>n</sup>* <sup>≥</sup> *<sup>r</sup>* <sup>+</sup> 1, then *<sup>γ</sup>*≤*r*(*G*) <sup>≤</sup> *<sup>n</sup> <sup>r</sup>*+<sup>1</sup> . An algorithm that computes a *distance-r dominating set* within the established bounds is also presented.

The (*k*,*r*)-DS problem is defined Joshi et al. (1993) as the problem of selecting a minimum cardinality vertex set *D* of a graph *G* = (*V*, *E*), such that every vertex *u* not in *D* is at a distance smaller than or equal to *r* from at least *k* vertices in *D*. The problem of computing a (*k*,*r*)-DS of minimum cardinality for arbitrary graphs is also NP-complete Joshi et al. (1993). Figure 2 (A) show example the Dominating Set and Figure 2 (B) show the Connect Dominating Set example.

Joshi et al. Joshi et al. (1993) have provided centralized solutions for solving the (*k*,*r*)-DS problem in *interval graphs* (IG). A graph *G* is said to be an interval graph if there is a one-to-one correspondence between a finite set of closed intervals of the real line and the vertex set *V*, and two vertices *u* and *v* are said to be connected if and only if their corresponding intervals have a nonempty intersection. Even though the solutions presented by Joshi et al. Joshi et al. (1993) are optimal, IGs are limited to very simple network topologies.

### **4.** *Clustering* **and topology control**

In wireless sensor networks (WSN), nodes must coordinate among themselves because they cannot assume any fixed infrastructure (e.g., access points). Broadcasting of signaling messages is the underlying mechanism for coordination, and the broadcast can target a portion of the network (e.g., gathering neighborhood information), or the entire network (e.g., discovering routes on demand).

Coordination in WSN includes operations such as neighborhood discovery, organization of nodes (i.e., topology control and clustering), and routing. Examples of organization of nodes include the location of services, computing an efficient backbone for the broadcasting of signals, and routing of data packets.

Organization of nodes can be proactive or on demand. While operations to build such structures require broadcasting of signaling messages, these structures make broadcast operations scale to much larger portions of the network. That is, the hierarchical structure functions as a backbone, on top of which broadcasting can be performed more efficiently.

4 Will-be-set-by-IN-TECH

**9**

Connected Dominating Set (CDS).

the established bounds is also presented.

**4.** *Clustering* **and topology control**

discovering routes on demand).

signals, and routing of data packets.

*<sup>n</sup>* <sup>≥</sup> *<sup>r</sup>* <sup>+</sup> 1, then *<sup>γ</sup>*≤*r*(*G*) <sup>≤</sup> *<sup>n</sup>*

Set example.

7

3

(**A)**

2

6

(1993) are optimal, IGs are limited to very simple network topologies.

5

8

4

Fig. 2. *Dominating set* examples (gray nodes are *dominating*): (A) Dominating Set (DS); (B)

Henning et al. Henning et al. (1996) have presented some bounds on the *distance-r domination number γ*≤*r*(*G*). They show that, for an integer *r* ≥ 1, if graph *G* is a connected graph of order

The (*k*,*r*)-DS problem is defined Joshi et al. (1993) as the problem of selecting a minimum cardinality vertex set *D* of a graph *G* = (*V*, *E*), such that every vertex *u* not in *D* is at a distance smaller than or equal to *r* from at least *k* vertices in *D*. The problem of computing a (*k*,*r*)-DS of minimum cardinality for arbitrary graphs is also NP-complete Joshi et al. (1993). Figure 2 (A) show example the Dominating Set and Figure 2 (B) show the Connect Dominating

Joshi et al. Joshi et al. (1993) have provided centralized solutions for solving the (*k*,*r*)-DS problem in *interval graphs* (IG). A graph *G* is said to be an interval graph if there is a one-to-one correspondence between a finite set of closed intervals of the real line and the vertex set *V*, and two vertices *u* and *v* are said to be connected if and only if their corresponding intervals have a nonempty intersection. Even though the solutions presented by Joshi et al. Joshi et al.

In wireless sensor networks (WSN), nodes must coordinate among themselves because they cannot assume any fixed infrastructure (e.g., access points). Broadcasting of signaling messages is the underlying mechanism for coordination, and the broadcast can target a portion of the network (e.g., gathering neighborhood information), or the entire network (e.g.,

Coordination in WSN includes operations such as neighborhood discovery, organization of nodes (i.e., topology control and clustering), and routing. Examples of organization of nodes include the location of services, computing an efficient backbone for the broadcasting of

Organization of nodes can be proactive or on demand. While operations to build such structures require broadcasting of signaling messages, these structures make broadcast operations scale to much larger portions of the network. That is, the hierarchical structure functions as a backbone, on top of which broadcasting can be performed more efficiently.

**1**

9

7

3

(**B)**

*<sup>r</sup>*+<sup>1</sup> . An algorithm that computes a *distance-r dominating set* within

**2**

6

5

8

4

**1**

A virtual hierarchy is also possible. In this case, nodes are organized not depending on their physical location, but based on some other criteria. For example, the virtual topology could be comprised only by nodes speaking a given protocol. In this case, a virtual link exists between any pair of nodes whenever they are talking to each other using the specified protocol.

In some cases, the predefined hierarchical address of each node reflects its position within the hierarchy Tsuchiya (1988). In heterogeneous networks (i.e., networks composed of nodes with different capabilities in terms of energy, bandwidth, processing power, and transmission power), not only the physical location but also the resources of each node can be used as a criteria for deciding the role of each node within its sub-structure.

There are two broad categories of hierarchical architectures in ad hoc networks: *clustering* Chen et al. (2004), and *topology control based on hierarchies* Bao & Garcia-Luna-Aceves (2003b); Li (2003). These architectures can be employed to extend the network lifetime Bandyopadhyay & Coyle (2003); Chen et al. (2001); Younis & Fahmy (2004), achieve load balancing Bao & Garcia-Luna-Aceves (2003b), and to augment network scalability Heinzelman (2000); Li (2003).

With *clustering* Chen et al. (2004), the substructures that are condensed in higher levels are called *clusters*. For each cluster there is at least one node representing the cluster, and this node is usually called a *cluster-head*. Cluster-heads act as leaders in their clusters, providing some service to their members. As an example, a cluster-head could be an access point to the outside network, or it could be a *sink* for collecting information from a group of sensors (cluster members) in a wireless sensor network Akyildiz, Weilian, Sankarasubramaniam & Cayirci (2002).

Topology control and clustering are closely related problems. While the former defines a physically connected *backbone* of the network (i.e., the backbone nodes are connected, and they cover all nodes in the network), the latter constructs a *virtual backbone* (i.e., the set of cluster-heads do not necessarily compose a connected component of the network, even though they cover all nodes in the network).

Hierarchical structures are used for broadcasting, transmission of control messages, and routing data packets. The selection of nodes for the backbone will have a direct impact in the overall performance of the protocol. In most cases, dominating nodes are selected using some distributed dominating set algorithm, and if a backbone is desired, auxiliary nodes are selected to connect the dominating nodes.

### **5. Centralized (k, r)-CDS mechanism**

In this section we shows the centralized soluction for computes a (k,r)-CDS for any connected networks. The network can be abstracted as a graph *G* = (*V*, *E*) where the set *V* includes all nodes (i.e., vertices), and the set *E* includes all links (i.e., edges). The centralized solution for the (k, r)-CDS problem requires that the entire network topology be known. The centralized solution applies a *greedy* heuristic usually employed to optimization problems when there is the need for defining a group of candidates by optimizing the value of a given metric. The centralized mechanism guarantees that all nodes in the network, with the exception of those that comprise the Backbone, are covered by *k* members of the Backbone within distance *r*. It

Fig. 3. Exemple (2,2)-CDS applying the centralized solution

A WSN is modeled as a graph *G* = (*V*, *E*), where *V* is the set of sensor nodes, and *E* is the set of wireless links. Each node in *V* is associated to its Euclidean coordinates. A link between any pair of nodes *u* and *v* exists (i.e., (*u*, *v*) ∈ *E*) if and only if the Euclidean distance between the pair of nodes is smaller than or equal to their transmission range (assumed to be the same

Applied Graph Theory to Improve Topology Control in Wireless Sensor Networks 441

**Lemma 1.** *Connectivity is preserved by augmenting a connected component with any node adjacent*

*Proof.* This can be proved by induction on the cardinality of the connected component. The base case is when the connected component is composed by just one node. Now consider a connected component with cardinality *n* − 1. A node adjacent to any node in the connected component augments its cardinality to *n*, and keeps the component connected because of the

**Theorem 1.** *The centralized mechanism correctly computes a* (*k*,*r*)*-CDS Backbone for any arbitrary*

is connected.

are adjacent to least one node

<sup>⊆</sup> *<sup>V</sup>* forms a CDS for network *<sup>G</sup>* if all nodes in *<sup>V</sup>* <sup>−</sup> *<sup>V</sup>*�

] induced by *V*�

**5.2 Formal analysis**

for all nodes in *V*).

, and the sub-graph *G*[*V*�

*to the connected component.*

adjacency property.

*connected graph G* = (*V*, *N*)*.*

A set *V*�

in *V*�

is assumed that all nodes have an unique identifier (i.e. *id*) and they know the whole network topology.

While carrying out the algorithm, colors are ascribed to nodes to reflect their states during the selection process. To begin with, all nodes are colored **White**. A node is colored **Gray** when it becomes a candidate to the Backbone. Once a node joins the Backbone, the node is colored **Black**.The heuristic chosen for selecting nodes for the (k, r)-CDS is described as follows:


#### **5.1 Example**

Figure 3 shows the computation of a (2,2)-CDS for a particular network topology. Black nodes are members of the Backbone. For this configuration, nodes that do not belong to the Backbone are covered by at least two nodes of the Backbone at most two hops distant. Initially, all nodes are colored white, and have their degrees calculated (Figure 3(A)). For example, the node with id 3 displays the marking (7, −, 0), which indicates that it has seven neighbors within two hops (i.e., *r* = 2), and it is not covered by any black nodes yet (indicated by the third parameter set to zero).

The node with the largest 2-hop neighborhood (i.e., *<sup>u</sup>* <sup>∈</sup> *<sup>V</sup>* with maximum value of <sup>|</sup>*N<sup>u</sup>* <sup>2</sup> |) is colored Black (Figure 3(B)). At this point, there is a tie among nodes 0, 2 and 5. In this case, the node with the largest ID (i.e., node 5) wins. Following that, the neighboring nodes to node 5 are colored gray, while its *r*-hop neighborhood is accounted for this new Backbone node (i.e., all nodes within distance 2 from node 5 are covered by this node).

Node 0 is the Gray node covering the most White neighbors (nodes 4 and 6), hence it is chosen for the Backbone and colored Black. Therefore, all its neighbors are colored Gray (Figure 3(C)). The remaining gray nodes hold only one White neighbor. Once node 0 has been selected, all its *r*-hop neighbors (i.e., nodes 2, 3, 4, 6, 7, 8, 9) have their parameters updated to reflect coverage by node 0 (Black nodes do not need to be covered, for they are part of the Backbone).

The process goes on by selecting the Gray node that has the most White neighbors (Figure 3(D)), and in this case node 9 is selected for untying purpose. After this last selection, the Backbone is complete, and all network nodes are covered by at least two Black nodes within distance 2. The Backbone is then formed by nodes 0, 5, and 9.

Fig. 3. Exemple (2,2)-CDS applying the centralized solution

### **5.2 Formal analysis**

6 Will-be-set-by-IN-TECH

is assumed that all nodes have an unique identifier (i.e. *id*) and they know the whole network

While carrying out the algorithm, colors are ascribed to nodes to reflect their states during the selection process. To begin with, all nodes are colored **White**. A node is colored **Gray** when it becomes a candidate to the Backbone. Once a node joins the Backbone, the node is colored **Black**.The heuristic chosen for selecting nodes for the (k, r)-CDS is described as follows:

2. The node with the largest *<sup>r</sup>*-hop neighborhood (i.e. *<sup>u</sup>* <sup>∈</sup> *<sup>V</sup>* with maximum value for <sup>|</sup>*N<sup>u</sup>*

5. In the absence of any white nodes, the node with the most gray neighbors is considered as

6. The process comes to an end when all regular nodes have been covered by at least *k* members of the Backbone (black nodes) within distance *r*; i.e., when all nodes in the network, except those that are members of the Backbone, have met the (k,r)-CDS

Figure 3 shows the computation of a (2,2)-CDS for a particular network topology. Black nodes are members of the Backbone. For this configuration, nodes that do not belong to the Backbone are covered by at least two nodes of the Backbone at most two hops distant. Initially, all nodes are colored white, and have their degrees calculated (Figure 3(A)). For example, the node with id 3 displays the marking (7, −, 0), which indicates that it has seven neighbors within two hops (i.e., *r* = 2), and it is not covered by any black nodes yet (indicated by the third

The node with the largest 2-hop neighborhood (i.e., *<sup>u</sup>* <sup>∈</sup> *<sup>V</sup>* with maximum value of <sup>|</sup>*N<sup>u</sup>*

all nodes within distance 2 from node 5 are covered by this node).

within distance 2. The Backbone is then formed by nodes 0, 5, and 9.

colored Black (Figure 3(B)). At this point, there is a tie among nodes 0, 2 and 5. In this case, the node with the largest ID (i.e., node 5) wins. Following that, the neighboring nodes to node 5 are colored gray, while its *r*-hop neighborhood is accounted for this new Backbone node (i.e.,

Node 0 is the Gray node covering the most White neighbors (nodes 4 and 6), hence it is chosen for the Backbone and colored Black. Therefore, all its neighbors are colored Gray (Figure 3(C)). The remaining gray nodes hold only one White neighbor. Once node 0 has been selected, all its *r*-hop neighbors (i.e., nodes 2, 3, 4, 6, 7, 8, 9) have their parameters updated to reflect coverage

The process goes on by selecting the Gray node that has the most White neighbors (Figure 3(D)), and in this case node 9 is selected for untying purpose. After this last selection, the Backbone is complete, and all network nodes are covered by at least two Black nodes

by node 0 (Black nodes do not need to be covered, for they are part of the Backbone).

is colored black. Ties are broken lexicographically by considering the highest *id*. 3. Next, all nodes adjacent (i.e. neighboring nodes) to the black node are colored gray. 4. The gray node with most white neighbors is then selected and colored black. Ties are broken by choosing the highest *id*. This procedure continues until the conditions in item 6

*r* |)

<sup>2</sup> |) is

1. Initially, all nodes in the network are colored white.

topology.

are satisfied.

specification.

parameter set to zero).

**5.1 Example**

the next member of the Backbone.

A WSN is modeled as a graph *G* = (*V*, *E*), where *V* is the set of sensor nodes, and *E* is the set of wireless links. Each node in *V* is associated to its Euclidean coordinates. A link between any pair of nodes *u* and *v* exists (i.e., (*u*, *v*) ∈ *E*) if and only if the Euclidean distance between the pair of nodes is smaller than or equal to their transmission range (assumed to be the same for all nodes in *V*).

A set *V*� <sup>⊆</sup> *<sup>V</sup>* forms a CDS for network *<sup>G</sup>* if all nodes in *<sup>V</sup>* <sup>−</sup> *<sup>V</sup>*� are adjacent to least one node in *V*� , and the sub-graph *G*[*V*� ] induced by *V*� is connected.

**Lemma 1.** *Connectivity is preserved by augmenting a connected component with any node adjacent to the connected component.*

*Proof.* This can be proved by induction on the cardinality of the connected component. The base case is when the connected component is composed by just one node. Now consider a connected component with cardinality *n* − 1. A node adjacent to any node in the connected component augments its cardinality to *n*, and keeps the component connected because of the adjacency property.

**Theorem 1.** *The centralized mechanism correctly computes a* (*k*,*r*)*-CDS Backbone for any arbitrary connected graph G* = (*V*, *N*)*.*

about each node's distance to the BS (i.e., their *dBS*), at the end of this phase nodes also learn

Applied Graph Theory to Improve Topology Control in Wireless Sensor Networks 443

Phase 2 starts immediately after the completion of phase 1. It is during this phase that nodes elect *k* nodes from their *r*-hop neighborhood to become part of the Backbone. After that, the node announces its elected nodes throughout its *r*-hop neighborhood. The election is based

The BS node actually starts the election process by electing the *k* nodes closest to itself (i.e. those with the smaller *dBS* in the neighborhood). Any ties are broken choosing the node with the largest degree, and persisting the tie the node with the largest ID wins. The BS creates and transmits to all its neighbors a message called Election Message (EM) carrying a list called

Upon receiving an EM message, a node performs - just once - the selection of its Backbone Members. The criteria are similar to those used by the BS with the restriction that only nodes belonging to the Backbone, or those adjacent to it (i.e. neighbors to Backbone members), can be elected. This restriction guarantees the Backbone connectivity property(i.e. the creation of a CDS), and it reduces the total number of Backbone members because nodes already in the

After a node elects its Backbone members, the BM list in the EM message is updated to reflect any changes to the list, and the message is then transmitted to its neighbors. In addition to that, a Notification Message (NM) is sent to all (if any) new elected nodes (i.e., nodes that were not listed in the original BM list). The election process continues until all nodes in the network have elected their Backbone members. At any stage, a node that has already carried out its

Figure 4 shows the computation of a (2,2)-CDS for a particular WSN. As previously, Black nodes represent Backbone members. Initially, node 0 is selected as the BS, and it is colored Black (Figure 4(A)). Given that *r* = 2, all nodes are familiar with their neighborhood up to 2 hops. The first field in the marking process (shown close to each node in the Figure) identifies the *dBS* value. The second field indicates whether a node belongs to the Backbone or it neighbors a Backbone member (value 1), otherwise it is set to value 0. The third field

Using the information obtained during phase 1, the BS selects its two members for the Backbone (Figure 4(B)). Notice that the BS selects itself (because it is a Backbone member by default) and another node from its *r*-hop neighborhood. The list of elected nodes is

The first elected node embodies the BS itself since *dBS* = 0 and because it starts the whole process. Node 5 is the second elected node for it exhibits the largest id while node 2 ties in Degree and distance (i.e., *dBS*) with node 5. The election of nodes 0 and 5 reflects on the marking of nodes 2, 3, 4, 6 and 9, demonstrating that they are either members or neighbors of

<sup>1</sup> To handle periodical elections, one could use an election identifier in the EM message to allow nodes to

the distance from each *r*-hop neighbor to the BS.

on the information gathered during phase 1.

Backbone Members (BM) with the *k* elected nodes.

Backbone are likely to cover multiple nodes in the neighborhood.

election and receives another EM message will just discard it. <sup>1</sup>

transmitted to the BS neighbors through an EM message.

know when they should re-elect their Backbone members.

**6.1 Example**

indicates the **Degree** of a node.

*Proof.* To account for node's coverage, *k* sets are used, *D*0, *D*1, *D*2, ..., *Dk*, where *Di* represents the nodes covered by at least *i* nodes from the Backbone within distance of *r* hops. Initially, all nodes of *G* are in *D*0. The inclusion of a new member to the Backbone can promote one or more nodes from *Di* to *Di*<sup>+</sup><sup>1</sup> for all *i* < *k*. The nodes elected for the Backbone are immediately inserted into *Dk*. The first Backbone node, *b*0, is the node with the largest *r*-hop neighborhood in the graph. Whenever a tie occurs, the node with the largest identifier (i.e., **id**) is selected. In each iteration, a new backbone node, *u*, is selected among the neighboring nodes to the Backbone (i.e., *NB* ) such that the selected node has the largest number of uncovered neighbors (i.e., <sup>∀</sup> *<sup>n</sup>* <sup>∈</sup> *NB* we have that *<sup>u</sup>* maximizes <sup>∑</sup>*k*−<sup>1</sup> *<sup>i</sup>*=<sup>0</sup> <sup>|</sup>*Di* <sup>∩</sup> *<sup>N</sup><sup>n</sup>* <sup>1</sup> |). The connectivity property is guaranteed by Lemma 1. The process ends when all nodes are covered, or all nodes belong to the Backbone (i.e., *Dk* = *V*). Assuming networks with a finite number of nodes, *n* (i.e., *n* = |*V*|), the number of iterations is at most *n*; therefore, the computation ends within a finite period of time.

### **6. Distributed (k, r)-CDS mechanism**

Unlike the centralized solution, the distributed (k,r)-CDS solution does not require the information about the whole network topology. All nodes are required to know only their *r*-hop neighborhood. The (k,r)-CDS extends the (k,r)-DS mechanism Spohn & Garcia-Luna-Aceves (2006) proposed for ad hoc networks. The (k,r)-DS mechanism is used for the construction of bounded distance multi-clusterhead clusters (i.e., each regular cluster member is covered by several clusterheads within a bounded distance), but it does not connect the clusterheads among themselves (i.e., that is why it is a DS).

As for the centralized solution, the distributed mechanism computes a (k,r)-CDS of the network. However, the computation of the Backbone is accomplished distributively. In addition to that, to adhere to the characteristics of sensor networks, the construction of the Backbone stems from a particular node which could be the Base Station (BS) in the network.

We assume that any node in the network could be the BS. Moreover, there could be more than one BS. However, in this work we consider a single BS per network, which is randomly chosen among all nodes in the network. It is also assumed that each node has an unique identifier, and they have knowledge about their *r*-hop neighborhood. The mechanism is carried out in two phases as described as follows.

In phase 1 the BS initiates the process by sending an Information Message (IM) to their neighbors reporting the Distance to the Base Station, *dBS*, initially set to zero by the BS itself. On receiving this message, a node updates its distance to the BS and announces its *dBS* to its neighbors through a new IM message. If a node gets more than one notification message, any message announcing a shorter distance to the BS triggers a new IM message so that any neighbor can eventually learn about a shorter path to the BS. Considering that all transmissions are reliable, after a finite period of time, and possibly after many retransmissions, all nodes in the network learn their shortest distance to the BS.

The second objective of this phase consists of obtaining the *r*-hop neighborhood topology, which requires *r* rounds of messages exchange. In each round, the nodes broadcast information about their known neighbors, and their respective distances. After *r* rounds, all nodes come to know their neighbors within distance *r*. By piggybacking the information about each node's distance to the BS (i.e., their *dBS*), at the end of this phase nodes also learn the distance from each *r*-hop neighbor to the BS.

Phase 2 starts immediately after the completion of phase 1. It is during this phase that nodes elect *k* nodes from their *r*-hop neighborhood to become part of the Backbone. After that, the node announces its elected nodes throughout its *r*-hop neighborhood. The election is based on the information gathered during phase 1.

The BS node actually starts the election process by electing the *k* nodes closest to itself (i.e. those with the smaller *dBS* in the neighborhood). Any ties are broken choosing the node with the largest degree, and persisting the tie the node with the largest ID wins. The BS creates and transmits to all its neighbors a message called Election Message (EM) carrying a list called Backbone Members (BM) with the *k* elected nodes.

Upon receiving an EM message, a node performs - just once - the selection of its Backbone Members. The criteria are similar to those used by the BS with the restriction that only nodes belonging to the Backbone, or those adjacent to it (i.e. neighbors to Backbone members), can be elected. This restriction guarantees the Backbone connectivity property(i.e. the creation of a CDS), and it reduces the total number of Backbone members because nodes already in the Backbone are likely to cover multiple nodes in the neighborhood.

After a node elects its Backbone members, the BM list in the EM message is updated to reflect any changes to the list, and the message is then transmitted to its neighbors. In addition to that, a Notification Message (NM) is sent to all (if any) new elected nodes (i.e., nodes that were not listed in the original BM list). The election process continues until all nodes in the network have elected their Backbone members. At any stage, a node that has already carried out its election and receives another EM message will just discard it. <sup>1</sup>

### **6.1 Example**

8 Will-be-set-by-IN-TECH

*Proof.* To account for node's coverage, *k* sets are used, *D*0, *D*1, *D*2, ..., *Dk*, where *Di* represents the nodes covered by at least *i* nodes from the Backbone within distance of *r* hops. Initially, all nodes of *G* are in *D*0. The inclusion of a new member to the Backbone can promote one or more nodes from *Di* to *Di*<sup>+</sup><sup>1</sup> for all *i* < *k*. The nodes elected for the Backbone are immediately inserted into *Dk*. The first Backbone node, *b*0, is the node with the largest *r*-hop neighborhood in the graph. Whenever a tie occurs, the node with the largest identifier (i.e., **id**) is selected. In each iteration, a new backbone node, *u*, is selected among the neighboring nodes to the Backbone (i.e., *NB* ) such that the selected node has the largest number of uncovered neighbors

guaranteed by Lemma 1. The process ends when all nodes are covered, or all nodes belong to the Backbone (i.e., *Dk* = *V*). Assuming networks with a finite number of nodes, *n* (i.e., *n* = |*V*|), the number of iterations is at most *n*; therefore, the computation ends within a finite

Unlike the centralized solution, the distributed (k,r)-CDS solution does not require the information about the whole network topology. All nodes are required to know only their *r*-hop neighborhood. The (k,r)-CDS extends the (k,r)-DS mechanism Spohn & Garcia-Luna-Aceves (2006) proposed for ad hoc networks. The (k,r)-DS mechanism is used for the construction of bounded distance multi-clusterhead clusters (i.e., each regular cluster member is covered by several clusterheads within a bounded distance), but it does not connect

As for the centralized solution, the distributed mechanism computes a (k,r)-CDS of the network. However, the computation of the Backbone is accomplished distributively. In addition to that, to adhere to the characteristics of sensor networks, the construction of the Backbone stems from a particular node which could be the Base Station (BS) in the network. We assume that any node in the network could be the BS. Moreover, there could be more than one BS. However, in this work we consider a single BS per network, which is randomly chosen among all nodes in the network. It is also assumed that each node has an unique identifier, and they have knowledge about their *r*-hop neighborhood. The mechanism is carried out in

In phase 1 the BS initiates the process by sending an Information Message (IM) to their neighbors reporting the Distance to the Base Station, *dBS*, initially set to zero by the BS itself. On receiving this message, a node updates its distance to the BS and announces its *dBS* to its neighbors through a new IM message. If a node gets more than one notification message, any message announcing a shorter distance to the BS triggers a new IM message so that any neighbor can eventually learn about a shorter path to the BS. Considering that all transmissions are reliable, after a finite period of time, and possibly after many

The second objective of this phase consists of obtaining the *r*-hop neighborhood topology, which requires *r* rounds of messages exchange. In each round, the nodes broadcast information about their known neighbors, and their respective distances. After *r* rounds, all nodes come to know their neighbors within distance *r*. By piggybacking the information

retransmissions, all nodes in the network learn their shortest distance to the BS.

*<sup>i</sup>*=<sup>0</sup> <sup>|</sup>*Di* <sup>∩</sup> *<sup>N</sup><sup>n</sup>*

<sup>1</sup> |). The connectivity property is

(i.e., <sup>∀</sup> *<sup>n</sup>* <sup>∈</sup> *NB* we have that *<sup>u</sup>* maximizes <sup>∑</sup>*k*−<sup>1</sup>

the clusterheads among themselves (i.e., that is why it is a DS).

**6. Distributed (k, r)-CDS mechanism**

two phases as described as follows.

period of time.

Figure 4 shows the computation of a (2,2)-CDS for a particular WSN. As previously, Black nodes represent Backbone members. Initially, node 0 is selected as the BS, and it is colored Black (Figure 4(A)). Given that *r* = 2, all nodes are familiar with their neighborhood up to 2 hops. The first field in the marking process (shown close to each node in the Figure) identifies the *dBS* value. The second field indicates whether a node belongs to the Backbone or it neighbors a Backbone member (value 1), otherwise it is set to value 0. The third field indicates the **Degree** of a node.

Using the information obtained during phase 1, the BS selects its two members for the Backbone (Figure 4(B)). Notice that the BS selects itself (because it is a Backbone member by default) and another node from its *r*-hop neighborhood. The list of elected nodes is transmitted to the BS neighbors through an EM message.

The first elected node embodies the BS itself since *dBS* = 0 and because it starts the whole process. Node 5 is the second elected node for it exhibits the largest id while node 2 ties in Degree and distance (i.e., *dBS*) with node 5. The election of nodes 0 and 5 reflects on the marking of nodes 2, 3, 4, 6 and 9, demonstrating that they are either members or neighbors of

<sup>1</sup> To handle periodical elections, one could use an election identifier in the EM message to allow nodes to know when they should re-elect their Backbone members.

*Proof.* We assume that any node *<sup>i</sup>* <sup>∈</sup> *<sup>V</sup>* knows its *<sup>r</sup>*-hop neighbors (i.e., *<sup>N</sup><sup>i</sup>*

the connectivity and coverage properties are guaranteed.

**7. Performance analysis**

Table 1. Parameters for Scenarios 1

distances to the base station *i*<sup>0</sup> (Lemma 3). The base station, *i*0, is selected as the first backbone node. On its turn, node *i*<sup>0</sup> selects for the backbone the *k* − 1 nodes closest to itself (i.e., first it tries to select among its neighbors within distance one, then, if necessary, within distance two, and so on until *k* − 1 nodes are selected). The selected nodes repeat the process, taking as candidates to backbone members those nodes from their *r*-hop neighborhood which are closer to the base station, *i*0, and also requiring that any candidate must be adjacent to or already a member of the backbone. The latter requirement, guarantees the connectivity of the Backbone (Lemma 1). After node *i*<sup>0</sup> has selected its *k* − 1 backbone members, the base station announces the list of elected nodes to its neighbors, which in turn repeat the process by performing their own election. The election is carried out just once by all nodes in the network (duplicate announcements are just discarded). Considering that messages take a finite period of time to propagate throughout the network, the whole election takes a finite period of time to complete. Given that any node must elect *k* members among its *r*-hop neighborhood, and that any elected node must be adjacent to nodes already in the Backbone or members themselves,

Applied Graph Theory to Improve Topology Control in Wireless Sensor Networks 445

The centralized and distributed (k,r)-CDS mechanisms are compared through extensive simulations using a customized simulator. Network topologies are created based on the *unit disk graph* model Clark et al. (1990). According to this model, any pair of nodes, *A* and *B*, are said to be connected if the Euclidean Distance between their coordinates is smaller or equal to *R*, the transmission range of any node. We assume *R* = 15*m* for all nodes (i.e., a homogeneous networks). Nodes are randomly placed over the terrain, and only connected topologies are

> Nodes Diameter Degree 11,7±0.7 11,8±0.6 10,9±0.4 24,2±0.7 10,6±0.5 36,6±0.8 10,3±0.5 49,0±0.9 10,1±0.3 61,4±0.9

For the simulations we assume an ideal MAC protocol with no collisions, ensuring that all transmissions are successful. The same assumption is made in related work Spohn & Garcia-Luna-Aceves (2006); Wu & Dai (2003). All topologies evaluated in the simulations are assumed to be static (i.e., no mobility). Because there is no known optimum solution for the (k,r)-CDS problem, the proposed centralized solution is used as a lower bound when evaluating the performance of the distributed solution. The simulations encompass a series of experiments changing the distance parameters (i.e., *r*) and the coverage parameters (i.e., *k*). All experiments are repeated for 30 trials corresponding to different network topologies.

To gather representative statistical samples, two scenarios are considered. Table 1 presents the average standard values for the **Diameter** (i.e., the largest shortest distance between any pair

taken into account. For each configuration, we gather results for 30 trials.

*<sup>r</sup>*), as well as their

Fig. 4. Exemple (2,2)-CDS applying the distributed solution

a Backbone member. On the sequence, all BS neighbors perform their elections. All nodes with *dBS* = 1 (i.e. the nodes 2, 4, 5 and 6) elect nodes 0 and 5 as members of the Backbone, triggering a new EM message to be sent to their neighbors.

For nodes two hop distant from the BS (i.e., *dBS* = 2), we have that nodes 3, 8 and 9 elect nodes 0 and 5, and node 7 elects nodes 0 and 6 (Figure 4(C)). The marking of node 7 is updated demonstrating that this node is a neighbor of a Backbone member. Node 1 which has *dBS* = 3 receives the EM message and elects nodes 5 and 6 as members of the Backbone. This ends the election since all neighbors of node 1 (which is the node farther away from the BS) have already completed their election. The Backbone is then composed by nodes 0, 5 and 6.

### **6.2 Formal analysis**

To prove the correctness of the distributed (k,r)-CDS mechanism, we have to show that it is *safe* (i.e., the algorithm computes a (k,r)-CDS of the network), and that it is *live* (i.e., it completes within a finite period of time).

**Lemma 2.** *Phase one of the distributed solution has message complexity of O*(*n* · *r*)*, where n is the number of nodes in the network and r is the distance parameter.*

*Proof.* During each round, nodes send messages to all their one-hop neighbors. Phase one takes *r* rounds. Assuming a network of *n* nodes, phase one requires *n* × *r* messages to complete. Therefore, the message complexity of phase one is of order *O*(*n* · *r*).

**Lemma 3.** *After r rounds of successful transmission of message m, the message is propagated up to r hops away from the originating node.*

*Proof.* This can be proved by induction on the distance *d* from the node starting the process, *n*0. The base case is when *d* = 0, meaning that the starting node itself knows the message it created to be propagated throughout the network. Now consider a node *u* at distance *r* − 1 from *n*0. Once node *u* retransmits message *m* to all its one-hop neighbors, the message eventually reach any neighbor *r* hops from *n*0.

**Theorem 2.** *The distributed solution correctly computes a* (*k*,*r*)*-CDS Backbone for any connected graph G* = (*V*, *E*) *during phase two.*

*Proof.* We assume that any node *<sup>i</sup>* <sup>∈</sup> *<sup>V</sup>* knows its *<sup>r</sup>*-hop neighbors (i.e., *<sup>N</sup><sup>i</sup> <sup>r</sup>*), as well as their distances to the base station *i*<sup>0</sup> (Lemma 3). The base station, *i*0, is selected as the first backbone node. On its turn, node *i*<sup>0</sup> selects for the backbone the *k* − 1 nodes closest to itself (i.e., first it tries to select among its neighbors within distance one, then, if necessary, within distance two, and so on until *k* − 1 nodes are selected). The selected nodes repeat the process, taking as candidates to backbone members those nodes from their *r*-hop neighborhood which are closer to the base station, *i*0, and also requiring that any candidate must be adjacent to or already a member of the backbone. The latter requirement, guarantees the connectivity of the Backbone (Lemma 1). After node *i*<sup>0</sup> has selected its *k* − 1 backbone members, the base station announces the list of elected nodes to its neighbors, which in turn repeat the process by performing their own election. The election is carried out just once by all nodes in the network (duplicate announcements are just discarded). Considering that messages take a finite period of time to propagate throughout the network, the whole election takes a finite period of time to complete. Given that any node must elect *k* members among its *r*-hop neighborhood, and that any elected node must be adjacent to nodes already in the Backbone or members themselves, the connectivity and coverage properties are guaranteed.

### **7. Performance analysis**

10 Will-be-set-by-IN-TECH

5

**5**

[1,1,3]

a Backbone member. On the sequence, all BS neighbors perform their elections. All nodes with *dBS* = 1 (i.e. the nodes 2, 4, 5 and 6) elect nodes 0 and 5 as members of the Backbone,

For nodes two hop distant from the BS (i.e., *dBS* = 2), we have that nodes 3, 8 and 9 elect nodes 0 and 5, and node 7 elects nodes 0 and 6 (Figure 4(C)). The marking of node 7 is updated demonstrating that this node is a neighbor of a Backbone member. Node 1 which has *dBS* = 3 receives the EM message and elects nodes 5 and 6 as members of the Backbone. This ends the election since all neighbors of node 1 (which is the node farther away from the BS) have already completed their election. The Backbone is then composed by nodes 0, 5 and 6.

To prove the correctness of the distributed (k,r)-CDS mechanism, we have to show that it is *safe* (i.e., the algorithm computes a (k,r)-CDS of the network), and that it is *live* (i.e., it completes

**Lemma 2.** *Phase one of the distributed solution has message complexity of O*(*n* · *r*)*, where n is the*

*Proof.* During each round, nodes send messages to all their one-hop neighbors. Phase one takes *r* rounds. Assuming a network of *n* nodes, phase one requires *n* × *r* messages to

**Lemma 3.** *After r rounds of successful transmission of message m, the message is propagated up to r*

*Proof.* This can be proved by induction on the distance *d* from the node starting the process, *n*0. The base case is when *d* = 0, meaning that the starting node itself knows the message it created to be propagated throughout the network. Now consider a node *u* at distance *r* − 1 from *n*0. Once node *u* retransmits message *m* to all its one-hop neighbors, the message eventually reach

**Theorem 2.** *The distributed solution correctly computes a* (*k*,*r*)*-CDS Backbone for any connected*

complete. Therefore, the message complexity of phase one is of order *O*(*n* · *r*).

1

**2**

[1,1,4] [0,1,4]

**1 1**

6

**6**

1

1

**0**

7

**7**

[2,0,2]

1

**9**

1

**3**

[1,1,3]

1

**4**

[2,0,2]

1

**8**

*(C)* [1,1,4]

1

1

**9**

[2,1,4]

5

**5**

**<sup>3</sup> <sup>2</sup>**

[1,1,3]

1

6

**6**

[0,1,4] [1,1,4]

0

**0**

[1,1,3] [2,1,2]

1

**8**

[2,0,2]

1

**4**

3

**7**

[2,1,3]

[3,0,3]

1

[1,0,4] [0,1,4]

1

**0**

1

**2**

[1,0,4]

5

**5**

7

**7**

[2,0,2]

**6.2 Formal analysis**

within a finite period of time).

*hops away from the originating node.*

any neighbor *r* hops from *n*0.

*graph G* = (*V*, *E*) *during phase two.*

[2,0,4]

1

**3**

1

**9**

[2,0,2]

*(A) (B)* [1,1,4]

1

**8**

4

Fig. 4. Exemple (2,2)-CDS applying the distributed solution

triggering a new EM message to be sent to their neighbors.

*number of nodes in the network and r is the distance parameter.*

**4**

[3,0,3]

1

[2,1,3]

[2,1,4]

[1,0,3] [1,0,3]

6

**6**

[−,−,−]

1

**1**

[2,0,3]

The centralized and distributed (k,r)-CDS mechanisms are compared through extensive simulations using a customized simulator. Network topologies are created based on the *unit disk graph* model Clark et al. (1990). According to this model, any pair of nodes, *A* and *B*, are said to be connected if the Euclidean Distance between their coordinates is smaller or equal to *R*, the transmission range of any node. We assume *R* = 15*m* for all nodes (i.e., a homogeneous networks). Nodes are randomly placed over the terrain, and only connected topologies are taken into account. For each configuration, we gather results for 30 trials.


#### Table 1. Parameters for Scenarios 1

For the simulations we assume an ideal MAC protocol with no collisions, ensuring that all transmissions are successful. The same assumption is made in related work Spohn & Garcia-Luna-Aceves (2006); Wu & Dai (2003). All topologies evaluated in the simulations are assumed to be static (i.e., no mobility). Because there is no known optimum solution for the (k,r)-CDS problem, the proposed centralized solution is used as a lower bound when evaluating the performance of the distributed solution. The simulations encompass a series of experiments changing the distance parameters (i.e., *r*) and the coverage parameters (i.e., *k*). All experiments are repeated for 30 trials corresponding to different network topologies.

To gather representative statistical samples, two scenarios are considered. Table 1 presents the average standard values for the **Diameter** (i.e., the largest shortest distance between any pair

Fig. 6. (k,r)-CDS results for scenario 1

mechanism to reduce redundant backbone members.

mechanism gets closer to the performance of the centralized mechanism (Figures 6(c), (f), and (i)). The best results are achieved for networks with 200 nodes (Figure 6(c)), when the centralized mechanism elects 20.8 nodes in average, whereas the distributed mechanism elects 21.4 nodes in average. The difference between the two approaches becomes more prominent for larger networks (e.g., networks with 1000 sensor nodes). As the network gets denser, the distributed mechanism elects more nodes. Because nodes elect *k* nodes among their *r*-hop neighborhood it is likely that more candidates satisfy the election requirement (i.e., nodes already in the backbone or adjacent to any backbone node), incurring on more redundancy when compared to sparser networks. For the future work we intend to apply some pruning

Applied Graph Theory to Improve Topology Control in Wireless Sensor Networks 447

For the second scenario, we have chosen to keep node density steady while varying the network diameter. The simulation results (Figure 7) show an increase in the total number of Backbone nodes for both mechanisms. This is due to a better distribution of sensor nodes (i.e., sparser networks). As expected, the centralized mechanism presents better results for most experiments. However, the two heuristics compare to each other in the (1, 2)-CDS and (1, 3)-CDS configurations (Figure 7 (b) and (c)). As noticed in the first scenario, as the distance parameter *r* increases, the two approaches present similar results. On the other hand, the difference between the performance for both solutions reduces compared to the first scenario.


Table 2. Parameters for Scenarios 2

of nodes) and the **Degree** (i.e., average number of one-hop neighbors) over 100 samples for first scenario.

Fig. 5. Control message overhead

In the first scenario, the network diameter stays almost unchanged as the average degree increases with denser networks. As for the second scenario (see Table 2), the network density is kept the same by increasing the terrain size for larger networks. As a consequence, the average degree remains almost the same but the network diameter increases (i.e., the networks are sparser compared to the ones from the first scenario).

To compare the two proposed heuristics, two performance metrics are evaluated: *control message overhead*, the total number of control messages exchanged for gathering topology information (centralized mechanism), or for the execution of the two phases in the distributed mechanism; *total number of Backbone nodes*, the total number of nodes that each mechanism selects to form de Backbone.

Figure 5 shows the results for the message overhead regarding the first scenario. Results for the second scenario are omitted because they are similar to those from the first scenario. Considering a network composed of *n* nodes, the centralized mechanism incurs *O*(*n*2) messages exchange due to the topology dissemination process. In the distributed mechanism, the control overhead depends on the distance parameter *r*, because the nodes need to obtain information regarding the *r*-hop neighborhood. Given that all nodes participate in this process, it incurs a *O*(*n* · *r*) message complexity.

As expected, the centralized mechanism presents the best results for the first scenario (Figure 6). As the distance parameter *r* increases, the performance of the distributed

Fig. 6. (k,r)-CDS results for scenario 1

12 Will-be-set-by-IN-TECH

Nodes Diameter Degree 11,9±0.7 12,2±0.6 18,0±0.5 11,7±0.5 23,2±0.6 12,0±0.0 29,4±0.7 12,0±0.0 35,4±1.0 12,3±0.5

of nodes) and the **Degree** (i.e., average number of one-hop neighbors) over 100 samples for

In the first scenario, the network diameter stays almost unchanged as the average degree increases with denser networks. As for the second scenario (see Table 2), the network density is kept the same by increasing the terrain size for larger networks. As a consequence, the average degree remains almost the same but the network diameter increases (i.e., the networks

To compare the two proposed heuristics, two performance metrics are evaluated: *control message overhead*, the total number of control messages exchanged for gathering topology information (centralized mechanism), or for the execution of the two phases in the distributed mechanism; *total number of Backbone nodes*, the total number of nodes that each mechanism

Figure 5 shows the results for the message overhead regarding the first scenario. Results for the second scenario are omitted because they are similar to those from the first scenario. Considering a network composed of *n* nodes, the centralized mechanism incurs *O*(*n*2) messages exchange due to the topology dissemination process. In the distributed mechanism, the control overhead depends on the distance parameter *r*, because the nodes need to obtain information regarding the *r*-hop neighborhood. Given that all nodes participate in this

As expected, the centralized mechanism presents the best results for the first scenario (Figure 6). As the distance parameter *r* increases, the performance of the distributed

Table 2. Parameters for Scenarios 2

Fig. 5. Control message overhead

selects to form de Backbone.

are sparser compared to the ones from the first scenario).

process, it incurs a *O*(*n* · *r*) message complexity.

first scenario.

mechanism gets closer to the performance of the centralized mechanism (Figures 6(c), (f), and (i)). The best results are achieved for networks with 200 nodes (Figure 6(c)), when the centralized mechanism elects 20.8 nodes in average, whereas the distributed mechanism elects 21.4 nodes in average. The difference between the two approaches becomes more prominent for larger networks (e.g., networks with 1000 sensor nodes). As the network gets denser, the distributed mechanism elects more nodes. Because nodes elect *k* nodes among their *r*-hop neighborhood it is likely that more candidates satisfy the election requirement (i.e., nodes already in the backbone or adjacent to any backbone node), incurring on more redundancy when compared to sparser networks. For the future work we intend to apply some pruning mechanism to reduce redundant backbone members.

For the second scenario, we have chosen to keep node density steady while varying the network diameter. The simulation results (Figure 7) show an increase in the total number of Backbone nodes for both mechanisms. This is due to a better distribution of sensor nodes (i.e., sparser networks). As expected, the centralized mechanism presents better results for most experiments. However, the two heuristics compare to each other in the (1, 2)-CDS and (1, 3)-CDS configurations (Figure 7 (b) and (c)). As noticed in the first scenario, as the distance parameter *r* increases, the two approaches present similar results. On the other hand, the difference between the performance for both solutions reduces compared to the first scenario.

coverage) within the selection process, and load balancing for members of the backbone (i.e., nodes should alternate roles as backbone members in order to prolong the network lifetime).

Applied Graph Theory to Improve Topology Control in Wireless Sensor Networks 449

Akyildiz, I. F., Weilian, S., Sankarasubramaniam, Y. & Cayirci, E. (2002). A survey on sensor

Akyildiz, I., Su, W., Sankarasubramaniam, Y. & Cayirci, E. (2002). A survey on sensor

Alzoubi, K. M., Wan, P.-J. & Frieder, O. (2002). Distributed heuristics for connected dominating

Bandyopadhyay, S. & Coyle, E. (2003). An energy efficient hierarchical clustering algorithm

Bao, L. & Garcia-Luna-Aceves, J. J. (2003a). Topology management in ad hoc networks,

Bao, L. & Garcia-Luna-Aceves, J. J. (2003b). Topology management in ad hoc networks,

Basu, P. & Redi, J. (2004). Movement Control Algorithms for Realization of fault Tolerant Ad

Chen, B., Jamieson, K., Balakrishnan, H. & Morris, R. (2001). Span: An energy-efficient

Chen, Y. P. & Liestman, A. L. (2002). Approximating minimum size weakly-connected

Chen, Y. P., Liestman, A. L. & Liu, J. (2004). *Ad Hoc and Sensor Networks*, Nova Science Publisher, chapter Clustering algorithms for ad hoc wireless networks. Clark, B., Colbourn, C. & Johnson, D. (1990). Unit disk graphs, *Discrete Math* 86: 165–177. Dai, F. & Wu, J. (2005). On constructing k-connected k-dominating set in wireless networks.,

Das, B. & Bharghavan, V. (1997). Routing in Ad-Hoc Networks Using Minimum Connected

Garey, M. & Johnson, D. (1978a). *Computers and Intractability: A Guide to NP-Completeness*,

Heinzelman, W. (2000). *Application-Specific Protocol Architectures for Wireless Networks*, PhD

Henning, M. A., Oellermann, O. R. & Swart, H. C. (1996). The diversity of domination, *Discrete*

Joshi, D., Radhakrishnan, S. & Narayanan, C. (1993). A fast algorithm for generalized network

location problems, *Proceedings of the ACM/SIGAPP symposium on applied computing*,

Garey, M. R. & Johnson, D. S. (1978b). *Computers and Intractability*, Freeman, San Francisco. Haynes, T. W., Hedetniemi, S. T. & Slater, P. J. (eds) (1998). *Fundamentals of Domination in*

sets in wireless ad hoc networks, *Journal of Communications and Networks* 4(1): 22–29.

*MobiHoc '03: Proceedings of the 4th ACM international symposium on mobile ad hoc*

coordination algorithm for topology maintenance in ad hoc wireless networks, *MobiCom '01: Proceedings of the 7th annual international conference on mobile computing*

dominating sets for clustering mobile ad hoc networks, *MobiHoc*, ACM Press, New

networks, *IEEE Communications Magazine* 40(8): 102–114.

networks, *IEEE Communications Magazine* 40(8): 102–114.

*MobiHoc*, ACM Press, New York, NY, USA, pp. 129–140.

*networking & computing*, ACM Press, pp. 129–140.

Hoc Robot Networks, *In IEEE Network* 18: 36–44.

*IPDPS*, IEEE Computer Society, Denver, CA, USA.

thesis, Massachusetts Institute of Technology.

*and networking*, ACM Press, pp. 85–96.

York, NY, USA, pp. 165–172.

Dominating Sets, *ICC* pp. 376–380.

Freeman, San Francisco, California.

*Graphs*, Marcel Dekker, Inc.

*Mathematics* 161(1-3): 161–173.

pp. 701–8.

for wireless sensor networks, *IEEE INFOCOM*, pp. 1713–1723.

**9. References**

Fig. 7. (k,r)-CDS results for scenario 2

### **8. Conclusion**

We presented the first centralized and distributed solutions for computing *Bounded-Distance Multi-Coverage Backbones* in Wireless Sensor Networks (WSNs). Backbones have the (k,r)-CDS properties, which include the minimum number, *k*, of nodes in the backbone covering any regular node, as well as a bounded-distance, *r*, to the covering nodes.

Given the characteristics of WSNs, redundancy is desirable. Therefore, any mechanism requiring redundancy (e.g., data gathering, routing) could take advantage of topologies with the (*k*,*r*)-CDS properties. By limiting the distance to the backbone, it could well translate to bounded-delays when accessing the backbone. In any situation, the solutions presented in this paper provide new basis for designing protocols for WSNs.

We compared the centralized and distributed mechanisms through extensive simulations using a customized simulator. Given that the centralized solution is unsuitable for WSNs, because of the incurred control overhead, it is used as a lower bound when evaluating the performance of the distributed solution. It is shown that even though the distributed solution builds larger backbones, it does not incur on much control overhead.

As future work, we are planning applying a pruning mechanism to the distributed solution during the election process. In face of that, one can expect Backbones of smaller cardinality compared to the original solution. We also plan to include other coverage metrics (e.g., area coverage) within the selection process, and load balancing for members of the backbone (i.e., nodes should alternate roles as backbone members in order to prolong the network lifetime).

### **9. References**

14 Will-be-set-by-IN-TECH

We presented the first centralized and distributed solutions for computing *Bounded-Distance Multi-Coverage Backbones* in Wireless Sensor Networks (WSNs). Backbones have the (k,r)-CDS properties, which include the minimum number, *k*, of nodes in the backbone covering any

Given the characteristics of WSNs, redundancy is desirable. Therefore, any mechanism requiring redundancy (e.g., data gathering, routing) could take advantage of topologies with the (*k*,*r*)-CDS properties. By limiting the distance to the backbone, it could well translate to bounded-delays when accessing the backbone. In any situation, the solutions presented in

We compared the centralized and distributed mechanisms through extensive simulations using a customized simulator. Given that the centralized solution is unsuitable for WSNs, because of the incurred control overhead, it is used as a lower bound when evaluating the performance of the distributed solution. It is shown that even though the distributed solution

As future work, we are planning applying a pruning mechanism to the distributed solution during the election process. In face of that, one can expect Backbones of smaller cardinality compared to the original solution. We also plan to include other coverage metrics (e.g., area

regular node, as well as a bounded-distance, *r*, to the covering nodes.

this paper provide new basis for designing protocols for WSNs.

builds larger backbones, it does not incur on much control overhead.

Fig. 7. (k,r)-CDS results for scenario 2

**8. Conclusion**


**1. Introduction**

emergence of the system behaviour.

agents that handle pallets of incompatible chemicals.

Supply chain is a set of activities involving a group of commercial actors to create a product or a service to satisfy a customer demand. The actors are the ones who form the supply chain, they are suppliers, transporters, manufacturers, distributors, retailers, customers. The

**A Dynamic Risk Management in** 

**an Interaction Network Approach** 

Omar Gaci1 and Hervé Mathieu2

*2LITIS - ISEL, Le Havre University* 

*1ISEL, Le Havre University* 

**Chemical Substances Warehouses by** 

**23**

*France* 

The Supply Chain puts in interaction a set of entities to provide to the final client the right product (or service) at the right time. Raw material suppliers, manufacturers of parts and components, assemblers, original equipment manufacturers, distributors, retailers, and customers are the main interacting entities of supply chain (SC) systems (Forrester, 1961). In this chapter, we model Supply Chain as Complex Adaptive System (CAS) (Holland, 1996). CAS postulates that the activities of the constituting entities contribute to a specific emergence which corresponds to a global behaviour. Thus, the system is composed by active and adaptive intelligent agents. Their behaviours, interactions and adaptations lead to the

We propose to study activities of storages in a warehouse of chemical substances. Then, this warehouse is subject to restriction in business processes executed every day: operators must respect a segregation strategy which consists in avoiding any mixing of incompatible chemicals. To reproduce the actions of forklift operators, we propose a Multi-Agent System which is the support of CAS modelling. Then, during agent movements for handling pallets from their reception into their storage locations, we define a dynamic graph where the vertices represent agents in activities and edges measure the distance between agents. The study of this dynamic graph shows that the average mean distance remains weak meaning that agent are often close each other. From this observation, we deduce a strategy for a dynamic risk management that gives the priority to agents whose betweenness is superior to the other

This chapter is organised as follows. In section 2, we present the main features of a Complex Adaptive Supply Chain and notably the existing support to simulate such a Supply Chain through Multi-Agent System. In section 3, we describe the existing solutions to reproduce

objective of every supply chain is to maximize total supply chain profitability.


## **A Dynamic Risk Management in Chemical Substances Warehouses by an Interaction Network Approach**

Omar Gaci1 and Hervé Mathieu2 *1ISEL, Le Havre University 2LITIS - ISEL, Le Havre University France* 

### **1. Introduction**

16 Will-be-set-by-IN-TECH

450 New Frontiers in Graph Theory

Li, X.-Y. (2003). *Ad Hoc Networking*, IEEE Press, chapter Topology Control in Wireless Ad Hoc

Margi, C. B., Petkov, V., Obraczka, K. & Manduchi, R. (2006). Characterizing energy

Paruchuri, V., Durresi, A., Durresi, M. & Barolli, L. (2005). Routing through backbone structures in sensor networks., *ICPADS*, Vol. 2, Fuduoka, Japani, pp. 397–401. Raghunathan, V., Schurgers, C., Park, S. & Srivastava, M. B. (2002). Energy-aware wireless microsensor networks, *IEEE Signal Processing Magazine,* 19(2): 40–50. Spohn, M. A. & Garcia-Luna-Aceves, J. J. (2006). Bounded-distance multi-clusterhead

Tsuchiya, P. F. (1988). The landmark hierarchy: a new hierarchy for routing in very large

Wu, J. & Dai, F. (2003). Broadcasting in ad hoc networks based on self-pruning, *IEEE*

Younis, O. & Fahmy, S. (2004). Heed: A hybrid, energy-efficient, distributed clustering

http://dx.doi.org/10.1016/j.adhoc.2006.01.005.

*protocols*, ACM Press, pp. 35–42.

*INFOCOM* pp. 2240–2250.

consumption in a visual sensor network testbed, *in Proceedings of the 2nd IEEE*

formation in wireless ad hoc networks, *Ad Hoc Networks (Elsevier)* .

networks, *SIGCOMM '88: Symposium proceedings on communications architectures and*

approach for ad hoc sensor networks, *Transactions on Mobile Computing* 3(4): 366–379.

Networks.

*TridentCom* .

Supply chain is a set of activities involving a group of commercial actors to create a product or a service to satisfy a customer demand. The actors are the ones who form the supply chain, they are suppliers, transporters, manufacturers, distributors, retailers, customers. The objective of every supply chain is to maximize total supply chain profitability.

The Supply Chain puts in interaction a set of entities to provide to the final client the right product (or service) at the right time. Raw material suppliers, manufacturers of parts and components, assemblers, original equipment manufacturers, distributors, retailers, and customers are the main interacting entities of supply chain (SC) systems (Forrester, 1961).

In this chapter, we model Supply Chain as Complex Adaptive System (CAS) (Holland, 1996). CAS postulates that the activities of the constituting entities contribute to a specific emergence which corresponds to a global behaviour. Thus, the system is composed by active and adaptive intelligent agents. Their behaviours, interactions and adaptations lead to the emergence of the system behaviour.

We propose to study activities of storages in a warehouse of chemical substances. Then, this warehouse is subject to restriction in business processes executed every day: operators must respect a segregation strategy which consists in avoiding any mixing of incompatible chemicals. To reproduce the actions of forklift operators, we propose a Multi-Agent System which is the support of CAS modelling. Then, during agent movements for handling pallets from their reception into their storage locations, we define a dynamic graph where the vertices represent agents in activities and edges measure the distance between agents. The study of this dynamic graph shows that the average mean distance remains weak meaning that agent are often close each other. From this observation, we deduce a strategy for a dynamic risk management that gives the priority to agents whose betweenness is superior to the other agents that handle pallets of incompatible chemicals.

This chapter is organised as follows. In section 2, we present the main features of a Complex Adaptive Supply Chain and notably the existing support to simulate such a Supply Chain through Multi-Agent System. In section 3, we describe the existing solutions to reproduce

Considering a CAS consists in studying non-linear phenomena, non-exhaustive knowledge, a large state numbers and dynamic changes in environment. The main challenges when we reproduce a CAS are to produce a global behaviour by emergence under unpredictable

<sup>453</sup> A Dynamic Risk Management in Chemical

In a Complex Adaptive System, CAS, a global behaviour emerges over time into a coherent form, adapting and organizing themselves without any singular entity controlling or

Complex Adaptive Systems are commonly implemented and simulated by Multi-Agent System, MAS, (Julka et al., 2002; Kwon et al., 2006; Swaminathan et al., 1997) which represents a general and flexible framework to describe and model autonomous systems including their interactions. An agent is basically a self-directed entity with its own goals and has a means to

A MAS is formed by a network of computational agents that interact and typically

The approach described by MAS consists in representing explicitly the individuals or the entities which compose the studied population. The system can then be ecological, social economic, etc. The goal is to produce a model for the entities, for the environment and for the mutual interactions. When the entities and their interactions are modelled, it remains to study

The understanding of the global MAS dynamic is viewed according to two levels, the microscopic (the study of the individual dynamics) and the macroscopic (the observation of

In (Conte, 1999), the authors propose two conceptual approaches deduced from the modelling

• The top-down approach, which enables to deduce the microscopic phenomena, the goals

• The bottom-up approach in which the hypothesis are established on the individual behaviours, their motivation or their way of interacting. The observation of their collective behavior is then compared to the macroscopic phenomena observed in the modelled system to eventually discuss the hypothesis formulated at a microscopic level (Epstein & Axtell, 1996). The bottom-up approach is specific to the most individual based models which propose such models to explain or characterize observed collective

The agents considered in MAS are used in a broad variety of applications and are defined by

The term 'agent' denotes a hardware or (more usually) software-based computer system, that

the evolution of the relation through the simulation of their collective behaviour.

or the individuals' motivations starting from the macroscopic observations;

the collective behaviour resulting of the entities interactions).

**2.1 Complex Adaptive Systems as Multi-Agent Systems**

Substances Warehouses by an Interaction Network Approach

interact or to communicate with other agent.

**2.1.1 Multi-Agent Systems**

of social phenomena:

behaviours.

**2.1.2 The agent properties**

the following way (Ferber, 1999):

has the following characteristics (Casterfranchi, 1995):

communicate with each other.

managing the global structure or node interactions (Holland, 1996).

conditions.

Fig. 1. Emergence from local interactions in Complex Adaptive Systems.

the activities of storages in a warehouse of chemical substances. In particular, we highlight the JADE framework for Multi-Agent simulations. In section 4, dangerous goods in logistics are studied and also the current regulation that warehouse must comply with. In section 5, we present our solution to reproduce the activities of storages in the studied warehouse by implementing a Multi-Agent system. In section 6, we study the dynamic graph resulting from agents handling actions and we deduce a dynamic risk management strategy.

This work is funded by German BMBF and French ANR as part of ReSCUeIT project.

### **2. Complex Adaptive Supply Chain**

The theory of Complex Adaptive Systems (CASs) is presented by Holland (Holland, 1996) as a new paradigm to study the organizations and the dynamics of multi-scale systems whose evolution and adaptability leads to a global behaviour. A CAS can be considered as a multi-agent system with seven basic elements. According to Holland, the first four concepts are aggregation, nonlinearity, flow and diversity. They represent the characters of agents and influence the adaptability and the system evolution. The last three concepts, tagging, internal models and building blocks, are specific mechanics for agents to communicate with each other and also with the environment. The environment is itself subject to evolution notably because of the agent interactions which compete or cooperate from a same resource or for achieving a specific goal. As well, since the environment changes, the agents' behaviour evolve as consequence.

The main remarkable property which characterizes a CAS is the emergence of highly structured collective behaviour over time from the interactions of simple entities (Holland, 1996). The emergence of a complex adaptive behaviour from the local interactions of the agents is illustrated in Fig. 1. Then, the CAS and its environment evolve in the same time in order to maintain themselves in a state of quasi-equilibrium.

Considering a CAS consists in studying non-linear phenomena, non-exhaustive knowledge, a large state numbers and dynamic changes in environment. The main challenges when we reproduce a CAS are to produce a global behaviour by emergence under unpredictable conditions.

### **2.1 Complex Adaptive Systems as Multi-Agent Systems**

In a Complex Adaptive System, CAS, a global behaviour emerges over time into a coherent form, adapting and organizing themselves without any singular entity controlling or managing the global structure or node interactions (Holland, 1996).

Complex Adaptive Systems are commonly implemented and simulated by Multi-Agent System, MAS, (Julka et al., 2002; Kwon et al., 2006; Swaminathan et al., 1997) which represents a general and flexible framework to describe and model autonomous systems including their interactions. An agent is basically a self-directed entity with its own goals and has a means to interact or to communicate with other agent.

### **2.1.1 Multi-Agent Systems**

2 Will-be-set-by-IN-TECH

Fig. 1. Emergence from local interactions in Complex Adaptive Systems.

agents handling actions and we deduce a dynamic risk management strategy.

**2. Complex Adaptive Supply Chain**

consequence.

This work is funded by German BMBF and French ANR as part of ReSCUeIT project.

the activities of storages in a warehouse of chemical substances. In particular, we highlight the JADE framework for Multi-Agent simulations. In section 4, dangerous goods in logistics are studied and also the current regulation that warehouse must comply with. In section 5, we present our solution to reproduce the activities of storages in the studied warehouse by implementing a Multi-Agent system. In section 6, we study the dynamic graph resulting from

The theory of Complex Adaptive Systems (CASs) is presented by Holland (Holland, 1996) as a new paradigm to study the organizations and the dynamics of multi-scale systems whose evolution and adaptability leads to a global behaviour. A CAS can be considered as a multi-agent system with seven basic elements. According to Holland, the first four concepts are aggregation, nonlinearity, flow and diversity. They represent the characters of agents and influence the adaptability and the system evolution. The last three concepts, tagging, internal models and building blocks, are specific mechanics for agents to communicate with each other and also with the environment. The environment is itself subject to evolution notably because of the agent interactions which compete or cooperate from a same resource or for achieving a specific goal. As well, since the environment changes, the agents' behaviour evolve as

The main remarkable property which characterizes a CAS is the emergence of highly structured collective behaviour over time from the interactions of simple entities (Holland, 1996). The emergence of a complex adaptive behaviour from the local interactions of the agents is illustrated in Fig. 1. Then, the CAS and its environment evolve in the same time in

order to maintain themselves in a state of quasi-equilibrium.

A MAS is formed by a network of computational agents that interact and typically communicate with each other.

The approach described by MAS consists in representing explicitly the individuals or the entities which compose the studied population. The system can then be ecological, social economic, etc. The goal is to produce a model for the entities, for the environment and for the mutual interactions. When the entities and their interactions are modelled, it remains to study the evolution of the relation through the simulation of their collective behaviour.

The understanding of the global MAS dynamic is viewed according to two levels, the microscopic (the study of the individual dynamics) and the macroscopic (the observation of the collective behaviour resulting of the entities interactions).

In (Conte, 1999), the authors propose two conceptual approaches deduced from the modelling of social phenomena:


### **2.1.2 The agent properties**

The agents considered in MAS are used in a broad variety of applications and are defined by the following way (Ferber, 1999):

The term 'agent' denotes a hardware or (more usually) software-based computer system, that has the following characteristics (Casterfranchi, 1995):

cognitive agents (Sloman & Logan, 1999). These developed models use complex, situated and communicating agents to study the behaviour of cognitive formalism (Taatgen et al.,

<sup>455</sup> A Dynamic Risk Management in Chemical

• *Application development with MAS*. Existing toolkits provide technical tools to develop software agents described in (Jennings et al., 1998). Software agents are then Semantic Web agents, Beliefs-Desires-Intention (BDI) agents in expert systems, or agents for network metamanagement. These toolkits include a development environment to implement MAS,

Further, in this chapter, software agents are used and the JADE platform is used as framework

The activities of modelling and simulating offer applications in scientific and industrial fields. These works improve the understanding and the reliability of design of various systems.

In the context of supply chain, the study of warehouse activities is motivated by the following

• test by a software a virtual version of a warehouse before implementing and using the real

In this chapter, we are interested in simulating storage activities in a warehouse of dangerous goods to evaluate the segregation policies efficiency and to propose a reliable risk

Over the years, different tools have been developed to help designers and users to model and simulate warehouse activities. Existing tools can be divided in three groups: GUI-based simulation softwares, framework libraries and specialized programming

There is few simulation tools designed for the application of supply chain activities. Among them, we can cite the commercial tools eM-Plant. It can be used for visualization, planning and optimization of production and logistics. FlexSim (*Flexsim Simulation Software*, n.d.) is another commercial software which enables fast and easy modeling, clear visualization as

The agent-based approach appears to be a powerful tool for the development of complex systems and is exploited in industrial applications (Weiming et al., 2000). This approach is used in many fields such as manufacturing, process control, telecommunication, air traffic

Among the existing agent-based applications for the simulation of supply chain activities, we

control, transportation systems, information management, electronic commerce, etc.

• simulate the warehouse activities to improve business or security procedures;

n.d.; Wray & Jones, n.d.).

for the development.

goals:

system;

it can be considered equivalent to a simulation engine.

Substances Warehouses by an Interaction Network Approach

**3. Multi-Agent System to study warehouse activities**

• collect information to support discussion with the customer;

• generate reproducible error situations.

languages (Colla & Nastasi, 2010).

well as reuseability of models.

management to maintain these segregation strategies.

can cite Repast, SeSAm, NetLogo, SDML or AnyLogic.

**3.1 Existing softwares in warehouse simulations**


### **2.1.3 The type of agents**

Agents are defined by their capacities and according to these properties, different levels of complexity characterize agents. Such complexity depends on the task that agents have to carry out and on the environment surrounding them. In (Ferber, 1999), agents are classified according to their architectures:


#### **2.1.4 Applications of Multi-Agent Systems**

MAS are commonly exploited to model and simulate one of the three followings types of applications:


4 Will-be-set-by-IN-TECH

• *Autonomy*: an agent acts without any intervention from its environment and possesses

• *Social ability*: an agent interacts and communicates with other agents using a specific

Agents are defined by their capacities and according to these properties, different levels of complexity characterize agents. Such complexity depends on the task that agents have to carry out and on the environment surrounding them. In (Ferber, 1999), agents are classified

• *Simple reflex agents*: These agents are basic because their actions depend on stimulus. Their act are then subject to specific conditions. The past is not considered and none memory

• *Model-based reflex agents*: These agents cannot perceive their whole environment but keep track of their environment they cannot currently observe. Then, they possesses an internal representation of their environment called 'model of the world' to evaluate the environment evolution and the impact of the agent's actions on this environment. These agents select their action according to condition-action rules. The conditions only depends

on the model of the world, and not on the current perception of the environment. • *Model-based, goal-based agents*: These agents have goals describing desirable situations to choose an action because the current state of the model of the world is not always enough to select an action efficiently. The model of the world represents a state from which the agents evaluate how the world would be after an action. The action is chosen in order to the agent goals are satisfied and the model of the world state is a parameter taken into

MAS are commonly exploited to model and simulate one of the three followings types of

• *MAS for studying complexity*. These studies regroup social models such as the segregation model of Schelling (Schelling, 1971) artificial life simulation with the Sugarscape (Epstein & Axtell, 1996) and Reynold's Boids models (Reynolds, 1971) and also logistics models (for example traffic simulations (Burmeister et al., 1997)). These models are built with simple reactive agents and a set of rules without any need of resource planning or coordination. The simulations are monitored relying on qualitative measures (emergent communities, emergent flocking, emergent behaviour) and/or quantitative (average generation, average agent movements, average awaiting time). These models are then

• *MAS for studying Distributed Intelligence*. These studies are relative to planning (Pollack & Ringuette, 1990) and particularly cognitive social interactions Doran (n.d.); Gilbert (2005); Sun (2001). The main goal is to reproduce human cognition through

studied as well from a top-down approach than with a bottom-up approach.

• *Reactivity*: an agent perceives its environment and is able to answer to any solicitations; • *Pro-activeness*: an agent is not only reactive to a stimulus from its environment, it is also

able to exhibit goal-directed behaviour by taking the initiative.

rules to control its action and internal states;

agent-communication language;

**2.1.3 The type of agents**

account.

applications:

according to their architectures:

influence the present reactions.

**2.1.4 Applications of Multi-Agent Systems**

cognitive agents (Sloman & Logan, 1999). These developed models use complex, situated and communicating agents to study the behaviour of cognitive formalism (Taatgen et al., n.d.; Wray & Jones, n.d.).

• *Application development with MAS*. Existing toolkits provide technical tools to develop software agents described in (Jennings et al., 1998). Software agents are then Semantic Web agents, Beliefs-Desires-Intention (BDI) agents in expert systems, or agents for network metamanagement. These toolkits include a development environment to implement MAS, it can be considered equivalent to a simulation engine.

Further, in this chapter, software agents are used and the JADE platform is used as framework for the development.

### **3. Multi-Agent System to study warehouse activities**

The activities of modelling and simulating offer applications in scientific and industrial fields. These works improve the understanding and the reliability of design of various systems.

In the context of supply chain, the study of warehouse activities is motivated by the following goals:


In this chapter, we are interested in simulating storage activities in a warehouse of dangerous goods to evaluate the segregation policies efficiency and to propose a reliable risk management to maintain these segregation strategies.

### **3.1 Existing softwares in warehouse simulations**

Over the years, different tools have been developed to help designers and users to model and simulate warehouse activities. Existing tools can be divided in three groups: GUI-based simulation softwares, framework libraries and specialized programming languages (Colla & Nastasi, 2010).

There is few simulation tools designed for the application of supply chain activities. Among them, we can cite the commercial tools eM-Plant. It can be used for visualization, planning and optimization of production and logistics. FlexSim (*Flexsim Simulation Software*, n.d.) is another commercial software which enables fast and easy modeling, clear visualization as well as reuseability of models.

The agent-based approach appears to be a powerful tool for the development of complex systems and is exploited in industrial applications (Weiming et al., 2000). This approach is used in many fields such as manufacturing, process control, telecommunication, air traffic control, transportation systems, information management, electronic commerce, etc.

Among the existing agent-based applications for the simulation of supply chain activities, we can cite Repast, SeSAm, NetLogo, SDML or AnyLogic.

is able to communicate with the other and possesses a queue for sending and receiving messages. An agent instance represents a container for the agent internal structure. The JADE agent platform is a middle-ware that complies with the specifications of the Foundation for

<sup>457</sup> A Dynamic Risk Management in Chemical

JADE is a software development framework fully implemented in JAVA language aiming at the development of multi-agent systems and applications that comply with FIPA standards for intelligent agents (Bellifemine, Caire & Greenwood, 2007). JADE is an agent framework

• *A distributed agent platform*. The platform can be easily shared and hosted in different

• *FIPA-Compliant agent platform*. This means that the platform provides a set of functionalities such as Agent Management System, a Directory Facilitator and an Agent Communication

• *Communication with ACL messages*. The standard ACL ensures efficiently in the message

Communication of agents consists in sending and receiving messages, the FIPA ACL language is used to represent the messages. Each agent possesses an incoming message box and messages can be blocking or nonblocking during a determined blocking time. As well, JADE offers the possibility of filtering messages: it is possible to utilize advanced filters relative to

To build agent conversations, FIPA defines a set of standard interaction protocols such as FIPA-request and FIPA-query that can be exploited as standard for agent communication. When a conversation starts between two agents, JADE distinguishes two roles: the initiator who is the agent that starts the conversation and the responder who communicates with the previous one. This protocol architecture implies that the initiator sends a message and the responder can potentially reply by refusing the message indicating the incapability to continue with the conversation. The responder can also answer with a agreed message indicating that the communication between the two agents is established and can continue. After receiving a message, the responder performs potentially an action and must send back a message to describe such an action. In case that the action has failed, a failure message indicates that the action was not successful. JADE provides behaviour for initiator and responder roles according to FIPA interaction protocols. Then, the classes *AchieveREInitiator* and *Responder* provides homogeneous implementation of interaction protocols with methods for handling

In JADE, agents actions or missions are implemented by the implementation of *behaviours*. These behaviours are defined as threads that can be composed or not, and allows agents to achieve their intentions. Such behaviours can be initialized, suspended and spawned at any given time. Then, the agents possess an action list that is executed through their behaviours. The JADE platform uses one thread per agent and not one thread per behaviour due to resource concerns (the number of running threads is limited). As well, a scheduler (unreachable for developers) organizes via a round-robin strategy the behaviours already created and instantiated in the queue. The coding of a behaviour offers the possibility of

Intelligent Physical Agents (FIPA) (Bellifemine, Caire, Trucco & Rimassa, 2007).

and provides then a set of technical features to the development of MAS such as:

machines when each machine possesses its own Java Virtual Machine;

different fields of the incoming message such as sender or ontology.

**3.3 JADE platform for warehouse activities simulations**

Substances Warehouses by an Interaction Network Approach

Channel;

transport between agents.

the different communication phases.

Fig. 2. Description of Agent Framework.

### **3.2 Existing frameworks for Multi-Agent warehouse simulations**

It exists many different types of frameworks dedicated to the agent development. They are built from different theories and principles and allows then their classification. The definition of an agent framework is the following: an agent framework is a dedicated structure or platform to the development of software agents and based on a specific technical architecture.

An agent framework covers a set of missions relative to agents development, platform development, agent architecture and agent behaviour models as shown by Fig. 2. Then, an agent development platform is a structure which encompasses and support the entire life cycle of agents and provide in the same time a communication interface for agent interaction. This agent development platform commonly provides an API that defines the manner an agent communicate within the platform (Bellifemine, Caire, Trucco & Rimassa, 2007). As well, the agent architecture constitutes itself a framework for creating behaviour models. A behaviour model represents the architecture content and usually represents different forms of knowledge. The behaviour can be viewed as the result of the architecture and its content (Lehman et al., 2006).

The Java Agent Development Environment (JADE) is an agent platform used further in this chapter to implement a Multi-Agent System. JADE is a platform for the creation of MAS and contains a message transport system (MTS). This MTS, constitutes a network interface for developing distributed agent networks. As well, an Agent Management System (AMS) is available and allows the supervising of agent access control to the MTS and a directory facilitator (DF) for creating distributed services. In JADE, an agent is an instant that runs in the agent platform, then the agent has a determined life cycle by the AMS. Each agent 6 Will-be-set-by-IN-TECH

Fig. 2. Description of Agent Framework.

(Lehman et al., 2006).

**3.2 Existing frameworks for Multi-Agent warehouse simulations**

It exists many different types of frameworks dedicated to the agent development. They are built from different theories and principles and allows then their classification. The definition of an agent framework is the following: an agent framework is a dedicated structure or platform to the development of software agents and based on a specific technical architecture. An agent framework covers a set of missions relative to agents development, platform development, agent architecture and agent behaviour models as shown by Fig. 2. Then, an agent development platform is a structure which encompasses and support the entire life cycle of agents and provide in the same time a communication interface for agent interaction. This agent development platform commonly provides an API that defines the manner an agent communicate within the platform (Bellifemine, Caire, Trucco & Rimassa, 2007). As well, the agent architecture constitutes itself a framework for creating behaviour models. A behaviour model represents the architecture content and usually represents different forms of knowledge. The behaviour can be viewed as the result of the architecture and its content

The Java Agent Development Environment (JADE) is an agent platform used further in this chapter to implement a Multi-Agent System. JADE is a platform for the creation of MAS and contains a message transport system (MTS). This MTS, constitutes a network interface for developing distributed agent networks. As well, an Agent Management System (AMS) is available and allows the supervising of agent access control to the MTS and a directory facilitator (DF) for creating distributed services. In JADE, an agent is an instant that runs in the agent platform, then the agent has a determined life cycle by the AMS. Each agent

is able to communicate with the other and possesses a queue for sending and receiving messages. An agent instance represents a container for the agent internal structure. The JADE agent platform is a middle-ware that complies with the specifications of the Foundation for Intelligent Physical Agents (FIPA) (Bellifemine, Caire, Trucco & Rimassa, 2007).

### **3.3 JADE platform for warehouse activities simulations**

JADE is a software development framework fully implemented in JAVA language aiming at the development of multi-agent systems and applications that comply with FIPA standards for intelligent agents (Bellifemine, Caire & Greenwood, 2007). JADE is an agent framework and provides then a set of technical features to the development of MAS such as:


Communication of agents consists in sending and receiving messages, the FIPA ACL language is used to represent the messages. Each agent possesses an incoming message box and messages can be blocking or nonblocking during a determined blocking time. As well, JADE offers the possibility of filtering messages: it is possible to utilize advanced filters relative to different fields of the incoming message such as sender or ontology.

To build agent conversations, FIPA defines a set of standard interaction protocols such as FIPA-request and FIPA-query that can be exploited as standard for agent communication. When a conversation starts between two agents, JADE distinguishes two roles: the initiator who is the agent that starts the conversation and the responder who communicates with the previous one. This protocol architecture implies that the initiator sends a message and the responder can potentially reply by refusing the message indicating the incapability to continue with the conversation. The responder can also answer with a agreed message indicating that the communication between the two agents is established and can continue. After receiving a message, the responder performs potentially an action and must send back a message to describe such an action. In case that the action has failed, a failure message indicates that the action was not successful. JADE provides behaviour for initiator and responder roles according to FIPA interaction protocols. Then, the classes *AchieveREInitiator* and *Responder* provides homogeneous implementation of interaction protocols with methods for handling the different communication phases.

In JADE, agents actions or missions are implemented by the implementation of *behaviours*. These behaviours are defined as threads that can be composed or not, and allows agents to achieve their intentions. Such behaviours can be initialized, suspended and spawned at any given time. Then, the agents possess an action list that is executed through their behaviours. The JADE platform uses one thread per agent and not one thread per behaviour due to resource concerns (the number of running threads is limited). As well, a scheduler (unreachable for developers) organizes via a round-robin strategy the behaviours already created and instantiated in the queue. The coding of a behaviour offers the possibility of

**4.1.2 Terminology**

substances into a new one is called mixture.

Substances Warehouses by an Interaction Network Approach

**4.1.3 Classification of substances**

• 16 categories for physical hazards; • 10 categories for health hazards;

• 2 categories for environmental hazards.

following information (called labelling elements):

• the quantity of the substance in the packages;

• appropriate precautionary statements;

packages or hazard pictograms, see Fig. 3.

• supplemental information.

packaging of substances.

health and the environment.

hazardous to the ozone layer.

**4.1.4 Labelling**

• hazard pictograms;

• signal word; • hazard statements;

A new terminology is used, terms of existing regulation are kept whereas news are adopted. The term substance is used to designed hazardous material and the transformation of these

<sup>459</sup> A Dynamic Risk Management in Chemical

As well, the properties of substances are described according to three properties: physicocochemical, toxicological and ecotoxicological. According to these three criterion, the definition of hazard classes helps to classify a substance. Then, a hazard class defines the

CLP possesses specific criteria of classifications that are rules that allow associating a substance to a class of hazard or a category in this class. In particular, the classification process is based on the substance concentrations to establish the effects of those substances on the

For example, the physical hazards regroup explosives, flammable gases, solids, aerosols, liquids. The health hazards are relative to acute toxicity, skin corrosion, irritation and sensitization. The environmental hazards address hazardous to the aquatic environment and

A substance contained in packaging should be labelled according to the CLP rules with the

A substance contained in packaging is labelled according to the CLP rules and contains a set of information such as name of the supplier of the substance, quantity of the substance in the

The CLP regulation helps then the identification of chemical substances through the supply chain since it provides a standard framework for the classification, the labelling and the

• the name, address and telephone number of the supplier of the substance;

nature of a hazard, it can be physical, on health or on the environment.

CLP defines three hazard classes and 28 categories, such as:

releasing the execution control when blocking mechanisms are used. The behaviours are executed in the method action().

The behaviour of agents is defined by a *Behaviour* class that can be specialized to defines a set of other behaviours. A behaviour is composed by several methods so that it is possible to describe the different state transitions. From this root behaviour, children behaviours can be deduced and notably the *SimpleBehaviour* and *CompositeBehaviour*. Behaviours that specialize or descend from *SimpleBehaviour* represent atomic simple tasks that can be executed several times according to the developer coding. As well, behaviours from *CompositeBehaviour*, are able to use multiple behaviours according to the children behaviours. Then, the agent tasks are executed not directly through the current behaviour but inside its children behaviours. For that purpose, the *FSMBehaviour* class executes the children behaviours. The *FSMBehaviour* class is able to maintain the transitions between states and to select the state coming after the current one. It is possible to register some of the children of an *FSMBehaviour* as final states. This type of behaviours terminates once one of its children has finished its execution.

### **4. Dangerous goods in logistics**

A good is considered as dangerous when it may present a danger on the population, the environment or on the infrastructures according to its physicochemical properties or because of the reactions it can imply. A dangerous good can be flammable, toxic, explosive, corrosive or radioactive. According to the new CLP regulation, dangerous goods are considered as chemical substances in the European Union.

### **4.1 Dangerous goods identification**

Considering the important number of substances, there is a clear need for dangerous goods classification. Amongst the existing classification of dangerous goods, the following distinctions exist:


We remark that the vocabulary becomes quickly specialized. To avoid this technical aspect, the dangerous goods are described in function of their reactions. Thus, the danger that represents the manipulation of dangerous goods depends on the properties of each product. Some goods represent only one risk whereas others regroup several.

The CLP (Classification, Labelling, Packaging) regulation is relative to the chemical substances imported or commercialized in the European Union. This regulation entered into force in January 2009 and will be totally applied in 2015.

### **4.1.1 Obligations under CLP**

CLP provides a global obligation for all suppliers in the supply chain to cooperate. This cooperation is necessary to make the different suppliers meet the requirements for classification, labelling and packaging.

### **4.1.2 Terminology**

8 Will-be-set-by-IN-TECH

releasing the execution control when blocking mechanisms are used. The behaviours are

The behaviour of agents is defined by a *Behaviour* class that can be specialized to defines a set of other behaviours. A behaviour is composed by several methods so that it is possible to describe the different state transitions. From this root behaviour, children behaviours can be deduced and notably the *SimpleBehaviour* and *CompositeBehaviour*. Behaviours that specialize or descend from *SimpleBehaviour* represent atomic simple tasks that can be executed several times according to the developer coding. As well, behaviours from *CompositeBehaviour*, are able to use multiple behaviours according to the children behaviours. Then, the agent tasks are executed not directly through the current behaviour but inside its children behaviours. For that purpose, the *FSMBehaviour* class executes the children behaviours. The *FSMBehaviour* class is able to maintain the transitions between states and to select the state coming after the current one. It is possible to register some of the children of an *FSMBehaviour* as final states.

This type of behaviours terminates once one of its children has finished its execution.

A good is considered as dangerous when it may present a danger on the population, the environment or on the infrastructures according to its physicochemical properties or because of the reactions it can imply. A dangerous good can be flammable, toxic, explosive, corrosive or radioactive. According to the new CLP regulation, dangerous goods are considered as

Considering the important number of substances, there is a clear need for dangerous goods classification. Amongst the existing classification of dangerous goods, the following

We remark that the vocabulary becomes quickly specialized. To avoid this technical aspect, the dangerous goods are described in function of their reactions. Thus, the danger that represents the manipulation of dangerous goods depends on the properties of each product. Some goods

The CLP (Classification, Labelling, Packaging) regulation is relative to the chemical substances imported or commercialized in the European Union. This regulation entered into force in

CLP provides a global obligation for all suppliers in the supply chain to cooperate. This cooperation is necessary to make the different suppliers meet the requirements for

executed in the method action().

**4. Dangerous goods in logistics**

**4.1 Dangerous goods identification**

distinctions exist:

chemical substances in the European Union.

• chemical family (acid, alcohol, amide, etc.);

• chemical reaction (oxidation, reduction, combustion).

represent only one risk whereas others regroup several.

January 2009 and will be totally applied in 2015.

**4.1.1 Obligations under CLP**

classification, labelling and packaging.

A new terminology is used, terms of existing regulation are kept whereas news are adopted. The term substance is used to designed hazardous material and the transformation of these substances into a new one is called mixture.

As well, the properties of substances are described according to three properties: physicocochemical, toxicological and ecotoxicological. According to these three criterion, the definition of hazard classes helps to classify a substance. Then, a hazard class defines the nature of a hazard, it can be physical, on health or on the environment.

### **4.1.3 Classification of substances**

CLP possesses specific criteria of classifications that are rules that allow associating a substance to a class of hazard or a category in this class. In particular, the classification process is based on the substance concentrations to establish the effects of those substances on the health and the environment.

CLP defines three hazard classes and 28 categories, such as:


For example, the physical hazards regroup explosives, flammable gases, solids, aerosols, liquids. The health hazards are relative to acute toxicity, skin corrosion, irritation and sensitization. The environmental hazards address hazardous to the aquatic environment and hazardous to the ozone layer.

### **4.1.4 Labelling**

A substance contained in packaging should be labelled according to the CLP rules with the following information (called labelling elements):


A substance contained in packaging is labelled according to the CLP rules and contains a set of information such as name of the supplier of the substance, quantity of the substance in the packages or hazard pictograms, see Fig. 3.

The CLP regulation helps then the identification of chemical substances through the supply chain since it provides a standard framework for the classification, the labelling and the packaging of substances.

Fig. 4. Identification of compatibilities between dangerous goods. The letter F means inflammable, F+ means very inflammable, T means toxic, Xi means very irritant, means O

**5. Simulation of warehouse activities by a Multi-Agent System implemented with**

<sup>461</sup> A Dynamic Risk Management in Chemical

Substances Warehouses by an Interaction Network Approach

Agent considered represent forklift drivers and the warehouse structure is then the agent environment. Fig. 5 shows the warehouse architecture which is composed of a forklift base,

Forklift agents are simple reactive agents that are positioned in their base and wait for a message from the central warehouse scheduler. This scheduler is actually a random generator which creates truck arrivals and sends messages to forklift driver agents so that they go to docks to unload the truck. Once the truck is completely unloaded, forklift driver agents

As shown by Fig. 6, agents react and communicate through messages. Firstly, agents are in their base and when they receive a message *GoToDock* they receive also the dock number and they consecutively move according to the *moveToDock(dockNum)* method. The agent motion follows warehouse corridors and this method provides to agents the set of corridors to use in order to reach the dock number *dockNum*. When the agents is in position, he confirms his position to the centralized scheduler and replies a message *atDock-DockNum*. This means that he is operational and the scheduler communicates with him to ask him to begin the unloading with an *Unload* message. If the scheduler has sent another message type, the agent would move back to the base. To unload the truck, the agent executes the *unloadTruck* method and confirms the end of handling operations with a message *EmptyT-dockNum*. Once more, the scheduler can choose to call back the agent to the base or to send him a message *Storage* so that the agent uses the method *storePalletsFrom(dockNum)*. This last method indicates to the

oxidizing, Xn means noxious, N means polluting and C means corrosive.

corridors, docks where pallets are temporally stored and five racks.

continue their actions and store pallets in their rack position.

**JADE**

**5.1 Forklift agent**

Fig. 3. Pictograms used in CLP regulation.

#### **4.2 Dangerous goods storage**

Among dangerous goods, products can react violently when they are in contact. For these reasons, they must be stored in separate places. The strategy of storage consists in avoiding incompatible products to be neighbours. To avoid any storage of incompatible goods and risks of chemical reactions in case of wrong manipulation, segregation policies are established. Fig. 4, summarizes the incompatibilities between chemical substances.

Segregation policies in dangerous good warehouses consist in storing products according to their physicochemical properties. This strategy is static and doesn't take into account the possible movements of incompatible goods (by forklifts for example) that can be present in the same place at the same time.

The segregation can be achieved by the use of an impervious barrier or by a separation distance sufficient to prevent mixing. The segregation policies are also subject to constraint storages. According to the nature of goods, specific storage conditions must be respected. Among storage constraints, we can cite the most obvious such as storage conditions (humidity, heat and light). The respect of these constraints is ensured by safety equipments: sprinkler, smoke detector, particles detector or temperature probe.

Consequently, to make a warehouse of dangerous goods secured, different types of safety equipments are needed and a reliable segregation is used. In this chapter, we propose to simulate such a warehouse and to study the emergent collective behaviour of the MAS constituted by the warehouse actors.


Fig. 4. Identification of compatibilities between dangerous goods. The letter F means inflammable, F+ means very inflammable, T means toxic, Xi means very irritant, means O oxidizing, Xn means noxious, N means polluting and C means corrosive.

### **5. Simulation of warehouse activities by a Multi-Agent System implemented with JADE**

Agent considered represent forklift drivers and the warehouse structure is then the agent environment. Fig. 5 shows the warehouse architecture which is composed of a forklift base, corridors, docks where pallets are temporally stored and five racks.

### **5.1 Forklift agent**

10 Will-be-set-by-IN-TECH

Among dangerous goods, products can react violently when they are in contact. For these reasons, they must be stored in separate places. The strategy of storage consists in avoiding incompatible products to be neighbours. To avoid any storage of incompatible goods and risks of chemical reactions in case of wrong manipulation, segregation policies are established.

Segregation policies in dangerous good warehouses consist in storing products according to their physicochemical properties. This strategy is static and doesn't take into account the possible movements of incompatible goods (by forklifts for example) that can be present in

The segregation can be achieved by the use of an impervious barrier or by a separation distance sufficient to prevent mixing. The segregation policies are also subject to constraint storages. According to the nature of goods, specific storage conditions must be respected. Among storage constraints, we can cite the most obvious such as storage conditions (humidity, heat and light). The respect of these constraints is ensured by safety equipments: sprinkler,

Consequently, to make a warehouse of dangerous goods secured, different types of safety equipments are needed and a reliable segregation is used. In this chapter, we propose to simulate such a warehouse and to study the emergent collective behaviour of the MAS

Fig. 4, summarizes the incompatibilities between chemical substances.

smoke detector, particles detector or temperature probe.

Fig. 3. Pictograms used in CLP regulation.

**4.2 Dangerous goods storage**

the same place at the same time.

constituted by the warehouse actors.

Forklift agents are simple reactive agents that are positioned in their base and wait for a message from the central warehouse scheduler. This scheduler is actually a random generator which creates truck arrivals and sends messages to forklift driver agents so that they go to docks to unload the truck. Once the truck is completely unloaded, forklift driver agents continue their actions and store pallets in their rack position.

As shown by Fig. 6, agents react and communicate through messages. Firstly, agents are in their base and when they receive a message *GoToDock* they receive also the dock number and they consecutively move according to the *moveToDock(dockNum)* method. The agent motion follows warehouse corridors and this method provides to agents the set of corridors to use in order to reach the dock number *dockNum*. When the agents is in position, he confirms his position to the centralized scheduler and replies a message *atDock-DockNum*. This means that he is operational and the scheduler communicates with him to ask him to begin the unloading with an *Unload* message. If the scheduler has sent another message type, the agent would move back to the base. To unload the truck, the agent executes the *unloadTruck* method and confirms the end of handling operations with a message *EmptyT-dockNum*. Once more, the scheduler can choose to call back the agent to the base or to send him a message *Storage* so that the agent uses the method *storePalletsFrom(dockNum)*. This last method indicates to the

Fig. 6. Behaviour of forklift agents. They react after receiving messages and confirm their

<sup>463</sup> A Dynamic Risk Management in Chemical

Substances Warehouses by an Interaction Network Approach

action by replying.

Fig. 5. Representation of the studied warehouse. Agents are located in their base and follow corridors to go to docks or racks.

agents the corridors to follow until the storage place in rack. When, the agent finishes the storage of pallets, he sends a message *StoredP-DockNum* and move back to his base.

The forklift driver agents evolve in a warehouse which represents their environment. They interact with a set of objects enumerated in the class diagram presented in Fig. 7. As shown, a forklift agent is a software agent defined according to an *ID* which is typically a number. His position is monitored in two dimensions and the current *Corridor* where he is evolving is given. As well, the *status* variable provides a means to know if the agent is in activity or if he is waiting in the base. In the class *Pallets*, the *hazardType* attribute gives the type of dangerous goods present on the pallet and it is the same for *Racks* that stores only restricted types of dangerous goods.

### **6. An interaction network approach for a dynamic risk management**

The interaction network approach proposed in this section consists in monitoring in real-time the forklift agent movements and to detect a risk of incompatible chemicals mixing. To achieve such a goal, the warehouse is viewed as a dynamic graph where forklift agents who are active in the warehouse represent vertices that can be removed when they move back to their base. Edges link the vertices which represent agents and are weighted by the euclidean distance between agents in the warehouse. By this way, it is possible to consider a dynamic graph that puts in interaction forklift agents whose edges represent distance between them. The goal is then to detect the risk of incompatible chemicals mixing when the distance between agents is insufficient.

12 Will-be-set-by-IN-TECH

Fig. 5. Representation of the studied warehouse. Agents are located in their base and follow

agents the corridors to follow until the storage place in rack. When, the agent finishes the

The forklift driver agents evolve in a warehouse which represents their environment. They interact with a set of objects enumerated in the class diagram presented in Fig. 7. As shown, a forklift agent is a software agent defined according to an *ID* which is typically a number. His position is monitored in two dimensions and the current *Corridor* where he is evolving is given. As well, the *status* variable provides a means to know if the agent is in activity or if he is waiting in the base. In the class *Pallets*, the *hazardType* attribute gives the type of dangerous goods present on the pallet and it is the same for *Racks* that stores only restricted types of

The interaction network approach proposed in this section consists in monitoring in real-time the forklift agent movements and to detect a risk of incompatible chemicals mixing. To achieve such a goal, the warehouse is viewed as a dynamic graph where forklift agents who are active in the warehouse represent vertices that can be removed when they move back to their base. Edges link the vertices which represent agents and are weighted by the euclidean distance between agents in the warehouse. By this way, it is possible to consider a dynamic graph that puts in interaction forklift agents whose edges represent distance between them. The goal is then to detect the risk of incompatible chemicals mixing when the distance between agents is

storage of pallets, he sends a message *StoredP-DockNum* and move back to his base.

**6. An interaction network approach for a dynamic risk management**

corridors to go to docks or racks.

dangerous goods.

insufficient.

Fig. 6. Behaviour of forklift agents. They react after receiving messages and confirm their action by replying.

studying the graph topology evolutions relying on dynamical metrics able to describe the

<sup>465</sup> A Dynamic Risk Management in Chemical

A graph *G* is formally defined by *G* = (*V*; *E*) where *V* is the finite set of vertices and *E* is the

Let *f* be a function defined on the vertex set as *f* : *V* → *N*, then the triple *G* = (*V*; *E*; *f*) is a node weighted graph. As well, let *g* be the function defined on the edge set as *f* : *E* → *N*, the

In (Harary & Gupta, 1997), the authors classify the dynamic graphs as a function of the graph

Different graph measures allow characterizing graphs. Here, the proposed metrics provide measures for global description and also for individual vertices so that it is possible to identify

The distance in a graph *G* = (*V*, *E*) between two vertices *u*, *v* ∈ *V*, denoted by *d*(*u*, *v*), is the

*D* = max{*d*(*u*, *v*) : *u*, *v* ∈ *V*}

A graph diameter, *D*, is the longest shortest path between any two vertices of a graph:

The mean distance is defined as the average distance between each couple of vertices:

*<sup>n</sup>*(*<sup>n</sup>* <sup>−</sup> <sup>1</sup>) <sup>∑</sup>

A degree of a vertex *u*, *ku*, is the number of edges incident to *u*. The mean degree, *z*, of a graph

*u*,*v*∈*V*

*ku* <sup>=</sup> <sup>2</sup>*<sup>m</sup> n*

*d*(*u*, *v*)

*<sup>L</sup>* <sup>=</sup> <sup>2</sup>

*<sup>z</sup>* <sup>=</sup> <sup>1</sup> *<sup>n</sup>* ∑ *u*∈*V*

Now, we give some graph theory definitions to propose a definition of dynamic graphs.

finite set of edges each being an unordered pair of distinct vertices.

• Node dynamic graphs, the vertex set *V* changes over time • Edge dynamic graphs, the edge set *E* is modified over time • Node weighted dynamic graphs, the *f* function evolves over time • Edge weighted dynamic graphs, the *g* function varies over time

the influence of a vertex in the modelled warehouse.

length of the shortest path connecting *u* and *v*.

graph properties when it evolves over time.

Substances Warehouses by an Interaction Network Approach

triple *G* = (*V*; *E*; *g*) is an edge weighted graph.

evolution:

**6.2 Graph metrics**

**6.2.2 Mean degree**

*G* is defined as follows:

**6.2.1 Distance and diameter**

Fig. 7. Classes used to reproduce the activities of storage in a warehouse of chemical substances.

### **6.1 Dynamic graphs**

Many systems, both natural and artificial, can be represented by networks, that is by sites or vertices bound by links. The study of these networks is interdisciplinary because they appear in scientific fields like physics, biology, computer science or information technology. The purpose of these studies is to explain how elements interact inside the network and what are the general laws which govern the observed network properties.

From physics and computer science to biology and the social sciences, researchers have found that a broad variety of systems can be represented as networks, and that there is much to be learned by studying these networks (Broder et al., 2000). Indeed, the study of the Web (Albert et al., 1999), of social networks (Wasserman & Faust, 1994) or of metabolic networks (Jeong et al., 2000) are contribute to put in light common non-trivial properties to these networks which have *a priori* nothing in common. The ambition is to understand how the large networks are structured, how they evolve and what are the phenomenon acting on their constitution and formation (Watts & Strogatz, 1998).

Nevertheless, to study the dynamic of a phenomenon through a graph, we need tools able to describe the graph topology evolution over time. The works relative to random graphs (Erdos & Rényi, 1959) provide a generic dynamic model which describe graphs whose edges are added according to a specific probability.

More recently, the interest for dynamic graphs has increased notably because of their potential application in communication, urban traffic or social sciences. The dynamic graphs allow studying the graph topology evolutions relying on dynamical metrics able to describe the graph properties when it evolves over time.

Now, we give some graph theory definitions to propose a definition of dynamic graphs.

A graph *G* is formally defined by *G* = (*V*; *E*) where *V* is the finite set of vertices and *E* is the finite set of edges each being an unordered pair of distinct vertices.

Let *f* be a function defined on the vertex set as *f* : *V* → *N*, then the triple *G* = (*V*; *E*; *f*) is a node weighted graph. As well, let *g* be the function defined on the edge set as *f* : *E* → *N*, the triple *G* = (*V*; *E*; *g*) is an edge weighted graph.

In (Harary & Gupta, 1997), the authors classify the dynamic graphs as a function of the graph evolution:


#### **6.2 Graph metrics**

14 Will-be-set-by-IN-TECH

Fig. 7. Classes used to reproduce the activities of storage in a warehouse of chemical

are the general laws which govern the observed network properties.

their constitution and formation (Watts & Strogatz, 1998).

are added according to a specific probability.

Many systems, both natural and artificial, can be represented by networks, that is by sites or vertices bound by links. The study of these networks is interdisciplinary because they appear in scientific fields like physics, biology, computer science or information technology. The purpose of these studies is to explain how elements interact inside the network and what

From physics and computer science to biology and the social sciences, researchers have found that a broad variety of systems can be represented as networks, and that there is much to be learned by studying these networks (Broder et al., 2000). Indeed, the study of the Web (Albert et al., 1999), of social networks (Wasserman & Faust, 1994) or of metabolic networks (Jeong et al., 2000) are contribute to put in light common non-trivial properties to these networks which have *a priori* nothing in common. The ambition is to understand how the large networks are structured, how they evolve and what are the phenomenon acting on

Nevertheless, to study the dynamic of a phenomenon through a graph, we need tools able to describe the graph topology evolution over time. The works relative to random graphs (Erdos & Rényi, 1959) provide a generic dynamic model which describe graphs whose edges

More recently, the interest for dynamic graphs has increased notably because of their potential application in communication, urban traffic or social sciences. The dynamic graphs allow

substances.

**6.1 Dynamic graphs**

Different graph measures allow characterizing graphs. Here, the proposed metrics provide measures for global description and also for individual vertices so that it is possible to identify the influence of a vertex in the modelled warehouse.

#### **6.2.1 Distance and diameter**

The distance in a graph *G* = (*V*, *E*) between two vertices *u*, *v* ∈ *V*, denoted by *d*(*u*, *v*), is the length of the shortest path connecting *u* and *v*.

A graph diameter, *D*, is the longest shortest path between any two vertices of a graph:

$$D = \max\{d(u, v) : u, v \in V\}$$

The mean distance is defined as the average distance between each couple of vertices:

$$L = \frac{2}{n(n-1)} \sum\_{\mu, v \in V} d(\mu, v)$$

#### **6.2.2 Mean degree**

A degree of a vertex *u*, *ku*, is the number of edges incident to *u*. The mean degree, *z*, of a graph *G* is defined as follows:

$$z = \frac{1}{n} \sum\_{\mu \in V} k\_{\mu} = \frac{2m}{n}$$

0

Fig. 9. Mean degree of the resulting graph from agent activities.

0 25 50 75 100

<sup>467</sup> A Dynamic Risk Management in Chemical

Mean degree

Time

This first study about the dynamic graph resulting from agents handling operations put in evidence that they are not all present in same time in the warehouse. The average distance

Our goal is to develop a dynamic risk management strategy to maintain a segregation during the agent movements. In front of results presented above, we deduce a strategy presented in Algorithm 1. Then, when two agents are present in the same corridor, the type of handled goods determines if these forklift agents can share this corridor. In case that incompatible products are transported by agents, a topological measure is exploited, typically the node betweenness, to determine the priority between these agents. We consider that the agent

�

*<sup>a</sup>*) *are incompatible* **then**

between agents is still weak in front of the upper bond expressed by the diameter.

**Algorithm 1:** Algorithm to maintain a dynamic segregation between agents

*HazType*(*fa*): hazard type of chemicals handled by the current agent

*reorienteAgent*(*fa*): current agent is reoriented into another corridor

*a)* < *Corr*(*fa*) **then if** *HazType*(*fa*)*andHazType*(*f*

reorienteAgent(*f*

reorienteAgent(*fa*)

� *<sup>a</sup>*) **then**

> � *a*)

2

4

6

Metrics values

**Input**:

**Data**: *fa*, *f* �

**begin**

*Fa*: set of forklift agents

*<sup>a</sup>*: forklift agent

**foreach** *fa* ∈ *Fa* **do foreach** *f*

� *<sup>a</sup>* ∈ *Fa* **do**

**if** *dist( fa*, *f*

*B*(*fa*): betweenness of the current agent

*Corr*(*fa*): corridor length of the current agent

�

**else**

**if** *B*(*fa*) > *B*(*f*

8

10

Substances Warehouses by an Interaction Network Approach

#### **6.2.3 Node betweenness**

The betweenness of a node is defined as the total number of shortest paths between pairs of nodes that pass through this node. It measures the influence of a node in a network. The betweenness of a node *t*, denoted *B*(*t*) is defined as follows:

$$B(t) = \sum\_{\substack{\mathfrak{u} \neq \upsilon, \mathfrak{u} \neq t, \upsilon \neq t}} \frac{\sigma\_{\mathfrak{u}\upsilon}(t)}{\sigma\_{\mathfrak{u}\upsilon}}$$

where *σuv* is the number of shortest paths between the nodes *u* and *v*, and *σuv*(*t*) is the number of shortest paths between *u* to *v* that pass through *t*.

#### **6.3 Simulation and results**

We assume that the warehouse is well dimensioned and at last one agent is available to perform a truck unloading or a pallet storage. Once a single or several agents react, they perform handling operations according to their behaviours. Then, agents are located in their forklift base and wait for a truck arrival. When a truck is in position, agents react and move into a dock. Another reaction is needed in order to agents unload the truck. The movements of agents follow the warehouse corridors. The time spent by agents to unload a truck or to store pallets is the average time observed in the real warehouse. The objective is to simulate a behaviour close to the reality.

In this case study, we consider that the warehouse stores three types of chemical substances denoted *A*, *B* and *C*. Each product must be stored only in its rack location and the segregation consists in avoiding that a product is stored in another rack. We consider 6 forklift agents and 10 trucks with a cargo of 33 pallets by truck. We launch a simulation and we study the dynamic graph resulting for agents activities.

Fig. 8 shows the evolution of the mean distance denoted *l* and the diameter, *D*. It appears that the means distance evolves between 30 and 150 which is the consequence of the warehouse dimensions. As well, the diameter being an upper bound of distances in interaction networks, we expect that the mean distance *l* will be lower than *D*. The mean degree is studied in Fig. 9 and shows that it evolves between 1 and 6. This means that at least two agents are in activities in the warehouse and when they are all outside their base, the mean degree will be 6.

Fig. 8. Mean distance and diameter of the resulting graph from agent activities.

Fig. 9. Mean degree of the resulting graph from agent activities.

This first study about the dynamic graph resulting from agents handling operations put in evidence that they are not all present in same time in the warehouse. The average distance between agents is still weak in front of the upper bond expressed by the diameter.

Our goal is to develop a dynamic risk management strategy to maintain a segregation during the agent movements. In front of results presented above, we deduce a strategy presented in Algorithm 1. Then, when two agents are present in the same corridor, the type of handled goods determines if these forklift agents can share this corridor. In case that incompatible products are transported by agents, a topological measure is exploited, typically the node betweenness, to determine the priority between these agents. We consider that the agent

#### **Algorithm 1:** Algorithm to maintain a dynamic segregation between agents

**Input**: *Fa*: set of forklift agents **Data**: *fa*, *f* � *<sup>a</sup>*: forklift agent *B*(*fa*): betweenness of the current agent *HazType*(*fa*): hazard type of chemicals handled by the current agent *Corr*(*fa*): corridor length of the current agent *reorienteAgent*(*fa*): current agent is reoriented into another corridor

### **begin**

16 Will-be-set-by-IN-TECH

The betweenness of a node is defined as the total number of shortest paths between pairs of nodes that pass through this node. It measures the influence of a node in a network. The

*u*=*v*,*u*=*t*,*v*=*t*

where *σuv* is the number of shortest paths between the nodes *u* and *v*, and *σuv*(*t*) is the number

We assume that the warehouse is well dimensioned and at last one agent is available to perform a truck unloading or a pallet storage. Once a single or several agents react, they perform handling operations according to their behaviours. Then, agents are located in their forklift base and wait for a truck arrival. When a truck is in position, agents react and move into a dock. Another reaction is needed in order to agents unload the truck. The movements of agents follow the warehouse corridors. The time spent by agents to unload a truck or to store pallets is the average time observed in the real warehouse. The objective is to simulate a

In this case study, we consider that the warehouse stores three types of chemical substances denoted *A*, *B* and *C*. Each product must be stored only in its rack location and the segregation consists in avoiding that a product is stored in another rack. We consider 6 forklift agents and 10 trucks with a cargo of 33 pallets by truck. We launch a simulation and we study the

Fig. 8 shows the evolution of the mean distance denoted *l* and the diameter, *D*. It appears that the means distance evolves between 30 and 150 which is the consequence of the warehouse dimensions. As well, the diameter being an upper bound of distances in interaction networks, we expect that the mean distance *l* will be lower than *D*. The mean degree is studied in Fig. 9 and shows that it evolves between 1 and 6. This means that at least two agents are in activities

0 25 50 75 100

Mean distance Diameter

time

Fig. 8. Mean distance and diameter of the resulting graph from agent activities.

in the warehouse and when they are all outside their base, the mean degree will be 6.

*σuv*(*t*) *σuv*

*B*(*t*) = ∑

betweenness of a node *t*, denoted *B*(*t*) is defined as follows:

of shortest paths between *u* to *v* that pass through *t*.

**6.2.3 Node betweenness**

**6.3 Simulation and results**

behaviour close to the reality.

dynamic graph resulting for agents activities.

0

100

200

300

Metrics values

400

500

**foreach** *fa* ∈ *Fa* **do foreach** *f* � *<sup>a</sup>* ∈ *Fa* **do if** *dist( fa*, *f* � *a)* < *Corr*(*fa*) **then if** *HazType*(*fa*)*andHazType*(*f* � *<sup>a</sup>*) *are incompatible* **then if** *B*(*fa*) > *B*(*f* � *<sup>a</sup>*) **then** reorienteAgent(*f* � *a*) **else** reorienteAgent(*fa*)

Colla, V. & Nastasi, G. (2010). Modelling and simulation of an automated warehouse for

<sup>469</sup> A Dynamic Risk Management in Chemical

*Modelling Simulation and Optimization*, InTech, Rijeka, Croatia, pp. 471–486. Conte, R. (1999). Social intelligence among autonomous agents, *Computational & Mathematical*

Doran, J. (n.d.). Can agent-based modelling really be useful?, *in* N. J. Saam & B. Schmidt (eds), *Cooperative Agents: Applications in the Social Sciences*, Springer, pp. 57–81. Epstein, J. & Axtell, R. (1996). *Growing Artificial Societies, Social Science from the bottom up*,

Erdos, P. & Rényi, A. (1959). On random graphs I, *Publicationes Mathematicae* Vol. 6(No.

Ferber, J. (1999). *Multi-Agent System: An Introduction to Distributed Artificial Intelligence*,

Gilbert, N. (2005). When does social simulation need cognitive models, *in* R. Sun (ed.),

Harary, F. & Gupta, G. (1997). Dynamic graph models, *Mathematical and Computer Modelling*

Holland, J. H. (1996). *Hidden order: how adaptation builds complexity*, Reading, MA, Addison

Jennings, N. R., Sycara, K. & Wooldridge, M. (1998). A roadmap of agent research and development, *Autonomous Agents and Multi-Agent Systems* Vol. 1(No. 1): 7–38. Jeong, H., Tombor, B., Albert, R., Oltvai, Z. N. & Barabasi, A.-L. (2000). The large-scale organization of metabolic networks, *Nature* Vol. 6804(No. 407): 651–654. Julka, N., Karimi, I. & Srinivasan, R. (2002). Agent-based refinery supply chain management,

Kwon, O., Im, G. P. & Lee, K. C. (2006). Mace-scm: A multi-agent and case-based reasoning

Pollack, M. E. & Ringuette, M. (1990). Introducing the tileworld: Experimentally evaluating

Reynolds, C. W. (1971). Flocks, herds and schools: A distributed behavioural model, *Computer*

Schelling, T. (1971). Dynamic models of segregation, *Journal of Mathematical Sociology* Vol.

Sloman, A. & Logan, B. (1999). Building cognitively rich agents using the sim agent toolkit, *Communications of the Association of Computing Machinery* Vol. 42(No. 3): 71–77. Sun, R. (2001). Cognitive science meets multi-agent systems: A prolegomenon, *Philosophical*

Swaminathan, J. M., Smith, S. F. & Sadeh, N. M. (1997). Modeling supply chain dynamics: A

multi-agent approach, *Decision Sciences* Vol. 29(No. 3): 607–632.

uncertainties, *Expert Systems with Applications* Vol. 33(No. 3): 690–705. Lehman, J. F., Laird, J. & Rosenbloom, P. (2006). A gentel introduction to soar, an architecture

collaboration mechanism for supply chain management under supply and demand

agent architectures, *Proceedings the Eighth National Conference on Artificial Intelligence*,

*Cognition and multi-agent interaction: From cognitive modeling to social simulation*,

Forrester, J. W. (1961). *Industrial Dynamics*, Cambridge MA MIT press, MA, USA.

*Computer Aided Chemical Engineering* Vol. 26(No. 12): 1771–1781.

Cambridge University Press, Cambridge, UK, pp. 428–432.

*Organization Theory* Vol. 5(No. 3): 203–228.

Substances Warehouses by an Interaction Network Approach

Cambridge MA MIT press, MA, USA.

URL: *http://http://www.flexsim.com/*

Harlow: Addison Wesley Longman, MA, USA.

1): 290–297.

*Flexsim Simulation Software* (n.d.).

Vol. 25(No. 7): 79–87.

for human cognition.

1(No. 2): 143–186.

*Graphics* Vol. 21(No. 4): 25–34.

*Psychology* Vol. 14(No. 1): 5–28.

AAAI Press, Boston, MA, USA, pp. 183–189.

Wesley, MA, USA.

the comparison of storage strategies, *in* G. Romero Rey & L. Martinez Muneta (eds),

whose betweenness is superior, has the priority and the other agent is reoriented into another corridor. If the next corridor is in the same configuration, the agent will change again until be in presence of incompatible chemicals. Therefore, the dynamic risk management strategy is defined as a prevention of incompatible chemicals crossing in corridors. Any risks of crossing or mixing is mitigated by the routing of agents into another corridor when this agent possesses a weaker betweenness that the other one.

### **7. Conclusion**

In the global context of logistics and supply chain management, we are interested in the manner to model the SC. A Complex Adaptive Model, CAS, approach is then well studied for modelling supply chain systems considering the structural and behavioural dynamics. In a CAS, the interactions of the agent population and the environment evolution contribute to the emergence of a global behaviour.

This chapter presents an approach to study warehouse of chemical substances involving human actors. We have modelled the activities and the actors to implement a Multi-Agent System, MAS from which we want to reproduce segregation violation during the goods movements. Then, the warehouse becomes a CAS where agents accomplish their goals (typically handling operations) and whose mutual interactions are susceptible to violate segregations.

We propose a dynamic graph to describe the agents movements in the warehouse. Then, vertices represent agents when they are in activities and removed once they move back t their base. Edges are defined between vertices and are weighted by the distance between agents. The study of this graph by topological measures such as the average distance, the diameter and the mean degree show that agents are effectively close each other during their handling operations. We deduce a dynamic risk management to maintain segregation even when chemical substances are handled by agents. Thus, when the distance between incompatible goods is insufficient, a study of the two involved agents node betweenness determine what agent is redirected into another corridor. By this way the crossing and the mixing of incompatible goods is mitigated.

### **8. References**


18 Will-be-set-by-IN-TECH

whose betweenness is superior, has the priority and the other agent is reoriented into another corridor. If the next corridor is in the same configuration, the agent will change again until be in presence of incompatible chemicals. Therefore, the dynamic risk management strategy is defined as a prevention of incompatible chemicals crossing in corridors. Any risks of crossing or mixing is mitigated by the routing of agents into another corridor when this agent possesses

In the global context of logistics and supply chain management, we are interested in the manner to model the SC. A Complex Adaptive Model, CAS, approach is then well studied for modelling supply chain systems considering the structural and behavioural dynamics. In a CAS, the interactions of the agent population and the environment evolution contribute to

This chapter presents an approach to study warehouse of chemical substances involving human actors. We have modelled the activities and the actors to implement a Multi-Agent System, MAS from which we want to reproduce segregation violation during the goods movements. Then, the warehouse becomes a CAS where agents accomplish their goals (typically handling operations) and whose mutual interactions are susceptible to violate

We propose a dynamic graph to describe the agents movements in the warehouse. Then, vertices represent agents when they are in activities and removed once they move back t their base. Edges are defined between vertices and are weighted by the distance between agents. The study of this graph by topological measures such as the average distance, the diameter and the mean degree show that agents are effectively close each other during their handling operations. We deduce a dynamic risk management to maintain segregation even when chemical substances are handled by agents. Thus, when the distance between incompatible goods is insufficient, a study of the two involved agents node betweenness determine what agent is redirected into another corridor. By this way the crossing and the

Albert, S., Jeong, H. & Barabasi, A.-L. (1999). The diameter of the world-wide web, *Nature* Vol.

Bellifemine, F. L., Caire, G. & Greenwood, D. (2007). *Developing Multi-Agent Systems with*

Broder, A., Kumar, R., Maghoul, F., Raghavan, P., Rajagopalan, S., Stata, R., Tomkins, A.

Burmeister, B., Haddadi, A. & Matylis, G. (1997). Application of multi-agent systems in traffic

Casterfranchi, C. (1995). Guarantees for autonomy in cognitive agent architecture, *in*

*Agents*, Springer-Verlag, Heidelberg, Germany, pp. 56–70.

& Wiener, J. (2000). Graph structure in the web, *Computer Networks* Vol. 33(No.

and transportation, *IEE Proceedings of Software Engineering*, IEEE Computer Society,

M. Wooldridge & N. R. Jennings (eds), *Lecture Notes in Computer Science: Intelligent*

Bellifemine, F., Caire, G., Trucco, T. & Rimassa, G. (2007). Jade programmer's guide.

a weaker betweenness that the other one.

the emergence of a global behaviour.

mixing of incompatible goods is mitigated.

401(No. 4): 130–131.

London, pp. 51–60.

1): 309–320.

*JADE*, Wiley, MA, USA.

**7. Conclusion**

segregations.

**8. References**


**24** 

Ewa Grandys

*Poland* 

*Academy of Management in Łódź*

**Study of Changes in the Production** 

New areas of knowledge can only be created based on earlier scientific output. To identify possible cognitive gaps, the existing knowledge of management was analysed, which allowed dividing the knowledge hierarchically into three levels of organizational management, enterprise management and production management. The lowest position of the last level in the hierarchy does not make it is less important, especially in the present

Graph theory is a field of knowledge offering a broad range of applications. A novel approach was using the theory to build a production management model based on the concept of an inverted tree (with many entries and one exit), as this type of a model reflects the real-life determinants affecting the production of short life cycle goods. The conducted investigation involved clothing companies that produce such goods. Clothing manufacturers deciding to start production invariably expose themselves to considerable risk. This risk can be reduced by obtaining more information on customers' expectations, fashion trends, the conditions of acquiring materials necessary for making the designed models, as well as manufacturer's technical and technological capacity for actually producing the garment. One assumption as made during the investigation was that the analysed product would not be a single design, but a series of garments comprising a fashion collection [6]. It was also necessary to assume a process-based approach to production management that in the opinion of many authors boosts enterprise effectiveness [5, 7]. With these assumptions in mind, the production process was broken down into four main subprocesses (product creation, setting up product manufacturing, manufacturing and sale) and their subdivisions. The presented production management model is based on this

According to the research, apparel as a category of the short life-cycle goods is made in a production process (consisting of product creation, the setting up of the manufacturing processes, procurement of intermediate materials and sale) that spans 18 months [6]. In this relatively long time, the actual production circumstances and those predicted at the planning stage are very likely to show significant differences. Why the changes appear will not be explored in the article to keep it concise, but their occurrence will be assumed *a priori* as a fact. This study was designed to investigate the negative effects of the changes delaying

economic situation of the world that struggles with the impacts of the global crisis.

**1. Introduction** 

breakdown.

the completion of a production process.

**Process Based in Graph Theory** 


## **Study of Changes in the Production Process Based in Graph Theory**

### Ewa Grandys

*Academy of Management in Łódź Poland* 

### **1. Introduction**

20 Will-be-set-by-IN-TECH

470 New Frontiers in Graph Theory

Taatgen, N., Lebiere, C. & Anderson, J. (n.d.). Modeling paradigms in act-r, *in* R. Sun (ed.),

Wasserman, S. & Faust, K. (1994). *Social network analysis: methods and applications*, Cambridge

Watts, D. J. & Strogatz, S. H. (1998). Collective dynamics of 'small-world' networks, *Nature*

Weiming, S., Qi, H., Hyun, J. Y. & Douglas, H. N. (2000). Applications of agent-based systems

Wray, R. E. & Jones, R. M. (n.d.). An introduction to soar as an agent architecture, *in*

Cambridge University Press, pp. 29–52.

*Simulation*, Cambridge University Press, pp. 53–78.

University Press, Cambridge, UK.

Vol. 393(No. 6684): 440–442.

Vol. 20(No. 4): 415–431.

*Cognition and Multi-Agent Interaction: From Cognitive Modelling to Social Simulation*,

in intelligent manufacturing: An updated review, *Advanced Engineering Informatics*

R. Sun (ed.), *Cognition and Multi-Agent Interaction: From Cognitive Modelling to Social*

New areas of knowledge can only be created based on earlier scientific output. To identify possible cognitive gaps, the existing knowledge of management was analysed, which allowed dividing the knowledge hierarchically into three levels of organizational management, enterprise management and production management. The lowest position of the last level in the hierarchy does not make it is less important, especially in the present economic situation of the world that struggles with the impacts of the global crisis.

Graph theory is a field of knowledge offering a broad range of applications. A novel approach was using the theory to build a production management model based on the concept of an inverted tree (with many entries and one exit), as this type of a model reflects the real-life determinants affecting the production of short life cycle goods. The conducted investigation involved clothing companies that produce such goods. Clothing manufacturers deciding to start production invariably expose themselves to considerable risk. This risk can be reduced by obtaining more information on customers' expectations, fashion trends, the conditions of acquiring materials necessary for making the designed models, as well as manufacturer's technical and technological capacity for actually producing the garment. One assumption as made during the investigation was that the analysed product would not be a single design, but a series of garments comprising a fashion collection [6]. It was also necessary to assume a process-based approach to production management that in the opinion of many authors boosts enterprise effectiveness [5, 7]. With these assumptions in mind, the production process was broken down into four main subprocesses (product creation, setting up product manufacturing, manufacturing and sale) and their subdivisions. The presented production management model is based on this breakdown.

According to the research, apparel as a category of the short life-cycle goods is made in a production process (consisting of product creation, the setting up of the manufacturing processes, procurement of intermediate materials and sale) that spans 18 months [6]. In this relatively long time, the actual production circumstances and those predicted at the planning stage are very likely to show significant differences. Why the changes appear will not be explored in the article to keep it concise, but their occurrence will be assumed *a priori* as a fact. This study was designed to investigate the negative effects of the changes delaying the completion of a production process.

Study of Changes in the Production Process Based in Graph Theory 473

assessment of the confirmation success rate, formulation of conclusions (theoretical/practical). This sequence is criticised by persons advocating the phenomenological approach who believe that understanding the examined phenomena is more important than measuring them. This approach is justified in the case of a heuristic research and scientific procedure. However, M. Marchesnay's procedures are appropriate when the researcher's reasoning is linear. With these reservations in mind, the following

**The management of production of the short life cycle products is a process of determined duration, consisting of four cyclical subprocesses. The cycles are staggered with respect to** 

For the hypothesis to be confirmed an appropriate investigation had to be conducted and its results analysed. The management science proposes in this case a three-stage model of analysis comprising decomposition (into the building blocks), description and integration

The process applied to produce garments was divided into four main sub-processes: product development, preparation of production, production and sales. As far as the short life cycle products are concerned, separating product development from all other actions related to the production preparation process is justified. An example of the SLCP is fashion articles whose production is determined by seasonality of sales. Two fashion collections are

This subprocess is carried out between 1 February (of the year preceding product release) and 1 August for the spring-summer collection and between 1 August and 1 February of the

New product designs are created based on the external and internal sources of information. The latter usually account for more than 55% [15]. This rate, however, does not apply to fashion articles. Their originality is assessed by means of criteria laid out in the copyrights. For a season's collection to be created, information has to be collected from


A talented designer and the person's ability to assimilate the design guidelines, whose new informative contents alter the knowledge of the trends in fashion development, are a prerequisite for starting the work on a collection. The relevant guidelines can be sought in Paris, Milan, etc., at international fashion shows. As observed, some fashion elements are recurrent; yet, they are never copied, but introduced after some modifications. This justifies the statement that all models of a season's collection are new. Products that are attractive for the buyers (because of their design, quality and price) involve interaction with the


that will be used subject to the availability of appropriate equipment.

[23]. The presented algorithm was used at the further stages of the investigation.

**2.3 Process decomposition and a description of its components** 

usually created, i.e. for the spring-summer and autumn-winter seasons.

**2.3.1 The garment development subprocess** 


next year for the autumn-winter collection.

several sources:

hypothesis was formulated:

**each other by fixed time intervals.** 

It must be remembered that the production cycle for the short life-cycle goods has a predetermined date when the sale should start. The fact that the delays observed during the research usually resulted from management errors committed for a lack of an appropriate tool aiding production management helped identify a cognitive gap, following which a method for analysing process changes was developed. The method was called a Production Process Control Tree (PPCT).

### **2. The production cycle model for short life cycle models**

### **2.1 Short life cycle products**

The investigation concentrated on production management that in the theory of management deals with providing scientific solutions to production problems. Concentrating on processes "and not on jobs, people, structures and functions makes it possible to watch the main purpose of the process and not its components" [11]. The process-based approach was adopted to create a production cycle model for short life cycle products (SLCP). The term "life cycle" has been "derived from natural sciences, after an analogy between living organisms and products was found. They are too destined to be born, mature, age and die" [1]. The popularity of the term increased with the European Commission's project of 2005 *"The European Platform on Life Cycle Assessment (LCA)"* [25], which extended the notion of life cycle over business and politics. These circumstances increasingly justify the search for regular patterns (cycles, loops, or equilibrium points) that systems tend to [16]. The role of product life cycle was also commented on by P.F. Drucker [3], who stated that it could be used as a tool for evaluating firm's position. Further, R. Kleine-Doepke [12] mentioned life cycle together with the experience curve concept and the results of research conducted under the PIMS (*Profit Impact of Market Strategy*) program, as the third of the factors that contributed to the development of the portfolio planning methods. All these circumstances provided an inspiration for focusing the study on the management of production of the short life cycle products. Such products have one of the below characteristics:


Typical products whose life cycle is decided by their design are clothing and footwear. Their selling time is correlated with the passing of seasons that together with the seasonal character of fashion trends subject production management to strict discipline. Products manufactured for too long become unsaleable. The manufacturers of durable goods use the positive aspect of fashion to stimulate demand (motor vehicles, interior design articles, etc.).

### **2.2 Formulation of the research hypothesis**

According to M. Marchesnay [19], a theory is constructed via a process consisting of the following stages: formulation of a hypothesis, construction of a hypothesis confirmation procedure, confirmation by means of an empirical test or mathematical-logical evidence, 472 New Frontiers in Graph Theory

It must be remembered that the production cycle for the short life-cycle goods has a predetermined date when the sale should start. The fact that the delays observed during the research usually resulted from management errors committed for a lack of an appropriate tool aiding production management helped identify a cognitive gap, following which a method for analysing process changes was developed. The method was called a Production

The investigation concentrated on production management that in the theory of management deals with providing scientific solutions to production problems. Concentrating on processes "and not on jobs, people, structures and functions makes it possible to watch the main purpose of the process and not its components" [11]. The process-based approach was adopted to create a production cycle model for short life cycle products (SLCP). The term "life cycle" has been "derived from natural sciences, after an analogy between living organisms and products was found. They are too destined to be born, mature, age and die" [1]. The popularity of the term increased with the European Commission's project of 2005 *"The European Platform on Life Cycle Assessment (LCA)"* [25], which extended the notion of life cycle over business and politics. These circumstances increasingly justify the search for regular patterns (cycles, loops, or equilibrium points) that systems tend to [16]. The role of product life cycle was also commented on by P.F. Drucker [3], who stated that it could be used as a tool for evaluating firm's position. Further, R. Kleine-Doepke [12] mentioned life cycle together with the experience curve concept and the results of research conducted under the PIMS (*Profit Impact of Market Strategy*) program, as the third of the factors that contributed to the development of the portfolio planning methods. All these circumstances provided an inspiration for focusing the study on the management of production of the short life cycle products. Such products have one of the



Typical products whose life cycle is decided by their design are clothing and footwear. Their selling time is correlated with the passing of seasons that together with the seasonal character of fashion trends subject production management to strict discipline. Products manufactured for too long become unsaleable. The manufacturers of durable goods use the positive aspect of fashion to stimulate demand (motor vehicles, interior design articles, etc.).

According to M. Marchesnay [19], a theory is constructed via a process consisting of the following stages: formulation of a hypothesis, construction of a hypothesis confirmation procedure, confirmation by means of an empirical test or mathematical-logical evidence,


**2. The production cycle model for short life cycle models** 

Process Control Tree (PPCT).

**2.1 Short life cycle products** 

below characteristics:

alternating seasons in the case of clothing),

**2.2 Formulation of the research hypothesis** 

changes,

assessment of the confirmation success rate, formulation of conclusions (theoretical/practical). This sequence is criticised by persons advocating the phenomenological approach who believe that understanding the examined phenomena is more important than measuring them. This approach is justified in the case of a heuristic research and scientific procedure. However, M. Marchesnay's procedures are appropriate when the researcher's reasoning is linear. With these reservations in mind, the following hypothesis was formulated:

### **The management of production of the short life cycle products is a process of determined duration, consisting of four cyclical subprocesses. The cycles are staggered with respect to each other by fixed time intervals.**

For the hypothesis to be confirmed an appropriate investigation had to be conducted and its results analysed. The management science proposes in this case a three-stage model of analysis comprising decomposition (into the building blocks), description and integration [23]. The presented algorithm was used at the further stages of the investigation.

### **2.3 Process decomposition and a description of its components**

The process applied to produce garments was divided into four main sub-processes: product development, preparation of production, production and sales. As far as the short life cycle products are concerned, separating product development from all other actions related to the production preparation process is justified. An example of the SLCP is fashion articles whose production is determined by seasonality of sales. Two fashion collections are usually created, i.e. for the spring-summer and autumn-winter seasons.

### **2.3.1 The garment development subprocess**

This subprocess is carried out between 1 February (of the year preceding product release) and 1 August for the spring-summer collection and between 1 August and 1 February of the next year for the autumn-winter collection.

New product designs are created based on the external and internal sources of information. The latter usually account for more than 55% [15]. This rate, however, does not apply to fashion articles. Their originality is assessed by means of criteria laid out in the copyrights. For a season's collection to be created, information has to be collected from several sources:


A talented designer and the person's ability to assimilate the design guidelines, whose new informative contents alter the knowledge of the trends in fashion development, are a prerequisite for starting the work on a collection. The relevant guidelines can be sought in Paris, Milan, etc., at international fashion shows. As observed, some fashion elements are recurrent; yet, they are never copied, but introduced after some modifications. This justifies the statement that all models of a season's collection are new. Products that are attractive for the buyers (because of their design, quality and price) involve interaction with the

Study of Changes in the Production Process Based in Graph Theory 475

The organizational setup of the product manufacturing process must integrate the following



The above areas decide about the type of the manufacturing system that will be used: an assembly line, an assembly line with sections, sections with synchronised working teams, a flow system or an arrhythmic system [27]. Other factors that influence the production preparation process include the size of an order, the possibility of making several models simultaneously, etc. The organizational efforts must optimize manufacturing times and costs, as well as providing a product of expected quality (in relation to manufacturers'

This subprocess is carried out between 1 August and 1 February of the next year for the spring-summer collection and between 1 February and 1 August for the autumn-winter

A characteristic feature of garment production is the input of manual labour. In the developed countries, small series of garments containing particular large inputs of manual labour are produced for the high-end market segments. Regardless of the target buyer, garment production consists of two main stages: cutting out garment elements and their assembly. The operations performed at the two stages depend on the organizational plan




The cutting room setup aims at keeping the cutting machine busy at all times, as the machine is a central piece of equipment that decides about the output of the semi-finished products. The continuous operation of the cutting machine can be ensured via one of two modes. The first of them requires the keeping of spare stacks of laid-out fabric, which increases the amount of work in progress. The second method allows accomplishing a steady workflow by feeding into the machine sections of stacked fabric that are prepared simultaneously on two or several tables. Therefore, the cutting room operations are mainly




areas:

collection.

right time and place),

expenses and target buyers' preferences).

automated process),

stiffening / strengthening,

determined by the available equipment.


**2.3.3 The product manufacturing subprocess** 

and technological documentation prepared beforehand.

The first of the two stages comprises the following operations:

stationary cutting machines, or automated cutting systems,

when needed).

customers. Data offered by market surveys are an important source of information, allowing the manufacturer to look at a product from a broader perspective [18]. However, a design that is attractive but priced against the expectations of the targeted market segment will render sales unsuccessful. The responsibility for setting prices rests on an authorised group of persons who take account of the design manufacturing data (material and labour costs, etc.). Design attractiveness is the main criterion affecting the level of prices. A market failure is certain when the season's collection is released too late. This fact demonstrates the importance of the time factor for the production cycle of seasonal products.

### **2.3.2 The production preparation subprocess**

This subprocess is carried out between 1 June and 1 December for the spring-summer collection and between 1 December and 1 June of the next year for the autumn-winter collection.

The production preparation subprocess consists of:


From the standpoint of the operations to be carried out within the production preparation subprocess, it is not important whether the team of workers responsible for the subprocess will be based in their parent company or at the service provider's site [9]. The technology to be used must correspond to the selected materials and the available machines (either owned or belonging to other party). Modern enterprises prepare the necessary documentation using Computer Aided Manufacturing systems (CAD) that are common in the Polish medium and large-sized manufacturing companies today. The author pioneered the implementation of the first of such systems in Poland in 1987. Other activities related to the preparation of documentation include:


These documents allow setting up the product manufacturing subprocess, estimating the wages to be paid to the piece-rate workers, the direct production costs, etc.

Material procurement, which is a separate activity, is equally important. The domestic clothing industry buys its materials from suppliers based in the EU (the high end of the apparel market) and in Asian countries (the other segments). The geography of the suppliers usually has a bearing on fabric quality, wearability and price, the latter being a key factor shaping the final price of a product. Fabric patterns are picked by the designers who take into account the designs to be produced, while the procurement personnel is responsible for analysing the submitted offers and making choices that are optimal for the firm. All procurement, although the contract signing process is exposed to the pressure of time, must be carried out prudently. The type of payment (advance payment, pay on delivery, deferred payment) is an important aspect of negotiations concerning the terms of supply. Optimization of the procurement process is vital for enterprise functioning.

474 New Frontiers in Graph Theory

customers. Data offered by market surveys are an important source of information, allowing the manufacturer to look at a product from a broader perspective [18]. However, a design that is attractive but priced against the expectations of the targeted market segment will render sales unsuccessful. The responsibility for setting prices rests on an authorised group of persons who take account of the design manufacturing data (material and labour costs, etc.). Design attractiveness is the main criterion affecting the level of prices. A market failure is certain when the season's collection is released too late. This fact demonstrates the

This subprocess is carried out between 1 June and 1 December for the spring-summer collection and between 1 December and 1 June of the next year for the autumn-winter

From the standpoint of the operations to be carried out within the production preparation subprocess, it is not important whether the team of workers responsible for the subprocess will be based in their parent company or at the service provider's site [9]. The technology to be used must correspond to the selected materials and the available machines (either owned or belonging to other party). Modern enterprises prepare the necessary documentation using Computer Aided Manufacturing systems (CAD) that are common in the Polish medium and large-sized manufacturing companies today. The author pioneered the implementation of the first of such systems in Poland in 1987. Other activities related to the


These documents allow setting up the product manufacturing subprocess, estimating the

Material procurement, which is a separate activity, is equally important. The domestic clothing industry buys its materials from suppliers based in the EU (the high end of the apparel market) and in Asian countries (the other segments). The geography of the suppliers usually has a bearing on fabric quality, wearability and price, the latter being a key factor shaping the final price of a product. Fabric patterns are picked by the designers who take into account the designs to be produced, while the procurement personnel is responsible for analysing the submitted offers and making choices that are optimal for the firm. All procurement, although the contract signing process is exposed to the pressure of time, must be carried out prudently. The type of payment (advance payment, pay on delivery, deferred payment) is an important aspect of negotiations concerning the terms of supply.

importance of the time factor for the production cycle of seasonal products.

**2.3.2 The production preparation subprocess** 

The production preparation subprocess consists of:


preparation of documentation include:



wages to be paid to the piece-rate workers, the direct production costs, etc.

Optimization of the procurement process is vital for enterprise functioning.



collection.

The organizational setup of the product manufacturing process must integrate the following areas:


The above areas decide about the type of the manufacturing system that will be used: an assembly line, an assembly line with sections, sections with synchronised working teams, a flow system or an arrhythmic system [27]. Other factors that influence the production preparation process include the size of an order, the possibility of making several models simultaneously, etc. The organizational efforts must optimize manufacturing times and costs, as well as providing a product of expected quality (in relation to manufacturers' expenses and target buyers' preferences).

### **2.3.3 The product manufacturing subprocess**

This subprocess is carried out between 1 August and 1 February of the next year for the spring-summer collection and between 1 February and 1 August for the autumn-winter collection.

A characteristic feature of garment production is the input of manual labour. In the developed countries, small series of garments containing particular large inputs of manual labour are produced for the high-end market segments. Regardless of the target buyer, garment production consists of two main stages: cutting out garment elements and their assembly. The operations performed at the two stages depend on the organizational plan and technological documentation prepared beforehand.

The first of the two stages comprises the following operations:


The cutting room setup aims at keeping the cutting machine busy at all times, as the machine is a central piece of equipment that decides about the output of the semi-finished products. The continuous operation of the cutting machine can be ensured via one of two modes. The first of them requires the keeping of spare stacks of laid-out fabric, which increases the amount of work in progress. The second method allows accomplishing a steady workflow by feeding into the machine sections of stacked fabric that are prepared simultaneously on two or several tables. Therefore, the cutting room operations are mainly determined by the available equipment.

Study of Changes in the Production Process Based in Graph Theory 477

Smart clothes are different from the other types of clothing not because of their construction (that can be copied) but due to fabric quality, the quality of the assembly process and

This subprocess is carried out between 1 February and 1 August (one year after the product development process was started) for the spring-summer collection and between 1 August

The Kotler model [14] as applied to the sales subprocess is well known, so it will not be discussed here to make the article concise. Because the scientific output in this field is

The earlier quoted authors suggested that it was possible to present research results as a Kotler curve [14] extended to include the earlier subprocesses. The curve describes a

Source: developed after Ph. Kotler, *Marketing Management, 11th ed.*, Prentice Hall 2003, p.

t

The B curve reveals some special character of the fashion articles. The graph is fully adequate when a fashion article is meant as one model of a product. However, the investigation has confirmed that the classical product life cycle approach can be applied to clothing too (fig. 1), if we assume that such products do not represent a single design but a set of designs comprising a seasonal offer, which is in fact the final product of an enterprise. This knowledge encouraged the author to present the investigation's findings graphically as

According to Kotler [14], the sales curves vary depending on the product (fig. 2):

C. products with temporary popularity (Rubik's cube, yo-yo, etc.).

thermal processing.

**2.3.4 The sales subprocess** 

and 1 February for the autumn-winter collection.

**3. Product life cycle and production cycle** 

product life cycle as sales in time (fig. 1).

Fig. 1. Product life cycle – Kotler curve

A. stylish products (architecture, furniture, etc.), B. fashion articles (clothing, footwear etc.),

328

considerable, it was decided that repeating it would be pointless.

The cut-out elements are then transported to the sewing room so that a finished product can be assembled. The garment assembly process is preceded by the following procedures:


All technological operations in the sewing room can be divided into three groups:


Thread joints are the basic technology employed in garment manufacturing. The sewing machines are divided into universal, semi-automated and automated machines. The automated sewing machines are the state-of-the art technology, but garment complexity makes them more appropriate for performing specific jobs or making simple products. Stitching quality is assessed against the in-house standards, as it ultimately affects the quality of a finished product.

Adhesive bonding makes use of a diffusion process that takes place between adhesive particles and the substrate. Adhesive joints are divided into bonded, heated and welded. A popular adhesive bonding method is contact heating. In most cases, two layers of fabric are bonded together with an adhesive. The elements to be bonded are heated on one side and then mechanically pressed together. The bonding process can be applied to a surface (e.g. inserts reinforcing the chest elements of a jacket), linearly (adhesive stitching) or in a dotlike manner. The criterion for the division is the area exposed to bonding. Adhesive bonding is now an important part of the garment manufacturing process, greatly reducing its time.

In terms of technology, the thermal processing of garments can be divided into:


Smart clothes are different from the other types of clothing not because of their construction (that can be copied) but due to fabric quality, the quality of the assembly process and thermal processing.

### **2.3.4 The sales subprocess**

476 New Frontiers in Graph Theory

The cut-out elements are then transported to the sewing room so that a finished product can be assembled. The garment assembly process is preceded by the following procedures:



Thread joints are the basic technology employed in garment manufacturing. The sewing machines are divided into universal, semi-automated and automated machines. The automated sewing machines are the state-of-the art technology, but garment complexity makes them more appropriate for performing specific jobs or making simple products. Stitching quality is assessed against the in-house standards, as it ultimately affects the

Adhesive bonding makes use of a diffusion process that takes place between adhesive particles and the substrate. Adhesive joints are divided into bonded, heated and welded. A popular adhesive bonding method is contact heating. In most cases, two layers of fabric are bonded together with an adhesive. The elements to be bonded are heated on one side and then mechanically pressed together. The bonding process can be applied to a surface (e.g. inserts reinforcing the chest elements of a jacket), linearly (adhesive stitching) or in a dotlike manner. The criterion for the division is the area exposed to bonding. Adhesive bonding is now an important part of the garment manufacturing process, greatly reducing its time.






In terms of technology, the thermal processing of garments can be divided into:

template onto the product by pressing them together;

lining such joints become inaccessible;

All technological operations in the sewing room can be divided into three groups:

and the verification of their reliability,

production.


quality of a finished product.

elements alone;

or cleaned;



This subprocess is carried out between 1 February and 1 August (one year after the product development process was started) for the spring-summer collection and between 1 August and 1 February for the autumn-winter collection.

The Kotler model [14] as applied to the sales subprocess is well known, so it will not be discussed here to make the article concise. Because the scientific output in this field is considerable, it was decided that repeating it would be pointless.

### **3. Product life cycle and production cycle**

The earlier quoted authors suggested that it was possible to present research results as a Kotler curve [14] extended to include the earlier subprocesses. The curve describes a product life cycle as sales in time (fig. 1).

Fig. 1. Product life cycle – Kotler curve

Source: developed after Ph. Kotler, *Marketing Management, 11th ed.*, Prentice Hall 2003, p. 328

According to Kotler [14], the sales curves vary depending on the product (fig. 2):


The B curve reveals some special character of the fashion articles. The graph is fully adequate when a fashion article is meant as one model of a product. However, the investigation has confirmed that the classical product life cycle approach can be applied to clothing too (fig. 1), if we assume that such products do not represent a single design but a set of designs comprising a seasonal offer, which is in fact the final product of an enterprise. This knowledge encouraged the author to present the investigation's findings graphically as

Study of Changes in the Production Process Based in Graph Theory 479

The constructed production cycle model (fig. 3) is underpinned by the author's empirical study, the findings of which were verified in the course of her 18 years' long business practice. Although the changing circumstances impeded the correct time measurements, the cyclical character of the production process enabled their verification. For the model to be created "the reality had to be appropriately smoothed out" [12]. It is justified to state now that the presented model sufficiently reflects the actual situation. Author's good knowledge of the research subject is confirmed by the attached description of the production process. All these circumstances together allow concluding that the evaluation [26] of the constructed

In the presented production cycle model, sales are only one of the subprocesses (curve 4). The *x*-axis separates operations necessary to prepare two clothing collections in a year; these related to the spring-summer season run above the axis, while operations concerning the autumn-winter collection are below it. The curves illustrate the rising and falling intensity of work in the particular subprocesses during the execution of a seasonal collection, as well as determining their acceptable completion times. The curves are shifted with respect to each other by a time interval indicated by the research findings. Although it is possible for the interval to show minor variations, the regular occurrence of a constant time interval is a fact.

Because each of the four subprocesses goes on for as long as 6 months, the production process could be spread over 24 months. The possibility of reducing the time by four months (between curves 1 and 2) and two months (between curves 2 and 3) as demonstrated by the research findings shortens the production process to 18 months. It is also worth noting that the start dates for the spring-summer collection (curve 1 above axis *x*) and the autumn-winter collection (curve 1 below axis *x*) are shifted against each other by 6 months. The knowledge of this fact allows optimizing the management of production of seasonal

Production management must always arise from a plan. Every "plan involves a performance imperative. An organization striving to comply with the imperative becomes less flexible and less perceptive of what is going on around it. On the other hand, the increasingly turbulent environment requires organizations to show flexibility, so that unexpected events […] representing opportunities can be used, while those posing threats avoided […] "[16]. The changes in the functioning of domestic enterprises are well illustrated by the events that took place at the turn of the 20th c., which demonstrated how the transition of 1989 contributed to the formation of a new economic reality in Poland [7]. After the domestic market was opened, the inflow of imports increased. As a result, stronger competition in the market reduced the range of selling opportunities. These circumstances substantiate an investigation into the ways of improving the effectiveness of production

A production management model for the short life-cycle goods was built following the

model' prognostic properties is fully relevant.


products having a determined manufacturing completion time.

**4. A production management model for short life-cycle goods** 

management that provides companies with more favourable market positions.

The interval is:

stages below:

a Kotler curve extended to include the earlier production management subprocesses. Consequently, an original production cycle model for the SLCP was created, approximating the temporal work intensity distribution in the particular components of the production process. According to Waszczyk and Szczerbicki [26], such approximation is rarely treated as model falsification. It is rather assumed that some developments taking place in the economic reality were omitted from the model. The Leśkiewicz [17] accuse the approach of being internally inconsistent, i.e. combining unrealistic assumptions and a strongly accentuated previdistic function of the economy. Nevertheless, Waszczyk and Szczerbicki [26] view things differently: a solid description provided at the stage of constructing an explanatory model lends credence to its prognostic value. The long-time research conducted by the author of this article allows her to confirm this opinion.

Fig. 2. Life cycles: A – stylish products, B – fashion articles, C – temporarily popular products.

Source: developed after Ph. Kotler, *Marketing…*, op. cit., p. 330

Subprocesses: 1 – product development 2 – preparation of production, 3 – production, 4 - sales

Fig. 3. The SLCP production cycle model. Source: developed by the author.

478 New Frontiers in Graph Theory

a Kotler curve extended to include the earlier production management subprocesses. Consequently, an original production cycle model for the SLCP was created, approximating the temporal work intensity distribution in the particular components of the production process. According to Waszczyk and Szczerbicki [26], such approximation is rarely treated as model falsification. It is rather assumed that some developments taking place in the economic reality were omitted from the model. The Leśkiewicz [17] accuse the approach of being internally inconsistent, i.e. combining unrealistic assumptions and a strongly accentuated previdistic function of the economy. Nevertheless, Waszczyk and Szczerbicki [26] view things differently: a solid description provided at the stage of constructing an explanatory model lends credence to its prognostic value. The long-time research conducted

**A B C** 

Fig. 2. Life cycles: A – stylish products, B – fashion articles, C – temporarily popular

2 3 4

II III IV V VI VII VIII IX X XI XII I II III IV V VI VII VIII IX X XI XII I II

2 3 4

Subprocesses: 1 – product development 2 – preparation of production, 3 – production, 4 - sales

1

mo.

by the author of this article allows her to confirm this opinion.

Source: developed after Ph. Kotler, *Marketing…*, op. cit., p. 330

products.

1

Fig. 3. The SLCP production cycle model.

Source: developed by the author.

spring -summer autumn-winter

The constructed production cycle model (fig. 3) is underpinned by the author's empirical study, the findings of which were verified in the course of her 18 years' long business practice. Although the changing circumstances impeded the correct time measurements, the cyclical character of the production process enabled their verification. For the model to be created "the reality had to be appropriately smoothed out" [12]. It is justified to state now that the presented model sufficiently reflects the actual situation. Author's good knowledge of the research subject is confirmed by the attached description of the production process. All these circumstances together allow concluding that the evaluation [26] of the constructed model' prognostic properties is fully relevant.

In the presented production cycle model, sales are only one of the subprocesses (curve 4). The *x*-axis separates operations necessary to prepare two clothing collections in a year; these related to the spring-summer season run above the axis, while operations concerning the autumn-winter collection are below it. The curves illustrate the rising and falling intensity of work in the particular subprocesses during the execution of a seasonal collection, as well as determining their acceptable completion times. The curves are shifted with respect to each other by a time interval indicated by the research findings. Although it is possible for the interval to show minor variations, the regular occurrence of a constant time interval is a fact. The interval is:


Because each of the four subprocesses goes on for as long as 6 months, the production process could be spread over 24 months. The possibility of reducing the time by four months (between curves 1 and 2) and two months (between curves 2 and 3) as demonstrated by the research findings shortens the production process to 18 months. It is also worth noting that the start dates for the spring-summer collection (curve 1 above axis *x*) and the autumn-winter collection (curve 1 below axis *x*) are shifted against each other by 6 months. The knowledge of this fact allows optimizing the management of production of seasonal products having a determined manufacturing completion time.

### **4. A production management model for short life-cycle goods**

Production management must always arise from a plan. Every "plan involves a performance imperative. An organization striving to comply with the imperative becomes less flexible and less perceptive of what is going on around it. On the other hand, the increasingly turbulent environment requires organizations to show flexibility, so that unexpected events […] representing opportunities can be used, while those posing threats avoided […] "[16]. The changes in the functioning of domestic enterprises are well illustrated by the events that took place at the turn of the 20th c., which demonstrated how the transition of 1989 contributed to the formation of a new economic reality in Poland [7]. After the domestic market was opened, the inflow of imports increased. As a result, stronger competition in the market reduced the range of selling opportunities. These circumstances substantiate an investigation into the ways of improving the effectiveness of production management that provides companies with more favourable market positions.

A production management model for the short life-cycle goods was built following the stages below:

Study of Changes in the Production Process Based in Graph Theory 481

Otherwise, the proposed models have to be redesigned. This procedure is repeated until the group of specialists appointed by the enterprise board decides that the outcomes are

The Altshuller method applied to evaluate the results of all strings of events allowed scheduling the process correctly. The duration times of the strings were determined empirically and then verified using special catalogues being in possession of every clothing manufacturer. The actual duration times of identical actions may vary between particular manufacturers, as they operate in different technical and technological environments. Therefore, a production management model should follow from an investigation conducted in the concrete enterprise. Because process scheduling is widely discussed topic in the literature [2, 4], for the sake of keeping this article succinct we only wish to note that the schedule produced in the course of this investigation provided a basis for constructing a

The number of points for starting the model construction corresponded to the number of entry points to the process. The points are the leaves from which each branch consisting of many events (vertices) and of actions (edges) denoting their execution originates. The edges do not provide any information on their duration times, indicating only the sequence of events. At the next stage of tree development, particular branches converge to ultimately form the root, i.e. the final event. With these rules in mind, two assumptions were


Let us consider whether the second assumption is not a simplification possibly leading to the creation of an unrealistic model. We need to bear in mind that in the case of the short life-cycle goods the time for performing each elementary action can be allowed to deviate from the schedule only to a limited degree, because product selling must start at a predetermined point in time. Therefore, the deterministic time assumption actually relates to some expected time, the length of which is estimated based on long-time experience and many measurements. A starting point for future research could be the adaptation of the model to a situation where the elementary actions have non-deterministic (i.e. described by


The production management model was built along the following lines:

3. The tree leaves are equivalent to the initial states of the strings of actions.

1. Each process action is represented by an edge with a label indicating its duration. 2. There is one vertex for one intermediate state of the process. A vertex is a place where all edges symbolizing actions immediately preceding the state described by the vertex end and where an edge representing an action leading to the next state has its

4. The root of the tree denotes that the process is complete and the product is ready. 5. Chronologically later process stages are closer to the root than the earlier stages,

satisfactory (the number of designs meets the manufacturer's needs).

production management model.

formulated to build the model:

a random variable) execution times.

because the tree is oriented to the root.

determinants,

beginning.

Stage I. Empirical aggregation of actions making up the production process. Stage II. Using the Altshuller method for verifying causal relationships between particular actions.

Stage III. Making a schedule of the actions and determining their times. Stage IV. Building the model based on graph theory.

The fact that the author had researched the area for many years helped verify the process constituents and the causal relationships between them were found using the Altshuller method. For the sake of illustration, let us show the applied method with respect to the subprocess representing the creation of a fashion collection.

The evaluation of the attractiveness of clothing designs (5) is the critical action in the string of events presented in diagram 1. The acceptance of the designs means that the next steps can be taken, i.e. the sample room team can prepare a sample of the designed model.

Diagram 1. An algorithm illustrating a fashion collection design process. Source: developed by the author

480 New Frontiers in Graph Theory

Stage II. Using the Altshuller method for verifying causal relationships between particular

The fact that the author had researched the area for many years helped verify the process constituents and the causal relationships between them were found using the Altshuller method. For the sake of illustration, let us show the applied method with respect to the

The evaluation of the attractiveness of clothing designs (5) is the critical action in the string of events presented in diagram 1. The acceptance of the designs means that the next steps can be taken, i.e. the sample room team can prepare a sample of the designed model.

Stage I. Empirical aggregation of actions making up the production process.

Stage III. Making a schedule of the actions and determining their times.

Diagram 1. An algorithm illustrating a fashion collection design process.

Source: developed by the author

Stage IV. Building the model based on graph theory.

subprocess representing the creation of a fashion collection.

actions.

Otherwise, the proposed models have to be redesigned. This procedure is repeated until the group of specialists appointed by the enterprise board decides that the outcomes are satisfactory (the number of designs meets the manufacturer's needs).

The Altshuller method applied to evaluate the results of all strings of events allowed scheduling the process correctly. The duration times of the strings were determined empirically and then verified using special catalogues being in possession of every clothing manufacturer. The actual duration times of identical actions may vary between particular manufacturers, as they operate in different technical and technological environments. Therefore, a production management model should follow from an investigation conducted in the concrete enterprise. Because process scheduling is widely discussed topic in the literature [2, 4], for the sake of keeping this article succinct we only wish to note that the schedule produced in the course of this investigation provided a basis for constructing a production management model.

The number of points for starting the model construction corresponded to the number of entry points to the process. The points are the leaves from which each branch consisting of many events (vertices) and of actions (edges) denoting their execution originates. The edges do not provide any information on their duration times, indicating only the sequence of events. At the next stage of tree development, particular branches converge to ultimately form the root, i.e. the final event. With these rules in mind, two assumptions were formulated to build the model:


Let us consider whether the second assumption is not a simplification possibly leading to the creation of an unrealistic model. We need to bear in mind that in the case of the short life-cycle goods the time for performing each elementary action can be allowed to deviate from the schedule only to a limited degree, because product selling must start at a predetermined point in time. Therefore, the deterministic time assumption actually relates to some expected time, the length of which is estimated based on long-time experience and many measurements. A starting point for future research could be the adaptation of the model to a situation where the elementary actions have non-deterministic (i.e. described by a random variable) execution times.

The production management model was built along the following lines:


Study of Changes in the Production Process Based in Graph Theory 483

**4 5 6 12** 

**10**

**9 11** 

Diagram 2. A production management model – the product creation subprocess.

consumer focus group, shows at fairs, etc*.*) initiate the following processes:

The decisions giving the green light to the production of particular models (subsequent to

**16** 

**17** 

**19**

**18** 

**20**

**21 22** 

**13 15**

**14**


The discussed production management model is illustrated graphically in diagram 3, but without repeating the string of actions that has already been shown in diagram 2 (the product creation subprocess). Let us concentrate our discussion on the product manufacturing subprocess, which is determined by only several vertices. Therefore, the vertex 52 stands for assembling the "job order" (i.e. the putting together of all materials, accessories, the earlier made sample, and the technical and technological documentation for

Source: developed by the author

**1** 

**2** 

**3** 

**7**

**8**





6. Each vertex *u* can be assigned pairs of numbers p(*u*) and q(*u*) denoting the earliest and latest acceptable times of starting actions originating in the vertex.

Let us explain now the exact meanings of the notions and terms used in this article.

The earliest acceptable action start time p(*u*) is the time when the state *u* appears, assuming that the preceding actions were performed on schedule.

The latest acceptable action start time q(*u*) represented by an edge originating in the vertex *u* allows completing the entire process on schedule, provided that all the following actions are performed on time.

For each vertex *u* of the production management model, the following inequality exists:

$$\mathbf{p}(u) \le \mathbf{q}(u) \tag{1}$$

If the strong inequality p(*u*) < q(*u*) is met, then some extra time is available to the state *u*, which can be used to make up for any earlier delay in the string of actions*.* The acceptable length of this delay is given by q(*u*) – p(*u*) and it is not likely to affect the process completion time, unless the times of the next actions grow longer. However, if the equality q(*u*) = p(*u*) takes place, any delay in the string of actions preceding the state *u* may defer the process completion time. Therefore, the extra time r(*u*) available to the state *u* (i.e. the difference between the latest and earliest acceptable start times for an action) can be defined as:

$$\mathbf{r}(\mu) \equiv \mathbf{q}(\mu) - \mathbf{p}(\mu) \tag{2}$$

Based on the above, other assumptions can be formulated:


To simplify the formulas, a state in the process represented by a vertex (e.g. *u*) will be treated as identical with that vertex, so the term state *u* will be used*.* Analogously, an action originating from the state *u* and having the state *v* as its end will be equated with the *u–v* edge and called the *u–v* action for the sake of clarity. The time of its execution will be denoted as t(*u–v*). These assumptions allow forming a production management model as a tree. Let us present its portion corresponding to the product creation subprocess (diagram 2).

The designer does his job (4), which is central to the design making subprocess, based on the leaves (actions 1, 2, 3 in diagram 1). The accepted drawings (5) are transferred to the sample room (6). At the same time, visually attractive fabrics are being sought, selected and purchased for the sample room (7−11). The fabrics and the prepared markers (12) are used for making the cutouts (13) that are then assembled with the accessories (14) to make a sample of the model (15). Parallel to that, the abridged model documentation is being prepared, so that the manufacturing costs can be calculated (16−20). The finished models are evaluated for their appearance and functionality (21). The accepted ones are priced and added to the fashion collection (22). If the production process were designed as part of B2B services involving the delivery of corporate clothing (employees meeting with customers shape their employer's image), then body measurements (23–26 in diagram 3) would precede the making of the markers.

482 New Frontiers in Graph Theory

6. Each vertex *u* can be assigned pairs of numbers p(*u*) and q(*u*) denoting the earliest and

The earliest acceptable action start time p(*u*) is the time when the state *u* appears, assuming

The latest acceptable action start time q(*u*) represented by an edge originating in the vertex *u* allows completing the entire process on schedule, provided that all the following actions are

 p(*u*) ≤ q(*u*) (1) If the strong inequality p(*u*) < q(*u*) is met, then some extra time is available to the state *u*, which can be used to make up for any earlier delay in the string of actions*.* The acceptable length of this delay is given by q(*u*) – p(*u*) and it is not likely to affect the process completion time, unless the times of the next actions grow longer. However, if the equality q(*u*) = p(*u*) takes place, any delay in the string of actions preceding the state *u* may defer the process completion time. Therefore, the extra time r(*u*) available to the state *u* (i.e. the difference

r(*u*) = q(*u*) – p(*u*) (2)

To simplify the formulas, a state in the process represented by a vertex (e.g. *u*) will be treated as identical with that vertex, so the term state *u* will be used*.* Analogously, an action originating from the state *u* and having the state *v* as its end will be equated with the *u–v* edge and called the *u–v* action for the sake of clarity. The time of its execution will be denoted as t(*u–v*). These assumptions allow forming a production management model as a tree. Let us present its portion corresponding to the product creation subprocess

The designer does his job (4), which is central to the design making subprocess, based on the leaves (actions 1, 2, 3 in diagram 1). The accepted drawings (5) are transferred to the sample room (6). At the same time, visually attractive fabrics are being sought, selected and purchased for the sample room (7−11). The fabrics and the prepared markers (12) are used for making the cutouts (13) that are then assembled with the accessories (14) to make a sample of the model (15). Parallel to that, the abridged model documentation is being prepared, so that the manufacturing costs can be calculated (16−20). The finished models are evaluated for their appearance and functionality (21). The accepted ones are priced and added to the fashion collection (22). If the production process were designed as part of B2B services involving the delivery of corporate clothing (employees meeting with customers shape their employer's image), then body measurements (23–26 in diagram 3) would

For each vertex *u* of the production management model, the following inequality exists:

between the latest and earliest acceptable start times for an action) can be defined as:

latest acceptable times of starting actions originating in the vertex.

that the preceding actions were performed on schedule.

Based on the above, other assumptions can be formulated:


precede the making of the markers.

performed on time.

(diagram 2).

Let us explain now the exact meanings of the notions and terms used in this article.

Diagram 2. A production management model – the product creation subprocess. Source: developed by the author

The decisions giving the green light to the production of particular models (subsequent to consumer focus group, shows at fairs, etc*.*) initiate the following processes:


The discussed production management model is illustrated graphically in diagram 3, but without repeating the string of actions that has already been shown in diagram 2 (the product creation subprocess). Let us concentrate our discussion on the product manufacturing subprocess, which is determined by only several vertices. Therefore, the vertex 52 stands for assembling the "job order" (i.e. the putting together of all materials, accessories, the earlier made sample, and the technical and technological documentation for

Study of Changes in the Production Process Based in Graph Theory 485

the manufacturing process), checking the order's completeness and then delivering the complete set to the manufacturing team. The vertices 53−57 represent the cutting room operations (spreading the fabric into stacks, dividing the stacked fabric into sections, making the patterns either automatically or manually, applying the stiffening inserts (if necessary), checking the cut-outs for quality and bundling them together into units of input

The cutouts and the technological documentation for their assembly meet at the vertex 58 being the string of operations performed in the sewing-room (the operations may vary depending on the model of clothing and the sewing room equipment). For instance, it takes several tens of operations to assemble the cutouts of an overcoat. Given that the construction of the product manufacturing subprocess has already been discussed in another original study by the author [13], it does not seem necessary to repeat it. The vertex 59 is the inspection of the finished product quality and the vertex 60 represents its delivery to the warehouse. Taking into account that the main goal of the investigation was to build a model of production management process, the aggregation of the elementary jobs into sub-

**5. A study of changes in the production process for short-life cycle goods** 

The critical path of the tree determines the duration of the production process, in the same way as a network's critical path does. By identifying the critical path of the production management model and by calculating the Indicator of Process Resistance (IPR) to change

Let us present a procedure for finding a critical path or paths of the production management model that do not offer time reserves. Their number provides an indication of the process resistance to changes. The tree has at least one critical path, but every path running between an initial state and a final state can theoretically be a critical one. Then the production process is likely to end later than scheduled, because of changes increasing the duration of any of its constituent tasks. Production processes based on management models with a large number of critical paths are not resistant. The most resistant are processes having only one critical path. This shows that a production management model should be analysed while

**5.1 A critical path and an Indicator of Process Resistance in the production** 

the manager can estimate the degree to which the process completion date is at risk.

still being planned, as the range of the model verification options is the greatest then.

Let us present a procedure that was developed to identify the critical path of a production management model shaped as a rooted tree. Let the vertex *w* correspond to the tree's root (a final event of the production process). Among the states directly preceding the state *w* there is a state *u* having a time reserve r(*u*) = 0. If all states coming before the state *w* had time reserves, then the state *w* would have a time reserve too. This contradicts the assumption on

 p(*w*) = q(*w*), i.e. r(*w*) = 0 (3) Applying the same reasoning to the state *u* and its preceding states, we infer that there is some state *v* preceding the state *u,* for which r(*v*) = 0. This procedure should be repeated until we discover that a state without a time reserve is one of the initial states (let us call it

delivered to the sewing room).

processes seems rational.

**management model** 

which model [6] was founded, i.e.:

Diagram 3. The production management model. Source: developed by the author

484 New Frontiers in Graph Theory

Diagram 3. The production management model.

Source: developed by the author

the manufacturing process), checking the order's completeness and then delivering the complete set to the manufacturing team. The vertices 53−57 represent the cutting room operations (spreading the fabric into stacks, dividing the stacked fabric into sections, making the patterns either automatically or manually, applying the stiffening inserts (if necessary), checking the cut-outs for quality and bundling them together into units of input delivered to the sewing room).

The cutouts and the technological documentation for their assembly meet at the vertex 58 being the string of operations performed in the sewing-room (the operations may vary depending on the model of clothing and the sewing room equipment). For instance, it takes several tens of operations to assemble the cutouts of an overcoat. Given that the construction of the product manufacturing subprocess has already been discussed in another original study by the author [13], it does not seem necessary to repeat it. The vertex 59 is the inspection of the finished product quality and the vertex 60 represents its delivery to the warehouse. Taking into account that the main goal of the investigation was to build a model of production management process, the aggregation of the elementary jobs into subprocesses seems rational.

### **5. A study of changes in the production process for short-life cycle goods**

### **5.1 A critical path and an Indicator of Process Resistance in the production management model**

The critical path of the tree determines the duration of the production process, in the same way as a network's critical path does. By identifying the critical path of the production management model and by calculating the Indicator of Process Resistance (IPR) to change the manager can estimate the degree to which the process completion date is at risk.

Let us present a procedure for finding a critical path or paths of the production management model that do not offer time reserves. Their number provides an indication of the process resistance to changes. The tree has at least one critical path, but every path running between an initial state and a final state can theoretically be a critical one. Then the production process is likely to end later than scheduled, because of changes increasing the duration of any of its constituent tasks. Production processes based on management models with a large number of critical paths are not resistant. The most resistant are processes having only one critical path. This shows that a production management model should be analysed while still being planned, as the range of the model verification options is the greatest then.

Let us present a procedure that was developed to identify the critical path of a production management model shaped as a rooted tree. Let the vertex *w* correspond to the tree's root (a final event of the production process). Among the states directly preceding the state *w* there is a state *u* having a time reserve r(*u*) = 0. If all states coming before the state *w* had time reserves, then the state *w* would have a time reserve too. This contradicts the assumption on which model [6] was founded, i.e.:

$$\mathbf{p}(w) \equiv \mathbf{q}(w)\text{, i.e. } \mathbf{r}(w) = 0\tag{3}$$

Applying the same reasoning to the state *u* and its preceding states, we infer that there is some state *v* preceding the state *u,* for which r(*v*) = 0. This procedure should be repeated until we discover that a state without a time reserve is one of the initial states (let us call it

Study of Changes in the Production Process Based in Graph Theory 487

Let us present the **Production Process Control Tree** (PPCT) method, which was specifically developed for the short-life cycle goods. Let us note that the occurrence of some state *u* can


The delayed occurrence of the state *u* may make shift the production end to a later date. This is certain to happen, when *u* is a critical state. In a general case**, a delay will only take place when the delayed occurrence of the state** *u* **affects the commencement of the nearest critical state situated on the path linking the state** *u* **and the tree root**. However, the delay

For the production management model to monitor changes, we need to find the times p(*u*) and q(*u*), representing the earliest moment of commencing each task and the latest moment of ending each task, respectively. According to the literature, the following rules can be



Let us suppose that we have a production management model shaped as an inverted tree. The duration of particular tasks and the moments when the initial states of tasks should start are also known. The duration of the task transforming the state *a* into *b* is denoted as t(*a–b*) and the earliest moment when the state *u* can commence is denoted as p(*u*). Let us create an algorithm for this production management model to find p(*ai*), q(*w*) and q(*a*). The values will be used when the production management model will have to account for the




Let us use this method for calculating the time p(*u*) for the vertex *u*, which is not a tree leaf (i.e. an initial state). In the considered tree, the offspring of the vertex u are the vertices that

where: p(*u*) – the earliest moment of commencing the task originating in the vertex *u*,

of the state *u* may also be "absorbed" by the time reserves of the states following *u*.

p(*a*) – the earliest moment of commencing the task originating in the vertex *a*,

t(*a-u*) – the time for performing the task between the vertices *a* and *u*.

be delayed with respect to the time p(*u*), because of one of two reasons:

scheduled time t(*a-u*).

applied to find the duration of the tasks:

explicitly prescribe task's deadline or duration,

in case the end date of the production process becomes uncertain.

commence; it will be calculated according to formula (8) below,

impacts of variables affecting the production process. So:

calculated according to formula (11) below,

come immediately before it. Then:

will be calculated according to formula (13) below.

the vertex *a*). The path starting at *a* and ending at *w* will be called a **critical path**. Accordingly, each state on the critical path is a critical state, particularly the initial state *a*.

While trying to identify the critical path we may discover that the analysed critical state *u* is preceded by more than one critical state. Then more than one critical path goes through the state *u*. This means that **the production management model (for the short life-cycle products)** has as many critical paths as critical initial states. Let us suppose that the model has *n* initial states containing *k* critical states. According to the earlier observations, the value of *k* is within the range:

$$1 \le k \le n \tag{4}$$

Consequently, the **Indicator of Process Resistance** to unexpected changes can be calculated as follows:

$$\text{IPR} = \frac{n-k}{n} = 1 - \frac{k}{n} \tag{5}$$

where: IPR – Indicator of Process Resistance to unexpected changes,

*n*– the number of the initial states (tree leaves),

*k*– the number of the critical states among the initial states.

IPR's extreme values are obtained for *k = n* and *k =* 1. They define the range of values for the created indicator, i.e.:

$$<0\/1-\frac{1}{n}>\tag{6}$$

When every path in the production management model is critical, then *k = n* and the IPR = 0. In the model with a single critical path *k =* 1 and the IPR is close to one, because it is calculated as:

$$\text{IPR} = 1 - \frac{1}{n} \approx 1\tag{7}$$

It can be assumed that such defined **IPR's value measures the process resistance to changes that delay its completion.** The indicator can be used for assessing the production management model's design, as well as its actual performance (each time it has been modified). When the IPR is 0, then the timely completion of the production process is very much at risk, should any change extending the duration of any of its tasks occur. This means that the IPR is a synthetic measure of process resistance to changes, regardless of the stage they affect.

#### **5.2 The PPCT as a method of investigating changes in the production process**

A production management model (an inverted tree) provides information on the tasks, their duration and relationships. This aggregate knowledge allowed developing a method that:


486 New Frontiers in Graph Theory

the vertex *a*). The path starting at *a* and ending at *w* will be called a **critical path**. Accordingly, each state on the critical path is a critical state, particularly the initial state *a*. While trying to identify the critical path we may discover that the analysed critical state *u* is preceded by more than one critical state. Then more than one critical path goes through the state *u*. This means that **the production management model (for the short life-cycle products)** has as many critical paths as critical initial states. Let us suppose that the model has *n* initial states containing *k* critical states. According to the earlier observations, the value

 1 ≤ *k* ≤ *n* (4) Consequently, the **Indicator of Process Resistance** to unexpected changes can be calculated

> IPR 1 *nk k n n*

IPR's extreme values are obtained for *k = n* and *k =* 1. They define the range of values for the

<sup>1</sup> 0; 1 *n*

When every path in the production management model is critical, then *k = n* and the IPR = 0. In the model with a single critical path *k =* 1 and the IPR is close to one, because it is

<sup>1</sup> IPR 1 1

It can be assumed that such defined **IPR's value measures the process resistance to changes that delay its completion.** The indicator can be used for assessing the production management model's design, as well as its actual performance (each time it has been modified). When the IPR is 0, then the timely completion of the production process is very much at risk, should any change extending the duration of any of its tasks occur. This means that the IPR is a synthetic

A production management model (an inverted tree) provides information on the tasks, their duration and relationships. This aggregate knowledge allowed developing a method that:


measure of process resistance to changes, regardless of the stage they affect.



**5.2 The PPCT as a method of investigating changes in the production process** 

where: IPR – Indicator of Process Resistance to unexpected changes,

*k*– the number of the critical states among the initial states.

*n*– the number of the initial states (tree leaves),

(5)

(6)

*<sup>n</sup>* (7)

of *k* is within the range:

created indicator, i.e.:

calculated as:

as follows:

Let us present the **Production Process Control Tree** (PPCT) method, which was specifically developed for the short-life cycle goods. Let us note that the occurrence of some state *u* can be delayed with respect to the time p(*u*), because of one of two reasons:


where: p(*u*) – the earliest moment of commencing the task originating in the vertex *u*, p(*a*) – the earliest moment of commencing the task originating in the vertex *a*, t(*a-u*) – the time for performing the task between the vertices *a* and *u*.

The delayed occurrence of the state *u* may make shift the production end to a later date. This is certain to happen, when *u* is a critical state. In a general case**, a delay will only take place when the delayed occurrence of the state** *u* **affects the commencement of the nearest critical state situated on the path linking the state** *u* **and the tree root**. However, the delay of the state *u* may also be "absorbed" by the time reserves of the states following *u*.

For the production management model to monitor changes, we need to find the times p(*u*) and q(*u*), representing the earliest moment of commencing each task and the latest moment of ending each task, respectively. According to the literature, the following rules can be applied to find the duration of the tasks:


The knowledge of the rules for determining the duration of tasks and time reserves played an important role in developing the PPCT method. Each time reserve indicates the length of time by which a task can extend without the production management model having to undergo adjustment. Considering that a production process is shaped by many variables, the constructed model has to be dynamic, enabling even some modifications to the schedule in case the end date of the production process becomes uncertain.

Let us suppose that we have a production management model shaped as an inverted tree. The duration of particular tasks and the moments when the initial states of tasks should start are also known. The duration of the task transforming the state *a* into *b* is denoted as t(*a–b*) and the earliest moment when the state *u* can commence is denoted as p(*u*). Let us create an algorithm for this production management model to find p(*ai*), q(*w*) and q(*a*). The values will be used when the production management model will have to account for the impacts of variables affecting the production process. So:


Let us use this method for calculating the time p(*u*) for the vertex *u*, which is not a tree leaf (i.e. an initial state). In the considered tree, the offspring of the vertex u are the vertices that come immediately before it. Then:

Study of Changes in the Production Process Based in Graph Theory 489

The value on the right hand-side of equation (13) is determined precisely, as there is only one edge that starts at *a* and ends at *u*. Consequently, the formula needs neither a minimum operator nor a maximum operator. The formula (13) allows recurrent determination of the time q(*u*) for each vertex of the tree, which property is utilised in the PPCT method to

Changing production circumstances may extend the amount of time that is needed to end the process. This threat must result in an immediate correction of the model data. In other words, changing circumstances should generate warnings about a possibly delayed product

**The PPPCT method** we propose for investigating production changes compares the duration of each task with its scheduled time. Let us assume that a task *a–x* was performed in time t′(*a–x*), which extended beyond its scheduled time t(*a–x*) by *n* units. Then we have:

 t′(*a–x*) = t(*a–x*) + *n* (14) Let us also assume that the path linking the state *x* and the tree root successively goes through the states *y*1, *y*2, …, *y*k, so the path is given as *x* – *y*1 – …– *y*k – *w*. We additionally assume that all tasks preceding the state *a* were performed on time, meaning that the activity *a–x* started at the moment p(*a*). Then, one of the three possibilities takes place:

where: p(*x*) – the earliest moment when the task originating in the vertex *x* should

*n* – the number of units by which the duration of the task *a–x* has been extended.

p(*a*) – the earliest moment when the task originating in the vertex *a* preceding the state *x*

Let us explore now the meaning of the three situations and find the algorithms to deal with

Should the first case occur, the production process end date runs no risk of being delayed, because the earliest moment when the task *y*1 (initiation of the activity *x*) should start takes place after the length of time allocated to activity *a–x* elapses. So the model of the process does not need any modifications, but replacing the time t(*a–x*) by t′(*a–x*) = t(*a–x*) + *n*. In this case, the production manager does not have to be informed about an event if occurred, as its

In the second case, the production process is not exposed to any direct threat to its timely completion, because the state *x* has the time reserve r(*x*) = q(*x*) – p(*x*). The task *a–x* will end not later than q(*x*), being the latest allowed moment for the task *x––y*1 to commence. In this

q(*x*) – the latest moment the task originating in the vertex *x* should end,

t(*a–x*) – the duration of the task between the vertices *a* and *x*,

situation, the tree requires the following modifications:

i. the time (*a–x*) has to be replaced with t′(*a–x*) = t(*a–x*) + *n*,

1° p(*a*) + t(*a–x*) + *n* ≤ p(*x*), or (15)

3° q(*x*) < p(*a*) + t(*a–x*) + *n*. (17)

2° p (*x*) < p(*a*) + t(*a–x*) + *n* ≤ q(*x*), or (16)

monitor changes.

completion date.

commence,

them.

should commence

influence was neutral.

$$\mathbf{p}(u) = \max \left\{ \mathbf{p}(a\_l) + \mathbf{t}(a\_l \cdot u) \right\} \quad \text{for } i = 1, \ldots, k \tag{8}$$

where: p(*u*) – the earliest moment when the task originating in the vertex *u* should commence; p(*ai*) – the earliest moment when the task originating in the vertex *ai* should commence, t(*ai-u*) – the duration of the task between the vertices *ai* and *u*.

#### The above **rule helps to find the moments p(***u***), first for the states directly following the initial states and then recurrently for all vertices of the tree representing a production management model.**

Let *w* be a state equivalent to the tree root and p(*w*) the actual end date of the production process. If T is the scheduled end date, then the process will end as planned when:

$$\mathbf{p}(w) \le \mathbf{T} \tag{9}$$

If otherwise, the product will not be ready on time. This problem can be handled by adjusting the process, which entails some restructuring of the production management model. Continuing the earlier procedure, we determine the moment q(*u*), i.e. the latest allowed time when the state *u* should commence. Naturally, the relationship:

$$\mathbf{q}(w) = \mathbf{T} \tag{10}$$

still holds.

Building on the earlier assumption about the management of production of short life-cycle goods, we can write that:

$$\mathbf{p}(w) \equiv \mathbf{q}(w) \equiv \mathbf{T} \tag{11}$$

where: p(*w*) – the earliest allowed moment when the task originating in the vertex *w* (the tree root) should commence,

q(*w*) – the latest allowed when the task *w*, being the final task of the production process, should end,

T – the scheduled process end.

If the equality p(*w*) = q(*w*) = T does not take place, then the condition (11) can be met by introducing a dummy state *w* and assuming that:

$$\mathbf{p}(w') = \mathbf{T} \text{ and } (w - w') = \mathbf{T} - \mathbf{p}(w) \tag{12}$$

The time t(*w–w′*) shows the shift in the product completion date, thus providing information on the observed change's effect on the production process. According to assumption (11), **the vertex** *w* **ending the production process (i.e. the tree root) is a critical state**. So, the moment q(*u*) of the state *u* is determined and the state *a* precedes the state *u* towards the root. Then q(*a*) can be defined using the following equation:

$$\mathbf{q}(a) \equiv \mathbf{q}(\mu) - \mathbf{t}(a - \mu) \tag{13}$$

where: q(*a*) – the latest allowed moment when the task originating in the vertex *a* preceding the vertex *u* should end,

q(*u*) –the latest allowed moment when the task originating in the vertex *u* should end, t(*a–u*) – the duration of the task between the vertices *a* and *u*.

488 New Frontiers in Graph Theory

 p(*u*) = max {p(*ai*) + t(*ai–u*)} for *i* = 1, …, *k* (8) where: p(*u*) – the earliest moment when the task originating in the vertex *u* should commence; p(*ai*) – the earliest moment when the task originating in the vertex *ai* should commence,

The above **rule helps to find the moments p(***u***), first for the states directly following the initial states and then recurrently for all vertices of the tree representing a production** 

Let *w* be a state equivalent to the tree root and p(*w*) the actual end date of the production

 p(*w*) ≤ T (9) If otherwise, the product will not be ready on time. This problem can be handled by adjusting the process, which entails some restructuring of the production management model. Continuing the earlier procedure, we determine the moment q(*u*), i.e. the latest

q(*w*) = T (10)

Building on the earlier assumption about the management of production of short life-cycle

where: p(*w*) – the earliest allowed moment when the task originating in the vertex *w* (the

q(*w*) – the latest allowed when the task *w*, being the final task of the production process,

If the equality p(*w*) = q(*w*) = T does not take place, then the condition (11) can be met by

 p(*w*′) = T and (*w–w′*) = T – p(*w*) (12) The time t(*w–w′*) shows the shift in the product completion date, thus providing information on the observed change's effect on the production process. According to assumption (11), **the vertex** *w* **ending the production process (i.e. the tree root) is a critical state**. So, the moment q(*u*) of the state *u* is determined and the state *a* precedes the state *u* towards the

where: q(*a*) – the latest allowed moment when the task originating in the vertex *a* preceding

q(*u*) –the latest allowed moment when the task originating in the vertex *u* should end,

**p(***w***) = q(***w***) = T** (11)

**q(***a***) = q(***u***) – t(***a–u***)** (13)

process. If T is the scheduled end date, then the process will end as planned when:

allowed time when the state *u* should commence. Naturally, the relationship:

t(*ai-u*) – the duration of the task between the vertices *ai* and *u*.

**management model.**

still holds.

should end,

goods, we can write that:

tree root) should commence,

T – the scheduled process end.

the vertex *u* should end,

introducing a dummy state *w* and assuming that:

root. Then q(*a*) can be defined using the following equation:

t(*a–u*) – the duration of the task between the vertices *a* and *u*.

The value on the right hand-side of equation (13) is determined precisely, as there is only one edge that starts at *a* and ends at *u*. Consequently, the formula needs neither a minimum operator nor a maximum operator. The formula (13) allows recurrent determination of the time q(*u*) for each vertex of the tree, which property is utilised in the PPCT method to monitor changes.

Changing production circumstances may extend the amount of time that is needed to end the process. This threat must result in an immediate correction of the model data. In other words, changing circumstances should generate warnings about a possibly delayed product completion date.

**The PPPCT method** we propose for investigating production changes compares the duration of each task with its scheduled time. Let us assume that a task *a–x* was performed in time t′(*a–x*), which extended beyond its scheduled time t(*a–x*) by *n* units. Then we have:

$$\mathbf{t}'(a - \mathbf{x}) = \mathbf{t}(a - \mathbf{x}) + \mathbf{n} \tag{14}$$

Let us also assume that the path linking the state *x* and the tree root successively goes through the states *y*1, *y*2, …, *y*k, so the path is given as *x* – *y*1 – …– *y*k – *w*. We additionally assume that all tasks preceding the state *a* were performed on time, meaning that the activity *a–x* started at the moment p(*a*). Then, one of the three possibilities takes place:

$$\mathbf{1}^{\circ} \quad \mathbf{p}(a) + \mathbf{t}(a - \mathbf{x}) + \boldsymbol{\mathfrak{u}} \le \mathbf{p}(\mathbf{x}), \text{or} \tag{15}$$

$$\mathbf{2^{o}} \quad \mathbf{p}\left(\mathbf{x}\right) \le \mathbf{p}(a) + \mathbf{t}(a - \mathbf{x}) + n \le \mathbf{q}(\mathbf{x}), \text{ or }\tag{16}$$

$$\mathbf{P}^{\diamond} \quad \mathbf{q}(\mathbf{x}) \le \mathbf{p}(a) + \mathbf{t}(a - \mathbf{x}) + \mathbf{n}.\tag{17}$$

where: p(*x*) – the earliest moment when the task originating in the vertex *x* should commence,

q(*x*) – the latest moment the task originating in the vertex *x* should end,

p(*a*) – the earliest moment when the task originating in the vertex *a* preceding the state *x* should commence

t(*a–x*) – the duration of the task between the vertices *a* and *x*,

*n* – the number of units by which the duration of the task *a–x* has been extended.

Let us explore now the meaning of the three situations and find the algorithms to deal with them.

Should the first case occur, the production process end date runs no risk of being delayed, because the earliest moment when the task *y*1 (initiation of the activity *x*) should start takes place after the length of time allocated to activity *a–x* elapses. So the model of the process does not need any modifications, but replacing the time t(*a–x*) by t′(*a–x*) = t(*a–x*) + *n*. In this case, the production manager does not have to be informed about an event if occurred, as its influence was neutral.

In the second case, the production process is not exposed to any direct threat to its timely completion, because the state *x* has the time reserve r(*x*) = q(*x*) – p(*x*). The task *a–x* will end not later than q(*x*), being the latest allowed moment for the task *x––y*1 to commence. In this situation, the tree requires the following modifications:

i. the time (*a–x*) has to be replaced with t′(*a–x*) = t(*a–x*) + *n*,

Study of Changes in the Production Process Based in Graph Theory 491

manufacturing cycle is central to company management. Its importance goes beyond the possibility of synchronising the subprocesses alone. The prolonged production of the SLCP shortens the available selling period, and in the extreme case it can completely ruin the sales. This situation is caused by the seasonal character of sales, the time of the year when a

A production management model based on an inverted tree concept (graph theory) allows an innovative, graphical representation of a management process applied to the production of short life-cycle goods. Although an inverted rooted tree has not been used in management theory so far, there are good reasons for constructing it, because it can help:


The amount of material discussing the above issues is quite extensive, so it will be presented

All computations (necessary to design the original tree, to determine its longest path and to readjust the production management model) can be performed in real time, once an appropriate computer software has been developed. The need for the management process to integrate technology, organizational issues and IT, regardless of the supervisory, stimulating role of the process manager, was accentuated by B. Nogalski [20]. The software should be built around the aforementioned algorithm that enables study of changes in the production of the short life-cycle goods. The software helps implement the method we propose in business practice. Making decisions under the pressure of time is a key problem that companies manufacturing short life-cycle products have to resolve. Modern production management methods, including the PPCT, combined with IT tools are the only ones that

after each process modification caused by changes arising during its execution, - develop a method for analysing changes in the management of production of short life-



The proposed method for analysing changes in the production process can improve the effectiveness of companies making short life-cycle goods that function in turbulent environments. According to the *Global Trends 2025* report prepared by the National Intelligence Council, such environments are becoming the norm today [21]. The report reveals not only problems, but also opportunities that arise from unexpected changes creating new

[1] Ayres R.U., Ayres L., Rade I., *The Life Cycle of Cooper, Its Co-Products and By-products*,

Kulwer Academic Publishers, Dordrecht 2003


cycle goods that allows its user to have active control over the process.

in other articles that will be published in this periodical.

clothing article can be worn, etc.

make it possible to:

losses).

economic realities.

**7. References** 

circumstances,

ii. each state on the path *x* – *y*1 – …– *y*k – *w* has to be assigned a new commencement time using the formula (8) and some obvious changes have to be made to the formula symbols (*u* has to be replaced with the right vertex name and *ai* with its preceding vertices).

The production manager has to be notified of the changes, but no action is required to prevent the production process from running late.

Two things need to be raised at this point: 1) the moments p(*x*), p(*y*1), p(*y*2), …, p(*y*k) have to be recalculated, because the changes may have transformed the resistant states into critical ones, thus affecting the process structure; 2) the moments q(*x*), q(*y*1), q(*y*2), …, q(*y*k) do not change, because the scheduled process end date T = p(*w*) = q(*w*) that depends on them remains the same.

In the third case, the production process end date will be exceeded, because the state *x* needs more time to end than its time reserve r(*x*) allows. Hence, the model has to be modified as follows:


The steps (i) ÷ (iv) **readjust the model of the process**. The production manager has to be notified of the situation to decide about the next steps after analysing the new model. The manager may choose to shorten the sequence of activities *x* – *y*1 – …– *y*k – *w* by introducing organizational, technical or technological improvements. If the intervention is effective and, for instance, the time t(*y*i – *y*i+1) becomes shorter by *m* units, then the steps (i) ÷ (iv) should be repeated, with the time t(*y*i – *y*i+1) at step (i) being replaced by t(*y*i – *y*i+1) – *m.*

Because decisions on taking actions causing dynamic adjustment of the model usually increase product manufacturing costs, the company board has to grant the production manager an appropriate scope of authority. Otherwise, the PPCT method enabling interactive management of production processes will not be as effective as it can be. If the duration of the longest path of the tree ensures following the intervention that the production process will end as scheduled, then the process is continued. If otherwise, the production manager has to notify the Board (or another relevant body) of the situation, which may choose to discontinue the production process (after estimating the losses) or to carry on.

### **6. Conclusion**

The presented operational algorithm allows concluding that the empirical verification of the production model for the short life cycle products confirms the hypothesis of the determined duration of the production process. The process consists of four subprocesses that run cyclically and are staggered with respect to each other by constant time intervals. Because the main building material of the management science is the inductive methods that enable drawing general conclusions from empirical research [22], the presented modelling results can be assumed to have a scientific value. The generated model of the product 490 New Frontiers in Graph Theory

ii. each state on the path *x* – *y*1 – …– *y*k – *w* has to be assigned a new commencement time using the formula (8) and some obvious changes have to be made to the formula symbols (*u* has to be replaced with the right vertex name and *ai* with its preceding

The production manager has to be notified of the changes, but no action is required to

Two things need to be raised at this point: 1) the moments p(*x*), p(*y*1), p(*y*2), …, p(*y*k) have to be recalculated, because the changes may have transformed the resistant states into critical ones, thus affecting the process structure; 2) the moments q(*x*), q(*y*1), q(*y*2), …, q(*y*k) do not change, because the scheduled process end date T = p(*w*) = q(*w*) that depends on them

In the third case, the production process end date will be exceeded, because the state *x* needs more time to end than its time reserve r(*x*) allows. Hence, the model has to be modified as

ii. each state on the path *x* – *y*1 – …– *y*k – *w* has to be assigned a new commencement time using the formula (8) and some obvious changes have to be made to the formula symbols

The steps (i) ÷ (iv) **readjust the model of the process**. The production manager has to be notified of the situation to decide about the next steps after analysing the new model. The manager may choose to shorten the sequence of activities *x* – *y*1 – …– *y*k – *w* by introducing organizational, technical or technological improvements. If the intervention is effective and, for instance, the time t(*y*i – *y*i+1) becomes shorter by *m* units, then the steps (i) ÷ (iv) should be

Because decisions on taking actions causing dynamic adjustment of the model usually increase product manufacturing costs, the company board has to grant the production manager an appropriate scope of authority. Otherwise, the PPCT method enabling interactive management of production processes will not be as effective as it can be. If the duration of the longest path of the tree ensures following the intervention that the production process will end as scheduled, then the process is continued. If otherwise, the production manager has to notify the Board (or another relevant body) of the situation, which may choose to discontinue the

The presented operational algorithm allows concluding that the empirical verification of the production model for the short life cycle products confirms the hypothesis of the determined duration of the production process. The process consists of four subprocesses that run cyclically and are staggered with respect to each other by constant time intervals. Because the main building material of the management science is the inductive methods that enable drawing general conclusions from empirical research [22], the presented modelling results can be assumed to have a scientific value. The generated model of the product

(*u* has to be replaced with the right vertex name and *ai* with its preceding vertices), iii. the process end date T has to be replaced with T′ = p(*w*), assuming at the same time that q(*w*) = p(*w*), where the time p(*w*) represents a new process end date calculated at step (ii), iv. now the latest allowed moments of starting tasks that have not been carried out yet

have to be determined, their duration of the tasks remaining the same.

repeated, with the time t(*y*i – *y*i+1) at step (i) being replaced by t(*y*i – *y*i+1) – *m.*

production process (after estimating the losses) or to carry on.

vertices).

remains the same.

**6. Conclusion** 

follows:

prevent the production process from running late.

i. the time t(*a–x*) has to be replaced with t′(*a–x*) = t(*a–x*) + *n*,

manufacturing cycle is central to company management. Its importance goes beyond the possibility of synchronising the subprocesses alone. The prolonged production of the SLCP shortens the available selling period, and in the extreme case it can completely ruin the sales. This situation is caused by the seasonal character of sales, the time of the year when a clothing article can be worn, etc.

A production management model based on an inverted tree concept (graph theory) allows an innovative, graphical representation of a management process applied to the production of short life-cycle goods. Although an inverted rooted tree has not been used in management theory so far, there are good reasons for constructing it, because it can help:


The amount of material discussing the above issues is quite extensive, so it will be presented in other articles that will be published in this periodical.

All computations (necessary to design the original tree, to determine its longest path and to readjust the production management model) can be performed in real time, once an appropriate computer software has been developed. The need for the management process to integrate technology, organizational issues and IT, regardless of the supervisory, stimulating role of the process manager, was accentuated by B. Nogalski [20]. The software should be built around the aforementioned algorithm that enables study of changes in the production of the short life-cycle goods. The software helps implement the method we propose in business practice. Making decisions under the pressure of time is a key problem that companies manufacturing short life-cycle products have to resolve. Modern production management methods, including the PPCT, combined with IT tools are the only ones that make it possible to:


The proposed method for analysing changes in the production process can improve the effectiveness of companies making short life-cycle goods that function in turbulent environments. According to the *Global Trends 2025* report prepared by the National Intelligence Council, such environments are becoming the norm today [21]. The report reveals not only problems, but also opportunities that arise from unexpected changes creating new economic realities.

### **7. References**

[1] Ayres R.U., Ayres L., Rade I., *The Life Cycle of Cooper, Its Co-Products and By-products*, Kulwer Academic Publishers, Dordrecht 2003

**25** 

*1,3France 2Brazil* 

**Graphs for Ontology, Law and Policy** 

Pierre Mazzega1,2\*, Romain Boulet3 and Thérèse Libourel3

*2International Joint Laboratory OCE, IRD – Universidade de Brasilia* 

Since the post-war decades, Public Policies are required increasingly as a preferred tool to promote collective action. Today these public policies are developed through sophisticated participatory schemes involving a variety of actors, public or private. Indeed in the current context of globalization though the State and its administration are key actors (Henry, 2004), their influence fades gradually into a more diffuse institutional environment (Oström, 2005) involving a multitude of other actors (Hassenteufel, 2008). For example at the two ends of the spectrum of governance, we find on one hand the increasing involvement of supranational entities, on the other hand the involvement of nongovernmental

Therefore, the stated aims of their implementation and the means to achieve them are the result of negotiations and of - at least partial - consensus with stakeholders. In representative governments especially, the trend is growing imposing accountability as regard to the implementation and effects of these policy devices. Following the same trend it becomes mandatory to lean projects of public policy on impact analyses (André et al., 2004; Bourcier et al., 2012) themselves regulated by legal provisions (e.g. European Commission, 2004). These changes induce or reinforce specific phenomena of interest here: a) the systemic nature of law and public policy (and "public action", an expression that might have a more explicit connotation from a dynamic point of view); b) the gradual - yet limited disappearance of a singular authority (as could be the State) having the monopolistic power necessary for the shift in or the centralized decision-making; c) the emerging nature of the direct or indirect (desirable or undesirable, internalized or externalized, etc.) effects induced

These introductory remarks that are part of an intellectual position rather than of a due demonstration, lead us to propose a dialogue between the analysis of public policy and the analysis of complex systems. We take the risk of turning to the analysis of law and public policy as complex systems whose implementation mobilizes law, economics, sociology, policy and administrative sciences, and which *understanding* relies on these disciplines but

**1. Introduction** 

organizations.

by the policy and law.

Corresponding Author

 \* *1UMR GET, IRD, CNRS, Université de Toulouse III* 

*3UMR ESPACE-DEV, IRD, Université de Montpellier II* 


## **Graphs for Ontology, Law and Policy**

Pierre Mazzega1,2\*, Romain Boulet3 and Thérèse Libourel3 *1UMR GET, IRD, CNRS, Université de Toulouse III 2International Joint Laboratory OCE, IRD – Universidade de Brasilia 3UMR ESPACE-DEV, IRD, Université de Montpellier II 1,3France 2Brazil* 

### **1. Introduction**

492 New Frontiers in Graph Theory

[2] Burchard-Korol D., Furman J., *Zarządzanie produkcją i usługami*, Wydawnictwo Politechniki

[3] Drucker P.F., *Natchnienie i fart, czyli innowacja i przedsiębiorczość*, Wydawnictwo Studio

[4] Durlik I., *Inżynieria zarządzania. Strategia i projektowanie systemów produkcyjnych*, Agencja

[5] Grajewski P., Nogalski B., *Potencjalne źródła niesprawności w organizacji procesowej*, [in:]

[6] Grandys E., *Production Cycle Model for Short Life-Cycle Models*, "Fibres & Textiles in Eastern

[7] Grandys E., *Impact of External Determinants on the Functioning of Polish Clothing* 

[8] Grandys E., *Productions Management Model for Short Life-Cycle Goods*, "Fibres & Textiles in

[9] Grandys E., Grandys A., *Outsourcing – an Innowation Tool in Clothing Companies,* "Fibres

[10] Gutenberg Th., *A Review of Improvement Methods in Manufacturing Operations*, "Work

[11] Hammer M., Champy J., *Reeingineering the Corporation – Manifesto for Business* 

[12] Kleine-Doepke R., *Podstawy zarządzania*, Wydawnictwo C.H. Beck, Warsaw 1995 [13] Kołacińska E., *Zastosowanie teorii grafów w kierowaniu zespołami szyjącymi*, "Odzież" 1977, nr 9

[15] Kotler Ph., Amstrong G., *Principles of marketing,* 4th ed., Prentice Hall, London 1989 [16] Krupski R., *Innowacje w planowaniu strategicznym*, [in:] H. Bieniok, T. Kraśnicka (ed.),

[17] Leśkiewicz I., Leśkiewicz Z., *Zarys metodologii ekonomii (część II i III),* WNUS, Szczecin 1999 [18] de Luca L.M., Atuaehbe-Gima K., *Market Knowledge Dimensions and Cross-Functional* 

[19] Marchesnay L., *L`economie et la gestion sont – elles des sciences? Essaie d`epistemologie*,

[20] Nogalski B., *Restrukturyzacja procesowa w zarządzaniu małymi i średnimi przedsiębiorstwami*,

[21] National Intelligence Council, *Global Trends 2025: A Transformed World*, Washington,

[22] Sudoł S., *Nauki o zarządzaniu. Węzłowe problemy i kontrowersje*, Wydawnictwo TNOiK,

[23] Szczerbicki E., *Management of Comlexity and Information Flow In Agile Manufacturing*, [in:] A. Gunasekaran (ed.): *The 21st Century Competitive Strategy,* Amsterdam 2001 [24] Szczerbicki E., Jinadasa P., *Modelling for Performance Evaluation In Complex Systems*,

[26] Waszczyk M., Szczerbicki E., *Metodologiczne aspekty opisowego modelowania w naukach ekonomicznych,* Zeszyty Naukowe Politechniki Gdańskiej, Gdańsk 2003 [27] Więźlak W., Elmrych-Bocheńska J., Zieliński J., *Odzież. Budowa, własności i produkcja,*  Wydawnictwo Instytutu Technologii Eksploatacji – PIB, Radom 2009

"Cahier de l`EFRI" Universite Montpelier 2004, Vol. 11, No. 1

U.S. Government Printing Office, November 2008, www.dni.gov

"Systems Analysis, Modelling, Simulation" 2000, Vol. 38 [25] *The European Platform on Life Cycle Assessment*, http://lca.jrc.ec.europa.eu

*Innowacje zarządcze w biznesie i sektorze publicznym*, Wydawnictwo Akademii

*Collaboration: Examining the Different Routes to Product Innovation Performance,* 

Oficyna Wydawnicza Ośrodka Postępu Organizacyjnego Spółka z o.o., Bydgoszcz 1999

*Manufactures*, "Fibres & Textiles in Eastern Europe" 2010, No. 3

*Revolution*, Nicholas Brealey Publishing, London 1994

[14] Kotler Ph., *Marketing Management. 11th ed.*, Prentice Hall 2003

Ekonomicznej w Katowicach, Katowice 2008

"Journal of Marketing" Vol. 71, January 2007

M. Romanowska, M. Trocki (ed.), *Podejście procesowe do zarządzania*, Wydawnictwo

Śląskiej, Gliwice 2007

Emka, Warsaw 2004

SGH, Warszawa 2004

Europe" 2010, No. 1

Eastern Europe" 2010, No. 4

Study" 2003, Vol. 52, No. 2

Toruń 2007

& Textiles in Eastern Europe" 2008, No. 5

Wydawnicza Placet, Warszawa 2007

Since the post-war decades, Public Policies are required increasingly as a preferred tool to promote collective action. Today these public policies are developed through sophisticated participatory schemes involving a variety of actors, public or private. Indeed in the current context of globalization though the State and its administration are key actors (Henry, 2004), their influence fades gradually into a more diffuse institutional environment (Oström, 2005) involving a multitude of other actors (Hassenteufel, 2008). For example at the two ends of the spectrum of governance, we find on one hand the increasing involvement of supranational entities, on the other hand the involvement of nongovernmental organizations.

Therefore, the stated aims of their implementation and the means to achieve them are the result of negotiations and of - at least partial - consensus with stakeholders. In representative governments especially, the trend is growing imposing accountability as regard to the implementation and effects of these policy devices. Following the same trend it becomes mandatory to lean projects of public policy on impact analyses (André et al., 2004; Bourcier et al., 2012) themselves regulated by legal provisions (e.g. European Commission, 2004). These changes induce or reinforce specific phenomena of interest here: a) the systemic nature of law and public policy (and "public action", an expression that might have a more explicit connotation from a dynamic point of view); b) the gradual - yet limited disappearance of a singular authority (as could be the State) having the monopolistic power necessary for the shift in or the centralized decision-making; c) the emerging nature of the direct or indirect (desirable or undesirable, internalized or externalized, etc.) effects induced by the policy and law.

These introductory remarks that are part of an intellectual position rather than of a due demonstration, lead us to propose a dialogue between the analysis of public policy and the analysis of complex systems. We take the risk of turning to the analysis of law and public policy as complex systems whose implementation mobilizes law, economics, sociology, policy and administrative sciences, and which *understanding* relies on these disciplines but

<sup>\*</sup> Corresponding Author

Graphs for Ontology, Law and Policy 495

following limited set of concepts and estimators (the analysis methods and algorithms will

A graph is a mathematical object consisting of two sets: a set of vertices (or nodes) and a set of edges (or links), an edge linking two vertices. This mathematical structure of graph and its related analysis tools are used to model real phenomena of interaction between objects that are networks (see e.g. Brandes and Erlebach, 2005). We now introduce basic vocabulary of graph theory that will be used in this chapter. An induced *sub-graph* H of a graph G is a graph whose set of vertices is included in the set of vertices of G and there is an edge between two vertices of H if and only if there is an edge between these two

An undirected graph is *connected* if there is a path between any two vertices. A *connected component* of a graph is a sub-graph of maximum size (in particular a connected graph has one and only one connected component: itself). A directed graph is *weakly connected* if the underlying undirected graph is connected. It is *strongly connected* if there is a directed path (in each direction) from each vertex to any other vertex. A *strongly connected component* is a

A vertex v is a *neighbor* of a vertex u if there is an edge between u and v. The *neighborhood* of a vertex u is the sub-graph induced by the set of its neighbors and the *degree* of u is the number of its neighbors. A *complete graph* is a graph where each pair of vertices is linked by an edge. A *clique* in a graph is a complete sub-graph. Several matrices can be associated to a graph such as the adjacency matrix A whose (i,j)-element is 1 if vertex i is linked to vertex j

Understanding the architecture of a network first passes through a structural analysis. Networks are of many different kinds - simple, directed, weighted, labeled, etc. - which requires the development of specific indices to measure their properties. Some indices measure basic characteristics of the network such as the number of vertices or nodes *n*, the number of edges or links *m*, the density *d* of the network (defined by the ratio between the

The indices measuring the global connectivity of the network are built on the notion of shortest paths in the network. A *shortest path* between two vertices is a path (a sequence of consecutive edges) of minimal length. Global connectivity is then evaluated by the *mean of the shortest paths lengths l*, the *characteristic path length L* (median of the means of shortest paths; Watts, 2003) or the *diameter D* (the length of the longest shortest path in the graph). Two indices, called clustering coefficients, measure the local connectivity. The *first clustering coefficient C1* is defined by the average density of the neighborhood of a vertex. *The second clustering coefficient C2* is the ratio between the number of triangles in the network and the number of connected triples in this network which can also be seen as the probability to

actual number of links and the total possible number of links) and the mean degree.

have a link between two vertices linked to a common vertex.

be indicated through the cited references only).

maximal strongly connected sub-graph.

**2.1 Concepts** 

vertices in G.

and is 0 otherwise.

**2.2 Measures** 

also, in its foundations, on ontology or mathematics (though we are aware that the scale of this ambition is balanced by the modesty of the results presented here).

The modeling of law and public policy is an emerging field of research aiming in particular at understanding their "functioning", at simulating *ex ante* their potential impacts, at finding ways of achieving a desirable goal (back casting), at producing tools for decision support, at allowing the participative drafting of legal texts or policy, especially by using ICT (Information and Communication Technology) or approaches developed for the analysis and structuring of social networks. Two objectives are achieved in this chapter: a) cover part of the literature of recent years in this field; b) illustrate our point with original results drawn mainly from the analysis of law and policy in the wide field of environment and sustainable development.

In Section 2 we present some basic notions in graph theory and network analysis routinely used in this article (and in other cited articles). Our choice is to limit ourselves to a very small number of tools and concepts from graph theory while providing more opportunities for application in law or political science. In Section 3, an ontology-inspired approach is used to represent the law and public policy (and the associated knowledge) in the form of graphs whose analyses are powerful to discover and interpret cognitive and operational structures in these systems. We hope that the dividend of the example will double as our analysis focuses on the representation of current research conducted on the application of ICT in e-governance and modeling of public policies. In Section 4, we present various types of graphs induced by the law and whose analysis leads to propose a quantitative approach to some aspects of legal complexity. In particular the analysis of environmental treaties of international law adds a new graph structure to those previously identified in the analysis of networks of references between laws.

We proceed similarly in Section 5 for public policies considered in terms of organized action. It is in this case a policy of management of water resources implemented in France at the scale of a hydrological basin (large water cycle) where many uses are competing in particular in period of low water. Some perspective for expanding the areas of graph theory that will have a great interest in the modeling of Law and policy are briefly mentioned in Section 6 with concluding remarks.

### **2. Graphs for the analysis of complex systems**

From a general perspective graph theory is today a cornerstone of the study of complex systems. In this chapter we use a few fundamental concepts, measures and estimation methods developed in graph theory and network analysis, that provide us with privileged ways to conceptualize, formalize, model and visualize structural properties of legal and policy systems and to identify their non trivial properties. Both the use and development of these concepts and methods have proven to be fruitful in the study of large interaction networks in sociology or in biological sciences, where emerging structures like small-worlds or scale-free structures are recurrently exhibited. In return, we hypothesize that the contemporary legal and policy "fabrics" pose original problems that may trigger new developments in graph theory and network analysis. In order to show their relevance for the study of legal and policy systems in the next sections, we restrict our "toolbox" to the following limited set of concepts and estimators (the analysis methods and algorithms will be indicated through the cited references only).

### **2.1 Concepts**

494 New Frontiers in Graph Theory

also, in its foundations, on ontology or mathematics (though we are aware that the scale of

The modeling of law and public policy is an emerging field of research aiming in particular at understanding their "functioning", at simulating *ex ante* their potential impacts, at finding ways of achieving a desirable goal (back casting), at producing tools for decision support, at allowing the participative drafting of legal texts or policy, especially by using ICT (Information and Communication Technology) or approaches developed for the analysis and structuring of social networks. Two objectives are achieved in this chapter: a) cover part of the literature of recent years in this field; b) illustrate our point with original results drawn mainly from the analysis of law and policy in the wide field of environment and

In Section 2 we present some basic notions in graph theory and network analysis routinely used in this article (and in other cited articles). Our choice is to limit ourselves to a very small number of tools and concepts from graph theory while providing more opportunities for application in law or political science. In Section 3, an ontology-inspired approach is used to represent the law and public policy (and the associated knowledge) in the form of graphs whose analyses are powerful to discover and interpret cognitive and operational structures in these systems. We hope that the dividend of the example will double as our analysis focuses on the representation of current research conducted on the application of ICT in e-governance and modeling of public policies. In Section 4, we present various types of graphs induced by the law and whose analysis leads to propose a quantitative approach to some aspects of legal complexity. In particular the analysis of environmental treaties of international law adds a new graph structure to those previously identified in the analysis

We proceed similarly in Section 5 for public policies considered in terms of organized action. It is in this case a policy of management of water resources implemented in France at the scale of a hydrological basin (large water cycle) where many uses are competing in particular in period of low water. Some perspective for expanding the areas of graph theory that will have a great interest in the modeling of Law and policy are briefly mentioned in

From a general perspective graph theory is today a cornerstone of the study of complex systems. In this chapter we use a few fundamental concepts, measures and estimation methods developed in graph theory and network analysis, that provide us with privileged ways to conceptualize, formalize, model and visualize structural properties of legal and policy systems and to identify their non trivial properties. Both the use and development of these concepts and methods have proven to be fruitful in the study of large interaction networks in sociology or in biological sciences, where emerging structures like small-worlds or scale-free structures are recurrently exhibited. In return, we hypothesize that the contemporary legal and policy "fabrics" pose original problems that may trigger new developments in graph theory and network analysis. In order to show their relevance for the study of legal and policy systems in the next sections, we restrict our "toolbox" to the

this ambition is balanced by the modesty of the results presented here).

sustainable development.

of networks of references between laws.

Section 6 with concluding remarks.

**2. Graphs for the analysis of complex systems** 

A graph is a mathematical object consisting of two sets: a set of vertices (or nodes) and a set of edges (or links), an edge linking two vertices. This mathematical structure of graph and its related analysis tools are used to model real phenomena of interaction between objects that are networks (see e.g. Brandes and Erlebach, 2005). We now introduce basic vocabulary of graph theory that will be used in this chapter. An induced *sub-graph* H of a graph G is a graph whose set of vertices is included in the set of vertices of G and there is an edge between two vertices of H if and only if there is an edge between these two vertices in G.

An undirected graph is *connected* if there is a path between any two vertices. A *connected component* of a graph is a sub-graph of maximum size (in particular a connected graph has one and only one connected component: itself). A directed graph is *weakly connected* if the underlying undirected graph is connected. It is *strongly connected* if there is a directed path (in each direction) from each vertex to any other vertex. A *strongly connected component* is a maximal strongly connected sub-graph.

A vertex v is a *neighbor* of a vertex u if there is an edge between u and v. The *neighborhood* of a vertex u is the sub-graph induced by the set of its neighbors and the *degree* of u is the number of its neighbors. A *complete graph* is a graph where each pair of vertices is linked by an edge. A *clique* in a graph is a complete sub-graph. Several matrices can be associated to a graph such as the adjacency matrix A whose (i,j)-element is 1 if vertex i is linked to vertex j and is 0 otherwise.

### **2.2 Measures**

Understanding the architecture of a network first passes through a structural analysis. Networks are of many different kinds - simple, directed, weighted, labeled, etc. - which requires the development of specific indices to measure their properties. Some indices measure basic characteristics of the network such as the number of vertices or nodes *n*, the number of edges or links *m*, the density *d* of the network (defined by the ratio between the actual number of links and the total possible number of links) and the mean degree.

The indices measuring the global connectivity of the network are built on the notion of shortest paths in the network. A *shortest path* between two vertices is a path (a sequence of consecutive edges) of minimal length. Global connectivity is then evaluated by the *mean of the shortest paths lengths l*, the *characteristic path length L* (median of the means of shortest paths; Watts, 2003) or the *diameter D* (the length of the longest shortest path in the graph). Two indices, called clustering coefficients, measure the local connectivity. The *first clustering coefficient C1* is defined by the average density of the neighborhood of a vertex. *The second clustering coefficient C2* is the ratio between the number of triangles in the network and the number of connected triples in this network which can also be seen as the probability to have a link between two vertices linked to a common vertex.

Graphs for Ontology, Law and Policy 497

distribution. A directed graph is a graph with directed edges. A special kind of directed graph is a tournament in which there exists an edge between any two vertices (it can be seen

The title of this section calls for comments. First, even if we exclude *a priori* from the scope of our discussion the field of philosophy, the term "ontology" has no unambiguous acceptance. By the 1980s, the field of computer engineering and knowledge representation takes the term to define a computational model for performing automated reasoning. In 1995, T. Gruber says that "an ontology is a formal, explicit specification of a shared conceptualization" (Grüber, 1995). In 2009, he refines his remarks by stating that "an ontology defines (specifies) the concepts, relationships, and other distinctions that are relevant for modeling a domain. The specification takes the form of the definitions of representational vocabulary (classes, relations, and so forth), which provide meanings for the vocabulary and formal constraints on its coherent use" (Grüber, 2009). Finally, the pragmatic issues converge in the statement that "an ontology is a tool and product of engineering and thereby defined by use ». The key issues opened by these proposals relate to how to make the best choice of language, and how to set objectives of use of these

In terms of languages, it is interesting to quickly scan the history. Originally, we find the semantic networks (Quillian, 1968) which are doubly labeled directed graphs, the vertices being labeled by concepts, the arcs being labeled according to relators between concepts. Then follow, the most significant proposals emanating from Minsky, Sowa, Brachman and Levesque. Minsky (1975) proposes an approach based on the notion of a grain of knowledge or frame and specifies that « here is the essence of the theory: when one encounters a new situation (or makes a substantial change in one's view of the present problem) one selects from memory a structure called a frame. A frame is a data-structure for representing a stereotyped situation. Attached to each frame are several kinds of information. We can think of a frame as a network of nodes and relations. The "top levels" of a frame are fixed, and represent things that are always true about the supposed situation. The lower levels have

Sowa (1984) proposes the conceptual graph formalism. Those are bipartite graphs with two types of nodes: concept-nodes and relation-nodes. Knowledge representation can be defined in a specific area, this being reflected in what is referred to as a support and includes two lattices: the concepts and relationships pertaining to the chosen field. The reasoning is based on semantics in first order logic, but a more original view suggests compensating the mechanisms of logical inference by graph operations in particular the homomorphism of graphs (called projection; Chein and Mugnier, 2009). Brachman (1979), Brachman and Levesque (1985, 2004) propose extensions to the language of frames and semantic networks from semantic-based description logics. They introduce the notions of concept, role and

individual and rely on an inference mechanism based in particular on subsumption.

many terminals–"slots" that must be filled by specific instances or data».

as a complete directed graph).

**3. Ontology as a network** 

**3.1 Languages and objectives for ontology** 

ontologies.

In order to evaluate the position of a vertex in a graph, three notions of centrality have been defined (Freeman, 1979). The degree centrality CD measured by the degree of a vertex, the betweenness centrality CB related to the number of shortest paths going through a vertex and the closeness centrality CC of a vertex based on the mean distance to the other vertices. Then the centralization of a network is the normalized sum of the differences between the vertex with the highest centrality and the centralities of the other vertices in the graph. A zero (resp. unit) value of the network centralization corresponds to a non centralized (resp. most centralized) network. The *degree distribution* is the probability distribution of the vertex degrees; for each integer *k* it gives the probability to have a vertex of degree *k*. Other indices may be introduced dealing more particularly with the impact on the network structure of weights or the presence of different kinds of links (Boulet, 2011; Boulet et al., 2011b).

### **2.3 Finding communities**

An essential step in network analysis is the research of communities. In a social network, some people can be gathered into communities. Following this example of community we can extend this notion to networks of different nature (networks of legal texts, lexical networks, etc.) analogously defined as groups of vertices more densely connected to each other than the rest of the graph. Detecting communities in networks is a very active field of research in network analysis and we shall consider only a few of the existing algorithms.

Several algorithms have been developed relying on various methods. The walktrap algorithm (Pons and Latapy, 2005) is based on random walks on graphs with the underlying idea that a random walk would be trapped into a community. The fast greedy algorithm (Clauset et al., 2004) aims at greedily maximize the modularity (a criterion assessing the quality of a partitioning) of the resulting partitioning. Finally spectral methods (von Luxburg, 2007) are based on eigenvalue decomposition of matrices associated to a graph which embeds the graph in an Euclidean space on which we can use statistical clustering.

A special community is worth mentioning here, the *rich-club* (Zhou and Mondragon, 2004). A rich-club is formed when the vertices with highest degree (the rich vertices) are highly interconnected and form a very dense group (a club). They therefore constitute a central and influent community in the network.

### **2.4 Types of graphs**

An *Erdös-Rényi random graph* (Erdös and Rényi, 1959) is a graph where an edge is put between two vertices with a uniform probability p. It is known (Watts, 2003) that such a graph have a tight global connectivity (the randomness of edges creates shortcuts) and low clustering coefficients (the local density looks like the overall density). Then the indices presented earlier allow distinguishing several classes of graphs. A *small world* network (Watts, 2003) is a network with a tight global connectivity (nearer than that of a random graph) and a high local connectivity (much larger than that of a random graph). A *concentrated world* (Boulet et al., 2011a) is a dense graph with some highly interconnected vertices having the highest centrality measures. A *scale-free network* is a graph with a powerlaw degree distribution. Therefore it has a lot of vertices with a low degree and few vertices with a high degree (sometimes called hubs). It contrasts with Erdös-Rényi random graphs, the degree distribution of which is centered to a mean value and follows a Poisson 496 New Frontiers in Graph Theory

In order to evaluate the position of a vertex in a graph, three notions of centrality have been defined (Freeman, 1979). The degree centrality CD measured by the degree of a vertex, the betweenness centrality CB related to the number of shortest paths going through a vertex and the closeness centrality CC of a vertex based on the mean distance to the other vertices. Then the centralization of a network is the normalized sum of the differences between the vertex with the highest centrality and the centralities of the other vertices in the graph. A zero (resp. unit) value of the network centralization corresponds to a non centralized (resp. most centralized) network. The *degree distribution* is the probability distribution of the vertex degrees; for each integer *k* it gives the probability to have a vertex of degree *k*. Other indices may be introduced dealing more particularly with the impact on the network structure of

weights or the presence of different kinds of links (Boulet, 2011; Boulet et al., 2011b).

An essential step in network analysis is the research of communities. In a social network, some people can be gathered into communities. Following this example of community we can extend this notion to networks of different nature (networks of legal texts, lexical networks, etc.) analogously defined as groups of vertices more densely connected to each other than the rest of the graph. Detecting communities in networks is a very active field of research in network analysis and we shall consider only a few of the existing algorithms.

Several algorithms have been developed relying on various methods. The walktrap algorithm (Pons and Latapy, 2005) is based on random walks on graphs with the underlying idea that a random walk would be trapped into a community. The fast greedy algorithm (Clauset et al., 2004) aims at greedily maximize the modularity (a criterion assessing the quality of a partitioning) of the resulting partitioning. Finally spectral methods (von Luxburg, 2007) are based on eigenvalue decomposition of matrices associated to a graph which embeds the graph in an Euclidean space on which we can use statistical clustering.

A special community is worth mentioning here, the *rich-club* (Zhou and Mondragon, 2004). A rich-club is formed when the vertices with highest degree (the rich vertices) are highly interconnected and form a very dense group (a club). They therefore constitute a central and

An *Erdös-Rényi random graph* (Erdös and Rényi, 1959) is a graph where an edge is put between two vertices with a uniform probability p. It is known (Watts, 2003) that such a graph have a tight global connectivity (the randomness of edges creates shortcuts) and low clustering coefficients (the local density looks like the overall density). Then the indices presented earlier allow distinguishing several classes of graphs. A *small world* network (Watts, 2003) is a network with a tight global connectivity (nearer than that of a random graph) and a high local connectivity (much larger than that of a random graph). A *concentrated world* (Boulet et al., 2011a) is a dense graph with some highly interconnected vertices having the highest centrality measures. A *scale-free network* is a graph with a powerlaw degree distribution. Therefore it has a lot of vertices with a low degree and few vertices with a high degree (sometimes called hubs). It contrasts with Erdös-Rényi random graphs, the degree distribution of which is centered to a mean value and follows a Poisson

**2.3 Finding communities** 

influent community in the network.

**2.4 Types of graphs** 

distribution. A directed graph is a graph with directed edges. A special kind of directed graph is a tournament in which there exists an edge between any two vertices (it can be seen as a complete directed graph).

### **3. Ontology as a network**

The title of this section calls for comments. First, even if we exclude *a priori* from the scope of our discussion the field of philosophy, the term "ontology" has no unambiguous acceptance. By the 1980s, the field of computer engineering and knowledge representation takes the term to define a computational model for performing automated reasoning. In 1995, T. Gruber says that "an ontology is a formal, explicit specification of a shared conceptualization" (Grüber, 1995). In 2009, he refines his remarks by stating that "an ontology defines (specifies) the concepts, relationships, and other distinctions that are relevant for modeling a domain. The specification takes the form of the definitions of representational vocabulary (classes, relations, and so forth), which provide meanings for the vocabulary and formal constraints on its coherent use" (Grüber, 2009). Finally, the pragmatic issues converge in the statement that "an ontology is a tool and product of engineering and thereby defined by use ». The key issues opened by these proposals relate to how to make the best choice of language, and how to set objectives of use of these ontologies.

### **3.1 Languages and objectives for ontology**

In terms of languages, it is interesting to quickly scan the history. Originally, we find the semantic networks (Quillian, 1968) which are doubly labeled directed graphs, the vertices being labeled by concepts, the arcs being labeled according to relators between concepts. Then follow, the most significant proposals emanating from Minsky, Sowa, Brachman and Levesque. Minsky (1975) proposes an approach based on the notion of a grain of knowledge or frame and specifies that « here is the essence of the theory: when one encounters a new situation (or makes a substantial change in one's view of the present problem) one selects from memory a structure called a frame. A frame is a data-structure for representing a stereotyped situation. Attached to each frame are several kinds of information. We can think of a frame as a network of nodes and relations. The "top levels" of a frame are fixed, and represent things that are always true about the supposed situation. The lower levels have many terminals–"slots" that must be filled by specific instances or data».

Sowa (1984) proposes the conceptual graph formalism. Those are bipartite graphs with two types of nodes: concept-nodes and relation-nodes. Knowledge representation can be defined in a specific area, this being reflected in what is referred to as a support and includes two lattices: the concepts and relationships pertaining to the chosen field. The reasoning is based on semantics in first order logic, but a more original view suggests compensating the mechanisms of logical inference by graph operations in particular the homomorphism of graphs (called projection; Chein and Mugnier, 2009). Brachman (1979), Brachman and Levesque (1985, 2004) propose extensions to the language of frames and semantic networks from semantic-based description logics. They introduce the notions of concept, role and individual and rely on an inference mechanism based in particular on subsumption.

Graphs for Ontology, Law and Policy 499

membership. According to an Aristotelian-type classificatory approach, a concept (e.g. an agent of the administration) may be both a special case - one instance - to a larger class (the agents) and a (sub-) class for other more specific instances (e.g. the prefect). The support structure of these univocal classifications is of course the tree-graph that we propose to call

But by destroying any flexibility of interpretation, this normativeness may be undesirable. Let us consider an example which is specific to Law. The judge is asked to reinterpret terms or concepts in a manner more consistent with the acceptance that tends to prevail in a constantly evolving social context. Thus the "family" of the Civil Code of 1804 is no more precisely that *family* of a society that tends to recognize the single-parent family, same-sex parents or surrogate mothers. Sometimes it follows a reassessment of existing case law, the judge taking a unique position that other judges will adopt later. For schematic that can be our example (indeed, the departure from precedent is less about the interpretation of terms than about the reinterpretation of a point of law which, presumably, involves an entire ontological environment), a sociologically-oriented ontology should be able to allow, in the organization of its classes and of their instances, the occurrence of multiple relations of subsumption (one instance being subsumed to several classes), in a way more conform to

"class graph". According to its purpose, this structure is effective and unambiguous.

uses than in line with normativeness of any *a priori* model (should it be dominant).

between entities whose existences are attested.

inducing new links).

field of research mapping.

Incidentally, we move from the trees (and forests) to the wider world of all graphs. These graphs then capture the structure of a conceptualization of a system that relies on a variety of types of objects and typed relations, a "model" or "ontology". In this chapter we propose to call these structures "phenomenological graphs" – or "*pheno-graph*" for short - because they capture the observable structure (whatever the means of observation) of relationships

There are various ways to build such a model, based on pragmatic approaches in the fields of law or public policy. One of them is of particular interest in this section. It is based on the terminological analysis of large corpus of texts (legal texts, texts describing public policies, regulations, etc.). The analysis of terminology and text mining can also be based on a representation of the knowledge domain in the form of ontology, the text analysis revealing more or less reinforced relationships between terms or concepts (or even invalidating the relevance of some ontological relations in this context or by

Formally, this type of analysis consists of two levels say a tree-like classification for supervision and the texts revealing a more general network of entities linked by heterogeneous relationships (such double structure is described in Mazzega et al., 2011). Let us now work an example of a double structure – ontological and phenomenological - in the

The CROSSROAD European project produced a public report on the state of the art on the field of ICT research in electronic governance and policy modeling (CROSSROAD, 2010) from which we here extract and analyze the data structure. This research field is divided in five domains divided in areas and sub-areas as follows: 1) Open government information

**3.3 Illustration: Research in e-governance & policy modeling** 

These theoretical propositions are the heart of various studies conducted to date. They are accompanied by proposals for operational developments, the most iconic of them being probably KIF (Knowledge Interchange Format) on the initiative of the consortium DARPA Knowledge Sharing Effort (Genesereth, 1992), the Ontolingua project (Gruber, 1992) until the arrival of the Semantic Web following the original article by Berners-Lee et al. (2001), which paves the way for many of the proposals in terms of protocols, languages, standards (XML Extensible Markup Language, Resource Description Framework RDF, RDF Schema, OWL Web Ontology Language) and tools. In the field of legal studies these researches are now flourishing (Casanovas et al., 2007; Sartor et al., 2011).

Let us return to the question of the use and purpose of ontology design in the context of knowledge of public policies. It is now commonly accepted (Guarino, 1998; Gangemi et al., 2001) that ontologies can be stratified by level of generality or abstraction (Figure 1): a) toplevel ontologies describe very general concepts like space, time, material, objects, events, actions, etc., which are independent of one problem or particular application domain. They specify very general abstract knowledge whose content depends on the degree of formalization; b) domain ontologies and problem-solving ontologies or task ontologies that describe, respectively, the knowledge related to a generic domain (like medicine or aviation) or generic activities (as water management) by a specialization of the concepts presented in the top-level ontologies; c) application ontologies describe concepts depending both on a field and on a particular task. They are specializations of the two previous types of ontologies.

Fig. 1. Scheme of the stratification of ontologies by levels of generality and abstraction.

Overall, it appears that the graphs are essential in the development of knowledge representations and ontologies, and that the synergy between different approaches is important (Farquhar et al., 1995). The example we now develop tackles with the representation of a field of knowledge. The approach taken may not be consistent with the *doxa* but illustrates the types of exploration that allows the use of graphs in the field.

#### **3.2 Classification and phenomenological graphs**

Let us return to some fundaments. We here call "classification graph" a graph built on the relationship of subsumption ("is a" relationship) that binds an instance to its class 498 New Frontiers in Graph Theory

These theoretical propositions are the heart of various studies conducted to date. They are accompanied by proposals for operational developments, the most iconic of them being probably KIF (Knowledge Interchange Format) on the initiative of the consortium DARPA Knowledge Sharing Effort (Genesereth, 1992), the Ontolingua project (Gruber, 1992) until the arrival of the Semantic Web following the original article by Berners-Lee et al. (2001), which paves the way for many of the proposals in terms of protocols, languages, standards (XML Extensible Markup Language, Resource Description Framework RDF, RDF Schema, OWL Web Ontology Language) and tools. In the field of legal studies these researches are

Let us return to the question of the use and purpose of ontology design in the context of knowledge of public policies. It is now commonly accepted (Guarino, 1998; Gangemi et al., 2001) that ontologies can be stratified by level of generality or abstraction (Figure 1): a) toplevel ontologies describe very general concepts like space, time, material, objects, events, actions, etc., which are independent of one problem or particular application domain. They specify very general abstract knowledge whose content depends on the degree of formalization; b) domain ontologies and problem-solving ontologies or task ontologies that describe, respectively, the knowledge related to a generic domain (like medicine or aviation) or generic activities (as water management) by a specialization of the concepts presented in the top-level ontologies; c) application ontologies describe concepts depending both on a field and on a particular task. They are specializations of the two previous types of

Fig. 1. Scheme of the stratification of ontologies by levels of generality and abstraction.

*doxa* but illustrates the types of exploration that allows the use of graphs in the field.

**3.2 Classification and phenomenological graphs** 

Overall, it appears that the graphs are essential in the development of knowledge representations and ontologies, and that the synergy between different approaches is important (Farquhar et al., 1995). The example we now develop tackles with the representation of a field of knowledge. The approach taken may not be consistent with the

Let us return to some fundaments. We here call "classification graph" a graph built on the relationship of subsumption ("is a" relationship) that binds an instance to its class

now flourishing (Casanovas et al., 2007; Sartor et al., 2011).

ontologies.

membership. According to an Aristotelian-type classificatory approach, a concept (e.g. an agent of the administration) may be both a special case - one instance - to a larger class (the agents) and a (sub-) class for other more specific instances (e.g. the prefect). The support structure of these univocal classifications is of course the tree-graph that we propose to call "class graph". According to its purpose, this structure is effective and unambiguous.

But by destroying any flexibility of interpretation, this normativeness may be undesirable. Let us consider an example which is specific to Law. The judge is asked to reinterpret terms or concepts in a manner more consistent with the acceptance that tends to prevail in a constantly evolving social context. Thus the "family" of the Civil Code of 1804 is no more precisely that *family* of a society that tends to recognize the single-parent family, same-sex parents or surrogate mothers. Sometimes it follows a reassessment of existing case law, the judge taking a unique position that other judges will adopt later. For schematic that can be our example (indeed, the departure from precedent is less about the interpretation of terms than about the reinterpretation of a point of law which, presumably, involves an entire ontological environment), a sociologically-oriented ontology should be able to allow, in the organization of its classes and of their instances, the occurrence of multiple relations of subsumption (one instance being subsumed to several classes), in a way more conform to uses than in line with normativeness of any *a priori* model (should it be dominant).

Incidentally, we move from the trees (and forests) to the wider world of all graphs. These graphs then capture the structure of a conceptualization of a system that relies on a variety of types of objects and typed relations, a "model" or "ontology". In this chapter we propose to call these structures "phenomenological graphs" – or "*pheno-graph*" for short - because they capture the observable structure (whatever the means of observation) of relationships between entities whose existences are attested.

There are various ways to build such a model, based on pragmatic approaches in the fields of law or public policy. One of them is of particular interest in this section. It is based on the terminological analysis of large corpus of texts (legal texts, texts describing public policies, regulations, etc.). The analysis of terminology and text mining can also be based on a representation of the knowledge domain in the form of ontology, the text analysis revealing more or less reinforced relationships between terms or concepts (or even invalidating the relevance of some ontological relations in this context or by inducing new links).

Formally, this type of analysis consists of two levels say a tree-like classification for supervision and the texts revealing a more general network of entities linked by heterogeneous relationships (such double structure is described in Mazzega et al., 2011). Let us now work an example of a double structure – ontological and phenomenological - in the field of research mapping.

### **3.3 Illustration: Research in e-governance & policy modeling**

The CROSSROAD European project produced a public report on the state of the art on the field of ICT research in electronic governance and policy modeling (CROSSROAD, 2010) from which we here extract and analyze the data structure. This research field is divided in five domains divided in areas and sub-areas as follows: 1) Open government information

Graphs for Ontology, Law and Policy 501

In Figure 2 we give a representation of the *pheno-ICT graph* that enhances the relative magnitudes of betweenness centrality associated to the vertices. The correspondence between the labels of the vertex ("x" type label for domain,"x.x" for area, "x.x.x" for subarea) and research field they cover can be found in CROSSROAD (2010). Let us now imagine some simple scenario (about research policy for policy research). Should we organize some meeting in ICT research in electronic governance and policy modeling, what should be the title of the sessions? A convenient choice might be to choose those topics with the highest degrees in the *pheno-ICT graph*. If now some (financial or human) resources are available to strengthen research where should it be primarily allocated? Such a choice of course depend on the criteria for decision making but a strategy could be to support those topics that present a high betweenness centrality, because they will reinforce the synergy

between various research communities and strengthen the whole research system.

2.1 Social Computing 1.00 (01) 0.64 (05) 3.1 Policy Analysis (in policy modeling) 0.86 (02) 1.00 (01) 3.3 Visualization (in policy modeling) 0.80 (03) 0.75 (03) 2.2 Citizen Engagement 0.78 (04) 0.46 (06)

4.3 Trust (in governance) 0.16 (08) 0.11 (17) 1.3.3 Analytical Reasoning (in visual analytics) 0.14 (09) 0.07 (22) 4.1 Identity Management 0.12 (10) 0.36 (09)

Table 1. Ranking the first twelve research domains, areas or sub-areas of ICT research in electronic governance and policy modeling by decreasing (normalized) betweenness centrality index (as extracted from the pheno-ICT graph) considering only entering links. The normalized degree (and rank) of the research topics are also given for comparison.

In Table 1 we give the first twelve research topics ranked by decreasing (normalized) betweenness centrality index. The normalized degree (and corresponding rank) of the research topics are also given for comparison. It appears that though they do not have a high rank of connectivity, several topics have a high rank in terms of betweenness centrality. This is the case for the first topic "social computing" (betweenness centrality rank=1; connectivity rank=5) that is about the application of web social software in public-sector activities and the support to social interaction and collaboration (and with the associates terminology: social networking, content syndication in government portals, blogging and

Betweenness Centrality Index (rank)

Analysis 0.60 (05) 0.39 (07)

information) 0.36 (06) 0.39 (07)

information) 0.26 (07) 0.14 (13)

interactions) 0.11 (11) 0.07 (22)

Orchestration 0.10 (12) (>25)

Normalized Degree (rank)

Label Name of the research topic

2.3 Public Opinion Mining & Sentiment

1.3 Visual Analytics (in open government

1.2 Linked Data (in open government

5.4.1 Web Accessibility (in human / computer

5.3.6 Public Service Aggregation, Mash-ups &

and intelligence for transparency (4 areas; 18 sub-areas; *associated color*: orange); 2) Social Computing, citizen engagement and inclusion (4 areas; 14 sub-areas; green); 3) Policy modeling (4 areas; 18 sub-areas; yellow); 4) Identity management and trust in governance (4 areas; 18 sub-areas; blue); 5) Future internet for collaborative governance (5 areas; 25 subareas; purple). In this list we attribute a color to each research domain and to its afferent areas and sub-areas for the purpose of graph visualization.

Fig. 2. A representation of the *pheno-ICT graph* with the size of each vertex being linearly related to its betweenness degree (see text). Vertices of the same color belong to the same research domain.

The full mapping of this field of research shows the type of double structure mentioned above, say: a) a tree structure - that we call *onto-ICT graph* (not represented here) - induced by the organization of this field of research in the above mentioned 5 domains (see below), 21 areas and 93 sub-areas (grouped under the term "research topics") that are the 119 vertices of the graph, with 114 edges; b) a network structure – which principal connected component we call *pheno-ICT graph* (111 vertices, 245 edges) - in which topics (research domains, areas or sub-areas) are linked by pairs when the specific researches they cover are explicitly related in a noticeable amount of scientific publications or when these publications refer to specific terminologies preferentially associated with these topics.

500 New Frontiers in Graph Theory

and intelligence for transparency (4 areas; 18 sub-areas; *associated color*: orange); 2) Social Computing, citizen engagement and inclusion (4 areas; 14 sub-areas; green); 3) Policy modeling (4 areas; 18 sub-areas; yellow); 4) Identity management and trust in governance (4 areas; 18 sub-areas; blue); 5) Future internet for collaborative governance (5 areas; 25 subareas; purple). In this list we attribute a color to each research domain and to its afferent

Fig. 2. A representation of the *pheno-ICT graph* with the size of each vertex being linearly related to its betweenness degree (see text). Vertices of the same color belong to the same

refer to specific terminologies preferentially associated with these topics.

The full mapping of this field of research shows the type of double structure mentioned above, say: a) a tree structure - that we call *onto-ICT graph* (not represented here) - induced by the organization of this field of research in the above mentioned 5 domains (see below), 21 areas and 93 sub-areas (grouped under the term "research topics") that are the 119 vertices of the graph, with 114 edges; b) a network structure – which principal connected component we call *pheno-ICT graph* (111 vertices, 245 edges) - in which topics (research domains, areas or sub-areas) are linked by pairs when the specific researches they cover are explicitly related in a noticeable amount of scientific publications or when these publications

research domain.

areas and sub-areas for the purpose of graph visualization.

In Figure 2 we give a representation of the *pheno-ICT graph* that enhances the relative magnitudes of betweenness centrality associated to the vertices. The correspondence between the labels of the vertex ("x" type label for domain,"x.x" for area, "x.x.x" for subarea) and research field they cover can be found in CROSSROAD (2010). Let us now imagine some simple scenario (about research policy for policy research). Should we organize some meeting in ICT research in electronic governance and policy modeling, what should be the title of the sessions? A convenient choice might be to choose those topics with the highest degrees in the *pheno-ICT graph*. If now some (financial or human) resources are available to strengthen research where should it be primarily allocated? Such a choice of course depend on the criteria for decision making but a strategy could be to support those topics that present a high betweenness centrality, because they will reinforce the synergy between various research communities and strengthen the whole research system.


Table 1. Ranking the first twelve research domains, areas or sub-areas of ICT research in electronic governance and policy modeling by decreasing (normalized) betweenness centrality index (as extracted from the pheno-ICT graph) considering only entering links. The normalized degree (and rank) of the research topics are also given for comparison.

In Table 1 we give the first twelve research topics ranked by decreasing (normalized) betweenness centrality index. The normalized degree (and corresponding rank) of the research topics are also given for comparison. It appears that though they do not have a high rank of connectivity, several topics have a high rank in terms of betweenness centrality. This is the case for the first topic "social computing" (betweenness centrality rank=1; connectivity rank=5) that is about the application of web social software in public-sector activities and the support to social interaction and collaboration (and with the associates terminology: social networking, content syndication in government portals, blogging and

Graphs for Ontology, Law and Policy 503

(domains, areas or sub-areas) are routinely called upon to involve or interest not only directly related topics but also other neighboring topics albeit slightly more distant (on the network). In a sense, this feature reflects the strong identity and overall coherence of

According to the classic positivist theory of law (knowing that we do not consider here the Common Law), legal norms must obey a hierarchical organization implying that the norms of lower degrees should not be in conflict with the norms of higher degree (Kelsen, 1960). At the top of the pyramid of norms is the Constitution, more or less expanded with a "block of constitutionality", followed by the organic and other laws, decrees, etc. With the rise of Community, European and International law, also with the proliferation of sources of law, this hierarchical organization is deeply upside. The doctrine echoes these on-going transformations (eg. Ost & van de Kerchove, 2002; Delmas-Marty, 2007) that are also subject

For example in France, the positions of the Court of Cassation and of the Council of State have been for nearly 15 years in opposition as to the primacy of European law over national law, until the adoption of a common position recognizing it during a reversal of precedent of the State Council (see Bécane et al., 2010). Of course this rule is accompanied by measures not to amputate the representative bodies of their ability to legislate or to exercise control over norms produced outside their assemblies, the national legislature thus acquiring a role

So we perceive that under the combined effects of globalization and the empowerment of communities and organizations (e.g. NGOs) network structures appear in all domains of Law and policy. Different kinds of networks: institutional networks (the link being instantiated by roles, powers, information flows, etc.), networks associated to the process of decision-making (e.g. EU), networks and flows in law-making, etc. But outside of these role and power games the analysis of which is subtle, another phenomenon reflecting the overlapping of legal systems can be easily observed and studied. Although its range is relatively minor (it is of interest for some operational services of law broadcasting like LEGIFRANCE www.legifrance.gouv.fr/, EURLEX eur-lex.europa.eu/en/index.htm, etc. and also for codification), its analysis allows starting the development of measures of certain manifestations of "legal complexity": this phenomenon is the emergence of networks of citations between legal texts (Bourcier and Mazzega, 2007a; Bommarito and Katz, 2010). The citations between legal texts results from a self-organizing process, no top authority being in charge to manage the constant flow of legislative regeneration, neither at the national nor

Based on previous work, we will support the next two assumptions that do not deny the concerns of the science involved in the analysis of complex systems, namely: a) that the types of structures found in the network of citations depend on both the size of the object in question and the scale of resolution for their analysis; b) that the "canonical" representation of a field of knowledge - in this case the legal knowledge - deserves to be coupled with a representation based on the analysis of emerging phenomenological graphs. We will then give further arguments in favor of these two hypotheses, based on an empirical analysis of

the bipartite network of environmental treaties of international law.

in the European legislative process (Article 88-4 of the Maastricht Treaty).

research in the field of ICT research in electronic governance and policy modeling.

**4. Law-induced networks** 

regional or global level.

of much debate in the democratic representative bodies.

micro-blogging, collaborative writing tools, feedback, rating and reputation systems – CORSSROAD, 2010). It is interesting to notice also that several topics among the most connected with the other topics are not in the short list of high betweenness centralities: area 1.1 "open & transparent information management" with degree 0.89 (2d rank), area 3.2 "(policy) modeling and simulation " (degree 0.75 – 3rd rank), area 5.3 "multi-channel access and delivery of next generation of public services " (degree 0.32 – 10th rank), areas 1.4 "findings (in open government information and intelligence for transparency)" and 5.1 "cloud computers (for collaborative governance)"(degree 0.21, 11th rank).


Table 2. Small world indices calculated on the non-oriented *pheno-ICT* graph and for comparison on a set of 1000 *Erdös*-*Rényi* random graphs with the same size and order. n is the number of vertices, m the number of edges, d the density, k the average degree, l the length of the average shortest path, L the characteristic length, D the diameter, C1 the first clustering coefficient, C2 the second clustering coefficient, CD the degree centrality, CB the betweenness centrality and CB the closeness centrality (see Sec.2).

On one hand these simple findings can be useful for designing a research policy in this field, as briefly suggested by our quite trivial scenarios or by many others related to real life situations. On the other hand it is interesting to see if the pheno-ICT network belongs to a known class of graphs. We consider the undirected graph (some geodesics do not exist on the directed graph) for which we assess the general indices as well as the global and local connectivity (Table 2). The random model used for comparison is the G(n,p) model of *Erdös*-*Rényi* (See Sec.2) where there is an edge between two vertices with a probability p equal to the density of the graph. The examination of these connectivity indices leads us to conclude that this network is a *small world*. Indeed, it fills the following two conditions: a) tighter global connectivity similar to that of random graphs; b) strong local connectivity, much higher than that of a random graph. So we are dealing with a type of graph which shows the structure of many social networks the study of which is enriched with other concepts opened to interpretation, but that we will not discuss in this chapter.

We also observe that the (non-oriented) *pheno-ICT* network exhibits high values of the betweenness centrality (but not of the closeness centrality) when compared to random graphs. We interpret this indicator as showing that the work developed in many topics 502 New Frontiers in Graph Theory

micro-blogging, collaborative writing tools, feedback, rating and reputation systems – CORSSROAD, 2010). It is interesting to notice also that several topics among the most connected with the other topics are not in the short list of high betweenness centralities: area 1.1 "open & transparent information management" with degree 0.89 (2d rank), area 3.2 "(policy) modeling and simulation " (degree 0.75 – 3rd rank), area 5.3 "multi-channel access and delivery of next generation of public services " (degree 0.32 – 10th rank), areas 1.4 "findings (in open government information and intelligence for transparency)" and 5.1

"cloud computers (for collaborative governance)"(degree 0.21, 11th rank).

General Characteristics

Global Connectivity

Local Connectivity

Network Centralization Index Non-oriented

Table 2. Small world indices calculated on the non-oriented *pheno-ICT* graph and for comparison on a set of 1000 *Erdös*-*Rényi* random graphs with the same size and order. n is the number of vertices, m the number of edges, d the density, k the average degree, l the length of the average shortest path, L the characteristic length, D the diameter, C1 the first clustering coefficient, C2 the second clustering coefficient, CD the degree centrality, CB the

On one hand these simple findings can be useful for designing a research policy in this field, as briefly suggested by our quite trivial scenarios or by many others related to real life situations. On the other hand it is interesting to see if the pheno-ICT network belongs to a known class of graphs. We consider the undirected graph (some geodesics do not exist on the directed graph) for which we assess the general indices as well as the global and local connectivity (Table 2). The random model used for comparison is the G(n,p) model of *Erdös*-*Rényi* (See Sec.2) where there is an edge between two vertices with a probability p equal to the density of the graph. The examination of these connectivity indices leads us to conclude that this network is a *small world*. Indeed, it fills the following two conditions: a) tighter global connectivity similar to that of random graphs; b) strong local connectivity, much higher than that of a random graph. So we are dealing with a type of graph which shows the structure of many social networks the study of which is enriched with other concepts

We also observe that the (non-oriented) *pheno-ICT* network exhibits high values of the betweenness centrality (but not of the closeness centrality) when compared to random graphs. We interpret this indicator as showing that the work developed in many topics

betweenness centrality and CB the closeness centrality (see Sec.2).

opened to interpretation, but that we will not discuss in this chapter.

*pheno-ICT* Graph

n 111 109.56 m 239 239.08 d 0.039 0.040 k 4.31 4.36

l 3.25 3.34 L 3.15 3.24 D 8 6.92

C1 0.34 0.092 C2 0.12 0.038

CD 0.24 0.055 CB 0.11 0.037 CC 0.27 0.15

Average Indices of *Erdös*-*Rényi Graphs*

(domains, areas or sub-areas) are routinely called upon to involve or interest not only directly related topics but also other neighboring topics albeit slightly more distant (on the network). In a sense, this feature reflects the strong identity and overall coherence of research in the field of ICT research in electronic governance and policy modeling.

### **4. Law-induced networks**

According to the classic positivist theory of law (knowing that we do not consider here the Common Law), legal norms must obey a hierarchical organization implying that the norms of lower degrees should not be in conflict with the norms of higher degree (Kelsen, 1960). At the top of the pyramid of norms is the Constitution, more or less expanded with a "block of constitutionality", followed by the organic and other laws, decrees, etc. With the rise of Community, European and International law, also with the proliferation of sources of law, this hierarchical organization is deeply upside. The doctrine echoes these on-going transformations (eg. Ost & van de Kerchove, 2002; Delmas-Marty, 2007) that are also subject of much debate in the democratic representative bodies.

For example in France, the positions of the Court of Cassation and of the Council of State have been for nearly 15 years in opposition as to the primacy of European law over national law, until the adoption of a common position recognizing it during a reversal of precedent of the State Council (see Bécane et al., 2010). Of course this rule is accompanied by measures not to amputate the representative bodies of their ability to legislate or to exercise control over norms produced outside their assemblies, the national legislature thus acquiring a role in the European legislative process (Article 88-4 of the Maastricht Treaty).

So we perceive that under the combined effects of globalization and the empowerment of communities and organizations (e.g. NGOs) network structures appear in all domains of Law and policy. Different kinds of networks: institutional networks (the link being instantiated by roles, powers, information flows, etc.), networks associated to the process of decision-making (e.g. EU), networks and flows in law-making, etc. But outside of these role and power games the analysis of which is subtle, another phenomenon reflecting the overlapping of legal systems can be easily observed and studied. Although its range is relatively minor (it is of interest for some operational services of law broadcasting like LEGIFRANCE www.legifrance.gouv.fr/, EURLEX eur-lex.europa.eu/en/index.htm, etc. and also for codification), its analysis allows starting the development of measures of certain manifestations of "legal complexity": this phenomenon is the emergence of networks of citations between legal texts (Bourcier and Mazzega, 2007a; Bommarito and Katz, 2010). The citations between legal texts results from a self-organizing process, no top authority being in charge to manage the constant flow of legislative regeneration, neither at the national nor regional or global level.

Based on previous work, we will support the next two assumptions that do not deny the concerns of the science involved in the analysis of complex systems, namely: a) that the types of structures found in the network of citations depend on both the size of the object in question and the scale of resolution for their analysis; b) that the "canonical" representation of a field of knowledge - in this case the legal knowledge - deserves to be coupled with a representation based on the analysis of emerging phenomenological graphs. We will then give further arguments in favor of these two hypotheses, based on an empirical analysis of the bipartite network of environmental treaties of international law.

Graphs for Ontology, Law and Policy 505

do not coincide with the ontological divisions, necessary in the planned organization of the code (Boulet et al., 2010). Conversely some ontological divisions are not in any stable community, such as for example the provisions relative to New Caledonia or Antarctic (a result that we keep to interpret). In other words, the codified substance could be distributed in a different cognitive representation and determined according to objective criteria

Similar results are obtained when analyzing the hyper-code graph of citations among all codes of the French legal system produced using the same codification methodology and whose vertices are the codes (52 to date). Thus we have mainly highlighted (Boulet et al., 2011a,b): a) a rich-club (see Sec. 2.3; Colizza et al., 2006) including the 10 most central and influential codes of the French legal system; b) a stable community of 12 codes governing the legal areas linked to social activities, their regulation and security; c) a second stable community of 11 codes governing the legal areas related to land management, the territories and their resources. Only the analysis of hyper-code code could lead to identify those communities whose existence should challenge the doctrine, their existence being

We now consider the state (as of 2010) of ratification of the 42 environmental international treaties by the 196 countries (or entities of equal status, such as the European Community) members of the United Nations (see the Chapter XXVII of the database of international treaties of the United Nations http://treaties.un.org/Pages/ParticipationStatus.aspx). Initially we built a graph with a link between countries A and B if both have ratified at least one common treaty. The links are then weighted by the number of common treaties ratified by the two countries. The partitioning of this graph showed two groups (Boulet et al., 2012): one group of 38 countries with only Canada being not part of continental Europe, and a

In a second step, we seek a graph showing a higher discriminatory power of any developed strategies for ratification by member countries. For this we used the following rule: a link is established from country B to country A if B is the first country to ratify a particular treaty after ratification of that treaty by A. A second rule must be established with respect to N countries simultaneously ratifying the same treaty: a) link the N countries, which induces a clique in the graph or b) not link the N countries, which induces a stable graph. In the following analysis we use option (a) as our second rule. The graph (196 vertices, 2832 links) we obtain is shown in Figure 3. The hypothesis that motivates the analysis of this graph is that the sequence of dates of ratification reveals (whether collaborative or competitive)

The five countries most ready to sign the environmental treaties are (ranked by decreasing order of the degree centrality) Norway, Finland, Hungary and at the same level, France and Luxembourg. The countries with the highest betweenness centrality, and thus being somewhat in the stream of the temporal succession of ratifications are (ranked by decreasing order of betweenness centrality) Hungary, France, Belgium, Romania and Norway. These simple results show unambiguously the active role of Hungary, Norway and France about

(reproducible between codes - possibly from different countries).

**4.3 Illustration: A tournament of international treaties** 

collective political strategies of countries (Louka, 2006).

the environment on the international stage.

group bringing together 158 countries.

previously unknown.

### **4.1 Scale matters in law**

Let us start with small scales. The article is classically considered as the smallest entity that deployed in a broader frame – law, code - should have a legal content making sense of its own. Yet we have found up to 4 levels of subdivision in a significant number of articles in the environmental code, and we have estimated their frequency distribution and length of text statistics (Bourcier and Mazzega, 2007b). The association of a graph of citations to a corpus relies on the choice of the resolution for analysis: should we keep all the subdivisions or stop at the granularity of articles (with 1266 of them in the environmental code, legislative part)? This choice is in fact dictated by the objectives of the thematic analysis. However we understand intuitively that the absorption of certain entities (e.g., subdivisions of articles) in the entity of which they are parties (e.g. article) increases the density of the network by aggregating the parts in the local whole and assigning all edges to it.

On the other side of the spectrum of sizes, the choice of a definition of the analyzed object is just as important. The environmental code has in a sense a unity conquered by the legislature (especially with regard to the rural code) but partly arbitrary since it cites (or is quoted by) 35 other codes, several EU Directives, international treaties etc. Considering at a given time all of the existing law in the world and its ramifications (to which corresponds a global legal-graph), being interested only in the French environmental code, or in all of the codified French law (which associated graph we call hyper-code), is equivalent to extract an induced sub-graph and analyze it separately. This sub-graph can be seen as associated to an ontology-derived community which does not have the emerging character of the phenomenology-derived communities we will consider below. Indeed the ontology-derived communities are deliberately constructed by the legislature, or in this case, coder (two "actors" that deserve being considered themselves as communities of actors).

The use of approaches presented in Section 3 also allows identifying vertices with remarkable properties: for example, articles (resp. Codes) of high degree centrality or high betweenness centrality in the environmental code (resp. hyper-code graph; Mazzega et al., 2009; Boulet et al., 2011a). Thus, as in many complex systems the choice of the analysis resolution and of the size of the object changes the characteristics and properties of the associated graphs, but also the graph type and hence the paradigm of interpretation.

### **4.2 Alternative representation of legal knowledge**

The matter of a code - as the Environmental Code - is usually organized into divisions books, titles, chapters, sections, articles - that form a tree structure (table of content). However, another organization is behind it, which brings together the divisions with a high density of inter-citations (the main connected graph component associated with the legislative part of the Environmental Code has 980 vertices and 2186 edges). The use of multiple algorithms for partitioning the graph associated to a corpus, allows identifying stable (say found by all algorithms based on different criteria for partitioning - cf. Sec. 2.2) "hidden" communities of its divisions - including articles - which are semantic units pertinent for the interpretation of the law.

Two points are worth noting: a) the existence of these phenomenological communities is known neither to the legislature nor to the lawyer, b) some of these emerging communities 504 New Frontiers in Graph Theory

Let us start with small scales. The article is classically considered as the smallest entity that deployed in a broader frame – law, code - should have a legal content making sense of its own. Yet we have found up to 4 levels of subdivision in a significant number of articles in the environmental code, and we have estimated their frequency distribution and length of text statistics (Bourcier and Mazzega, 2007b). The association of a graph of citations to a corpus relies on the choice of the resolution for analysis: should we keep all the subdivisions or stop at the granularity of articles (with 1266 of them in the environmental code, legislative part)? This choice is in fact dictated by the objectives of the thematic analysis. However we understand intuitively that the absorption of certain entities (e.g., subdivisions of articles) in the entity of which they are parties (e.g. article) increases the density of the network by

On the other side of the spectrum of sizes, the choice of a definition of the analyzed object is just as important. The environmental code has in a sense a unity conquered by the legislature (especially with regard to the rural code) but partly arbitrary since it cites (or is quoted by) 35 other codes, several EU Directives, international treaties etc. Considering at a given time all of the existing law in the world and its ramifications (to which corresponds a global legal-graph), being interested only in the French environmental code, or in all of the codified French law (which associated graph we call hyper-code), is equivalent to extract an induced sub-graph and analyze it separately. This sub-graph can be seen as associated to an ontology-derived community which does not have the emerging character of the phenomenology-derived communities we will consider below. Indeed the ontology-derived communities are deliberately constructed by the legislature, or in this case, coder (two

The use of approaches presented in Section 3 also allows identifying vertices with remarkable properties: for example, articles (resp. Codes) of high degree centrality or high betweenness centrality in the environmental code (resp. hyper-code graph; Mazzega et al., 2009; Boulet et al., 2011a). Thus, as in many complex systems the choice of the analysis resolution and of the size of the object changes the characteristics and properties of the

The matter of a code - as the Environmental Code - is usually organized into divisions books, titles, chapters, sections, articles - that form a tree structure (table of content). However, another organization is behind it, which brings together the divisions with a high density of inter-citations (the main connected graph component associated with the legislative part of the Environmental Code has 980 vertices and 2186 edges). The use of multiple algorithms for partitioning the graph associated to a corpus, allows identifying stable (say found by all algorithms based on different criteria for partitioning - cf. Sec. 2.2) "hidden" communities of its divisions - including articles - which are semantic units

Two points are worth noting: a) the existence of these phenomenological communities is known neither to the legislature nor to the lawyer, b) some of these emerging communities

associated graphs, but also the graph type and hence the paradigm of interpretation.

**4.2 Alternative representation of legal knowledge** 

pertinent for the interpretation of the law.

aggregating the parts in the local whole and assigning all edges to it.

"actors" that deserve being considered themselves as communities of actors).

**4.1 Scale matters in law** 

do not coincide with the ontological divisions, necessary in the planned organization of the code (Boulet et al., 2010). Conversely some ontological divisions are not in any stable community, such as for example the provisions relative to New Caledonia or Antarctic (a result that we keep to interpret). In other words, the codified substance could be distributed in a different cognitive representation and determined according to objective criteria (reproducible between codes - possibly from different countries).

Similar results are obtained when analyzing the hyper-code graph of citations among all codes of the French legal system produced using the same codification methodology and whose vertices are the codes (52 to date). Thus we have mainly highlighted (Boulet et al., 2011a,b): a) a rich-club (see Sec. 2.3; Colizza et al., 2006) including the 10 most central and influential codes of the French legal system; b) a stable community of 12 codes governing the legal areas linked to social activities, their regulation and security; c) a second stable community of 11 codes governing the legal areas related to land management, the territories and their resources. Only the analysis of hyper-code code could lead to identify those communities whose existence should challenge the doctrine, their existence being previously unknown.

### **4.3 Illustration: A tournament of international treaties**

We now consider the state (as of 2010) of ratification of the 42 environmental international treaties by the 196 countries (or entities of equal status, such as the European Community) members of the United Nations (see the Chapter XXVII of the database of international treaties of the United Nations http://treaties.un.org/Pages/ParticipationStatus.aspx). Initially we built a graph with a link between countries A and B if both have ratified at least one common treaty. The links are then weighted by the number of common treaties ratified by the two countries. The partitioning of this graph showed two groups (Boulet et al., 2012): one group of 38 countries with only Canada being not part of continental Europe, and a group bringing together 158 countries.

In a second step, we seek a graph showing a higher discriminatory power of any developed strategies for ratification by member countries. For this we used the following rule: a link is established from country B to country A if B is the first country to ratify a particular treaty after ratification of that treaty by A. A second rule must be established with respect to N countries simultaneously ratifying the same treaty: a) link the N countries, which induces a clique in the graph or b) not link the N countries, which induces a stable graph. In the following analysis we use option (a) as our second rule. The graph (196 vertices, 2832 links) we obtain is shown in Figure 3. The hypothesis that motivates the analysis of this graph is that the sequence of dates of ratification reveals (whether collaborative or competitive) collective political strategies of countries (Louka, 2006).

The five countries most ready to sign the environmental treaties are (ranked by decreasing order of the degree centrality) Norway, Finland, Hungary and at the same level, France and Luxembourg. The countries with the highest betweenness centrality, and thus being somewhat in the stream of the temporal succession of ratifications are (ranked by decreasing order of betweenness centrality) Hungary, France, Belgium, Romania and Norway. These simple results show unambiguously the active role of Hungary, Norway and France about the environment on the international stage.

Graphs for Ontology, Law and Policy 507

Countries suffering from acute chronic internal conflicts, backed to failing States, are among the countries that have ratified the least environmental treaties, a fact that reveals a simple inspection of their degree centrality. The logic behind the arrangement of the first community, made up of many countries from different geographical, geopolitical or economic regions, is not easy to identify. This probably results from the existence of several

So if these early results are promising (as we think about the other 28 chapters that bring together hundreds of treaties), a more detailed analysis of these data, taking into account the particular dates of ratification themselves and a diachronic knowledge of the major world events, should identify more subtle patterns of international relation strategies as expressed

The analysis of citation networks between legal texts foreshadows network analysis for components and links of heterogeneous networks that may be associated with public policy. We have already mentioned that throughout the life cycle of policy (agenda-setting, formulation, decision making, implementation, evaluation; Howlett and Ramesh, 2003) are

One objective of these models is to provide tools for the *ex-ante* assessment of the potential impacts of these policies. This ambition is very high and we believe should be seen as a horizon to strive for rather than an achievable goal in the near future. Indeed at the individual scale, actors' behavior is unpredictable, their resilience and creativity never limited even if in a highly regulated or binding frame. However, at the collective level, patterns of behavior are observed and can be analyzed using proven methodologies. The analysis of graphs associated with the representation of certain aspects of public policy adds to the available (or developing) tools promoting a better understanding of these instruments of the "public" collective action. Rather than remain at this level of generality we prefer in this section to develop an example who keeps illustrative in general. This is the development of a simulation platform of the impact of new norms for managing water

The water management in France is governed by various legal provisions, including the Law on Water and Aquatic Environments 2006 (LEMA, 2006) which adopts tools to achieve by 2015 the goal of "good" water state as set by the European Water Framework Directive (WFD, 2000). Basically the water management is organized at the scale of large hydrological basins. Southwest of the French metropolitan territory, the Adour-Garonne basin (AGB) covers about 120 000 km², with a rate of precipitation of 600 mm to 2000 mm/year, a potential for runoff of 90 km³/year and large stocks of water in the aquifers. About 7 million people are distributed over 6900 municipalities and 35 cities with more than twenty thousand inhabitants (most such data are provided by the website of the Adour-Garonne

mobilized a variety of actors (individual or group, institution, etc.) and of resources.

smaller sub-communities but whose ratifications are interspersed.

by the evolution of international law (Schneider & Urpelainen, 2012).

**5. Graphs for policy analysis** 

resources at the scale of a hydrological basin.

Water Agency www.eau-adour-garonne.fr/).

**5.1 A framework for water policy** 

We find four stable communities with 41, 39, 22 and 10 countries respectively. Most European countries (in a geographical sense) are the second community, alongside the United States, Canada, Japan, New Zealand and Burkina Faso. The contrasting positions of these countries with regard to Europe, in particular on issues related to the climate change and energy policy suggests that this grouping into a single community rather reflects an antagonist-type of interaction. Note that this community also has the largest clique of the graph composed of 18 countries (Germany, Austria, Belgium, European Community, Denmark, Spain, Finland, France, Greece, Ireland, Italy, Japan, Luxembourg, Netherlands, Portugal, United Kingdom of Great Britain and Northern Ireland, Slovakia, Sweden).

Fig. 3. A representation of the oriented graph associated with the ratifications of the environmental treaties and conventions of International Law. The vertices are 196 countries (or analog legal entities like the European Community) of the world. A link is drawn from B to A if B is the first country having ratified a given treaty just after country A. The larger orange (resp. smaller green) vertices represent countries with the highest (resp. lowest) betweenness centrality (see text).

Among the emerging countries, Brazil, China and India are in the third community (22 countries), but not South Africa (in the 4th community). The Russian Federation does not appear in any stable community (as defined here in Sec. 2.3), as also 83 other countries. 506 New Frontiers in Graph Theory

We find four stable communities with 41, 39, 22 and 10 countries respectively. Most European countries (in a geographical sense) are the second community, alongside the United States, Canada, Japan, New Zealand and Burkina Faso. The contrasting positions of these countries with regard to Europe, in particular on issues related to the climate change and energy policy suggests that this grouping into a single community rather reflects an antagonist-type of interaction. Note that this community also has the largest clique of the graph composed of 18 countries (Germany, Austria, Belgium, European Community, Denmark, Spain, Finland, France, Greece, Ireland, Italy, Japan, Luxembourg, Netherlands,

Portugal, United Kingdom of Great Britain and Northern Ireland, Slovakia, Sweden).

Fig. 3. A representation of the oriented graph associated with the ratifications of the

betweenness centrality (see text).

environmental treaties and conventions of International Law. The vertices are 196 countries (or analog legal entities like the European Community) of the world. A link is drawn from B to A if B is the first country having ratified a given treaty just after country A. The larger orange (resp. smaller green) vertices represent countries with the highest (resp. lowest)

Among the emerging countries, Brazil, China and India are in the third community (22 countries), but not South Africa (in the 4th community). The Russian Federation does not appear in any stable community (as defined here in Sec. 2.3), as also 83 other countries. Countries suffering from acute chronic internal conflicts, backed to failing States, are among the countries that have ratified the least environmental treaties, a fact that reveals a simple inspection of their degree centrality. The logic behind the arrangement of the first community, made up of many countries from different geographical, geopolitical or economic regions, is not easy to identify. This probably results from the existence of several smaller sub-communities but whose ratifications are interspersed.

So if these early results are promising (as we think about the other 28 chapters that bring together hundreds of treaties), a more detailed analysis of these data, taking into account the particular dates of ratification themselves and a diachronic knowledge of the major world events, should identify more subtle patterns of international relation strategies as expressed by the evolution of international law (Schneider & Urpelainen, 2012).

### **5. Graphs for policy analysis**

The analysis of citation networks between legal texts foreshadows network analysis for components and links of heterogeneous networks that may be associated with public policy. We have already mentioned that throughout the life cycle of policy (agenda-setting, formulation, decision making, implementation, evaluation; Howlett and Ramesh, 2003) are mobilized a variety of actors (individual or group, institution, etc.) and of resources.

One objective of these models is to provide tools for the *ex-ante* assessment of the potential impacts of these policies. This ambition is very high and we believe should be seen as a horizon to strive for rather than an achievable goal in the near future. Indeed at the individual scale, actors' behavior is unpredictable, their resilience and creativity never limited even if in a highly regulated or binding frame. However, at the collective level, patterns of behavior are observed and can be analyzed using proven methodologies. The analysis of graphs associated with the representation of certain aspects of public policy adds to the available (or developing) tools promoting a better understanding of these instruments of the "public" collective action. Rather than remain at this level of generality we prefer in this section to develop an example who keeps illustrative in general. This is the development of a simulation platform of the impact of new norms for managing water resources at the scale of a hydrological basin.

### **5.1 A framework for water policy**

The water management in France is governed by various legal provisions, including the Law on Water and Aquatic Environments 2006 (LEMA, 2006) which adopts tools to achieve by 2015 the goal of "good" water state as set by the European Water Framework Directive (WFD, 2000). Basically the water management is organized at the scale of large hydrological basins. Southwest of the French metropolitan territory, the Adour-Garonne basin (AGB) covers about 120 000 km², with a rate of precipitation of 600 mm to 2000 mm/year, a potential for runoff of 90 km³/year and large stocks of water in the aquifers. About 7 million people are distributed over 6900 municipalities and 35 cities with more than twenty thousand inhabitants (most such data are provided by the website of the Adour-Garonne Water Agency www.eau-adour-garonne.fr/).

Graphs for Ontology, Law and Policy 509

The graph has a single component of 66 vertices and 87 edges. It is weakly connected, with only one strongly connected group of vertices formed of two material resources (equipment for drinkable water catchment; equipment for raw water catchment and flow like canals, pipes, etc.), two "actors" (remembering that the term « actor » can refer to a group of actors: raw water distributors; clean water distributors) and one cognitive resource (structure of water prices and charges). Functions or operations associated with the vertices with the highest degree of connectivity must be modeled accurately because they directly affect the states of many others. These are in particular (by decreasing degree) the farmers, the (public or private) equipments, socio-professional categories (regarded as consumers of drinking

Fig. 4. The graph associated to the conceptual model of the law water management in the Adour-Garonne basin (France). The colors of the vertices indicate their type: actors (orange round rectangles); cognitive resources and norms (green circles); material resources (yellow triangles). The labels, attributes and functions associated to each vertex in the UML model

On the distribution drawn on Figure 5 we see that around ten vertices present a significant betweenness centrality index. These vertices are the following ones: (label=49) Raw water distributors; (09) Manager *of* engineering structure (dams, etc.); (61) Manager of water catchment; (47) Clean water distributors; (57) Water tanks; (07) (Public or private) Equipments; (14) Equipment for water catchment; (17) Equipment for drinkable water catchment; (00) Geo-referenced territorial unit*;* (01) Plots. From a perspective of how the dynamical model works, the behavior of these entities (including changes in their respective states and comparing them with empirical data) should be given special attention. Indeed their intermediate position a priori designate them as being likely to exhibit abnormal

have been removed to clarify the graph (some of them being given in the text).

water in municipalities), all types of water tanks, the land sub-parcels.

Average annual withdrawals are 2.5 km³, being roughly equally distributed between the three main uses, namely drinking water, industrial uses and agriculture. However, the water availability and uses are very uneven over the year: during the low water period (summer and early autumn) agricultural levies represent 80% of the withdrawals for about 645 000 irrigated hectares. During the heat wave of 2003 the withdrawal for irrigation has nearly doubled compared to average years. On the other hand, the climate change scenarios predict that 2003 will be in terms of rainfall better than the average year of the 2050's (Pagé & Terray, 2011). Consequently, the management of low water is the first priority of the Adour-Garonne Water Agency. The water uses must also be balanced with the preservation of aquatic ecosystems and environmental services, two issues that the EU directive and the LEMA (2006) explicitly raised as priorities.

On the scale of the Adour-Garonne basin, the water policy and its implementation was prepared with the participation of governmental administrations, territorial and other communities, associations, the civil society, etc., over several years, as described in the master water planning and management report (SDAGE AG, 2010) and in the associated implementation program (PDM AG, 2010), documents whose provisions may be legally opposed to other sectoral policies (territorial development, economic development, etc.). More locally, across the river basin management units (sub-basins), the low-water management plans specify the measures to regulate water uses within the environmental, social, economic and ecological constraints associated to periods of low flow.

In the MAELIA project (Multi-Agents for EnvironmentaL norms Impact Assessment) we develop a hybrid model combining a multi-agent system, model equations and GIS to estimate the societal, economic and environmental impacts of new "norms" implementation in the basin. We focus specifically on the new device that will limit water withdrawals for irrigation in many watersheds. To evaluate *ex ante* the potential impacts of this new frame, we represent in the model both the behavior of key actors involved in the water uses or management, but also the environmental (including hydrology) and climate dynamics as well as the main activities (especially agriculture) developed by the actors that may have a direct or indirect effect on the resource. To achieve this goal it is first necessary to identify the key actors, the activities they lead, the resources (material and cognitive) they use or generate, and the social and environmental processes the entire system depends on (Sibertin-Blanc et al., 2011; Thérond et al., 2011). This step was carried out by an interdisciplinary participatory method that results in the production of a conceptual model presenting only the essential elements of the management of low water in the basin.

### **5.2 Illustration: Basin-scale low water management**

The conceptual model is built up on the basis of various UML diagrams (OMG, 2005). Figure 4 shows the main one, namely the actor- resource diagram (see Sibertin-Blanc et al., 2011 for some other diagrams). The vertices are instantiations of the following classes: actors, material resources, cognitive resources (including the norms: legal texts, programs, directives, etc.). The links are of different types (with cardinalities that we discard here): actors' activities, social processes, environmental processes or conceptual relationships between the linked entities. We are interested in the structure of the graph associated to this conceptual model of the low water management in the Adour-Garonne basin.

508 New Frontiers in Graph Theory

Average annual withdrawals are 2.5 km³, being roughly equally distributed between the three main uses, namely drinking water, industrial uses and agriculture. However, the water availability and uses are very uneven over the year: during the low water period (summer and early autumn) agricultural levies represent 80% of the withdrawals for about 645 000 irrigated hectares. During the heat wave of 2003 the withdrawal for irrigation has nearly doubled compared to average years. On the other hand, the climate change scenarios predict that 2003 will be in terms of rainfall better than the average year of the 2050's (Pagé & Terray, 2011). Consequently, the management of low water is the first priority of the Adour-Garonne Water Agency. The water uses must also be balanced with the preservation of aquatic ecosystems and environmental services, two issues that the EU directive and the

On the scale of the Adour-Garonne basin, the water policy and its implementation was prepared with the participation of governmental administrations, territorial and other communities, associations, the civil society, etc., over several years, as described in the master water planning and management report (SDAGE AG, 2010) and in the associated implementation program (PDM AG, 2010), documents whose provisions may be legally opposed to other sectoral policies (territorial development, economic development, etc.). More locally, across the river basin management units (sub-basins), the low-water management plans specify the measures to regulate water uses within the environmental,

In the MAELIA project (Multi-Agents for EnvironmentaL norms Impact Assessment) we develop a hybrid model combining a multi-agent system, model equations and GIS to estimate the societal, economic and environmental impacts of new "norms" implementation in the basin. We focus specifically on the new device that will limit water withdrawals for irrigation in many watersheds. To evaluate *ex ante* the potential impacts of this new frame, we represent in the model both the behavior of key actors involved in the water uses or management, but also the environmental (including hydrology) and climate dynamics as well as the main activities (especially agriculture) developed by the actors that may have a direct or indirect effect on the resource. To achieve this goal it is first necessary to identify the key actors, the activities they lead, the resources (material and cognitive) they use or generate, and the social and environmental processes the entire system depends on (Sibertin-Blanc et al., 2011; Thérond et al., 2011). This step was carried out by an interdisciplinary participatory method that results in the production of a conceptual model

social, economic and ecological constraints associated to periods of low flow.

presenting only the essential elements of the management of low water in the basin.

conceptual model of the low water management in the Adour-Garonne basin.

The conceptual model is built up on the basis of various UML diagrams (OMG, 2005). Figure 4 shows the main one, namely the actor- resource diagram (see Sibertin-Blanc et al., 2011 for some other diagrams). The vertices are instantiations of the following classes: actors, material resources, cognitive resources (including the norms: legal texts, programs, directives, etc.). The links are of different types (with cardinalities that we discard here): actors' activities, social processes, environmental processes or conceptual relationships between the linked entities. We are interested in the structure of the graph associated to this

**5.2 Illustration: Basin-scale low water management** 

LEMA (2006) explicitly raised as priorities.

The graph has a single component of 66 vertices and 87 edges. It is weakly connected, with only one strongly connected group of vertices formed of two material resources (equipment for drinkable water catchment; equipment for raw water catchment and flow like canals, pipes, etc.), two "actors" (remembering that the term « actor » can refer to a group of actors: raw water distributors; clean water distributors) and one cognitive resource (structure of water prices and charges). Functions or operations associated with the vertices with the highest degree of connectivity must be modeled accurately because they directly affect the states of many others. These are in particular (by decreasing degree) the farmers, the (public or private) equipments, socio-professional categories (regarded as consumers of drinking water in municipalities), all types of water tanks, the land sub-parcels.

Fig. 4. The graph associated to the conceptual model of the law water management in the Adour-Garonne basin (France). The colors of the vertices indicate their type: actors (orange round rectangles); cognitive resources and norms (green circles); material resources (yellow triangles). The labels, attributes and functions associated to each vertex in the UML model have been removed to clarify the graph (some of them being given in the text).

On the distribution drawn on Figure 5 we see that around ten vertices present a significant betweenness centrality index. These vertices are the following ones: (label=49) Raw water distributors; (09) Manager *of* engineering structure (dams, etc.); (61) Manager of water catchment; (47) Clean water distributors; (57) Water tanks; (07) (Public or private) Equipments; (14) Equipment for water catchment; (17) Equipment for drinkable water catchment; (00) Geo-referenced territorial unit*;* (01) Plots. From a perspective of how the dynamical model works, the behavior of these entities (including changes in their respective states and comparing them with empirical data) should be given special attention. Indeed their intermediate position a priori designate them as being likely to exhibit abnormal

Graphs for Ontology, Law and Policy 511

Many other concepts can be requested from graph theory (Jungnickel, 1999) to highlight the hidden properties of legal corpuses or public policies. For example we mentioned in Sec.4 the impact of the aggregation of nodes (corresponding to different choices of resolution) in a root vertex on the density and other measures associated to a network. A similar transformation occurs when passing from a given graph to the graph of its stable communities. Graph theory can provide fundamental knowledge on the incidence of these operations on the main measures associated with the studied networks, which would constitute a major theoretical and methodological contribution to the analysis of complex

As soon as graphs are involved in formal representations, their comparison provides a methodology for comparing the complex legal and policy systems they capture. Such issues appear especially in ontology alignment, in the identification and analysis of functional similarity of actors' positions in governance schemes, in the comparison of policies or legal systems between different sectors or countries, etc. Techniques of graph mining (Cox and Holder, 2007) would be particular useful in conjunction to text mining, a huge amount of data being accessible today via institutional public web sites and data base systems (as illustrated in this chapter with LEGIFRANCE, EURLEX or the UNO data basis on the

Another exciting area of research is to provide a graph-related equivalent to concepts developed and tested in the social sciences, especially law and political sciences. Different schools of thought have developed conceptualizations of central concepts such as power or role (among many others), which could be translated in terms of graphs and their properties

Finally, the legal and policy "factories" are in constant work. The objects they produce continuously change, reform themselves, aggregate or distinguish each others. The approach to these phenomena by graphs that are either the support for dynamics (Egestedt and Mesbahi, 2010), flows or events, or even whose topology changes is therefore essential. We can even imagine that these formal approaches based on graph theory will soon be integrated in the design of inter-sectoral integrative policies, thus responding to a growing

R. Boulet benefits from a post doctoral grant of the CARTAM–SAT project (FEDER 2007- 2013 operational program in French Guyana). This study is partly funded (see Sec. 5) by the RTRA *Science and Technology for Aeronautics and Space* (http://www.fondationstae.net/) in Toulouse (France) under the MAELIA project (http://maelia1.wordpress.com/). The yEd Graph editor has been used for producing the figures. Statistical properties of networks

André, P.; Delisle, C. E. & Revéret, J. P. (2004). *Environmental Assessment for Sustainable* 

*Development - Processes, Actors and Practice*, Presses Intern. Polytechnique, École

have been computed with R and the library igraph (http://www.rproject.org/).

Polytechnique de Montréal, ISBN 2-553-01138-5, Québec, Canada

and thus be enriched by the theoretical contributions of mathematical research.

need for multi-level societies, as evidenced by the everyday news.

legal and policy systems.

multilateral treaties).

**7. Acknowledgment** 

**8. References** 

behavior in the case all processes and activities modeled are not adequately represented or adjusted against each other.

A look at the global and local connectivity indices estimated for this graph does not allow us to characterize it as a small-world network. Although the overall connectivity is tightened (L= 4.14, D = 8) and close to that of random graph (L = 4.58, D = 11.32), the local connectivity is low (C1 = 0.41 C2 = 0027): the first clustering coefficient is artificially high due to the large number of vertices of degree 1, the second clustering coefficient is low. Moreover, the graph contains only two triangles.

Fig. 5. Distribution of vertices of the low water management graph (Fig.3) in descending order of their degree of betweenness centrality.

All these results concern the static structure of the conceptual model of low water management. From the conceptual model is then derived a dynamic model where all the social and environmental processes (represented by computer codes) change over time the state variables (or attribute values) of the actors and resources. The analysis of the dynamic properties of this type of model must use a range of other tools (Mesbahi and Egerstedt, 2010), including statistics we will not address here, but whose scope covers any multi-agent system, being dedicated to the modeling of public policies and of their potential impacts or to any other complex system dynamics.

### **6. Conclusion**

As was briefly shown in this chapter network analysis is useful for many purposes in Law and Policy: to identify emerging cognitive sets or patterns (groups of concepts); to make a functional mapping of the components of a complex system and of their interaction; to carry out all stages of modeling (from the definition of a referential representation to the setting up of a conceptual model and its implementation in a simulation platform for impact assessment) ; to analyze social dynamics (like strategies, coalition dynamics, etc.).

510 New Frontiers in Graph Theory

behavior in the case all processes and activities modeled are not adequately represented or

A look at the global and local connectivity indices estimated for this graph does not allow us to characterize it as a small-world network. Although the overall connectivity is tightened (L= 4.14, D = 8) and close to that of random graph (L = 4.58, D = 11.32), the local connectivity is low (C1 = 0.41 C2 = 0027): the first clustering coefficient is artificially high due to the large number of vertices of degree 1, the second clustering coefficient is low. Moreover, the graph

Fig. 5. Distribution of vertices of the low water management graph (Fig.3) in descending

All these results concern the static structure of the conceptual model of low water management. From the conceptual model is then derived a dynamic model where all the social and environmental processes (represented by computer codes) change over time the state variables (or attribute values) of the actors and resources. The analysis of the dynamic properties of this type of model must use a range of other tools (Mesbahi and Egerstedt, 2010), including statistics we will not address here, but whose scope covers any multi-agent system, being dedicated to the modeling of public policies and of their potential impacts or

As was briefly shown in this chapter network analysis is useful for many purposes in Law and Policy: to identify emerging cognitive sets or patterns (groups of concepts); to make a functional mapping of the components of a complex system and of their interaction; to carry out all stages of modeling (from the definition of a referential representation to the setting up of a conceptual model and its implementation in a simulation platform for impact

assessment) ; to analyze social dynamics (like strategies, coalition dynamics, etc.).

order of their degree of betweenness centrality.

to any other complex system dynamics.

**6. Conclusion** 

adjusted against each other.

contains only two triangles.

Many other concepts can be requested from graph theory (Jungnickel, 1999) to highlight the hidden properties of legal corpuses or public policies. For example we mentioned in Sec.4 the impact of the aggregation of nodes (corresponding to different choices of resolution) in a root vertex on the density and other measures associated to a network. A similar transformation occurs when passing from a given graph to the graph of its stable communities. Graph theory can provide fundamental knowledge on the incidence of these operations on the main measures associated with the studied networks, which would constitute a major theoretical and methodological contribution to the analysis of complex legal and policy systems.

As soon as graphs are involved in formal representations, their comparison provides a methodology for comparing the complex legal and policy systems they capture. Such issues appear especially in ontology alignment, in the identification and analysis of functional similarity of actors' positions in governance schemes, in the comparison of policies or legal systems between different sectors or countries, etc. Techniques of graph mining (Cox and Holder, 2007) would be particular useful in conjunction to text mining, a huge amount of data being accessible today via institutional public web sites and data base systems (as illustrated in this chapter with LEGIFRANCE, EURLEX or the UNO data basis on the multilateral treaties).

Another exciting area of research is to provide a graph-related equivalent to concepts developed and tested in the social sciences, especially law and political sciences. Different schools of thought have developed conceptualizations of central concepts such as power or role (among many others), which could be translated in terms of graphs and their properties and thus be enriched by the theoretical contributions of mathematical research.

Finally, the legal and policy "factories" are in constant work. The objects they produce continuously change, reform themselves, aggregate or distinguish each others. The approach to these phenomena by graphs that are either the support for dynamics (Egestedt and Mesbahi, 2010), flows or events, or even whose topology changes is therefore essential.

We can even imagine that these formal approaches based on graph theory will soon be integrated in the design of inter-sectoral integrative policies, thus responding to a growing need for multi-level societies, as evidenced by the everyday news.

### **7. Acknowledgment**

R. Boulet benefits from a post doctoral grant of the CARTAM–SAT project (FEDER 2007- 2013 operational program in French Guyana). This study is partly funded (see Sec. 5) by the RTRA *Science and Technology for Aeronautics and Space* (http://www.fondationstae.net/) in Toulouse (France) under the MAELIA project (http://maelia1.wordpress.com/). The yEd Graph editor has been used for producing the figures. Statistical properties of networks have been computed with R and the library igraph (http://www.rproject.org/).

### **8. References**

André, P.; Delisle, C. E. & Revéret, J. P. (2004). *Environmental Assessment for Sustainable Development - Processes, Actors and Practice*, Presses Intern. Polytechnique, École Polytechnique de Montréal, ISBN 2-553-01138-5, Québec, Canada

Graphs for Ontology, Law and Policy 513

CROSSROAD, (2010). A participative roadmap for ICT research in electronic governance and policy modeling – State of the art analysis. D1.2, FP7-ICT-2009-4 SA Project Delmas-Marty, M. (2007). *Les Forces Imaginantes du Droit III - La Refondation des Pouvoirs*, Le

Erdös, P. & Rényi, A. (1959). On random graphs, *Publicationes Mathematicae*, 6, pp. 290–297 European Commission, (2004). Commission Report on Impact Assessment: Next steps – In

Farquhar, A.; Fikes, R., Pratt, W. & Rice, J. (1995). *Collaborative Ontology Construction for* 

Freeman, L. C. (1979). Centrality in social networks: conceptual clarification, *Social Networks*,

Gangemi, A.; Guarino, N., Masolo, C. & Oltramari, A. (2001). Understanding top-level

Genesereth, M. R. & Fikes, R. E. (1992). *Knowledge Interchange Format*, Version 3.0 Reference

Grüber, T. R. (1992). *Ontolingua: A Mechanism to Support Portable Ontologies*. Technical Report KSL 91-66, Knowledge Systems Laboratory, Stanford University, USA Grüber, T. R. (1995). Toward principles for the design of ontologies used for knowledge

Grüber, T. R. (2009). Ontology, In the *Encyclopedia of Database Systems*, Liu, Ling; Özsu, M. Tamer (Eds.), Springer-Verlag, *ISBN* 978-0-387-35544-3, Berlin, Germany Guarino, N. (1998). Formal Ontology in Information Systems. In *Formal Ontology in* 

1998. IOS Press, ISBN: 9051993994, Amsterdam, The Netherlands, pp. 3-15 Hassenteufel, P. (2008). *Sociologie Politique : l'Action Publique*, Armand Colin, coll. U

Henry, N. (2004). *Public Administration and Public Affairs* (9th Ed.), Prentice-Hall Inc.,

Howlett, M. & Ramesh, M. (2003). *Studying Public Policy – Policy Cycles and Policy Sub-*

Jungnickel, D. (1999). *Graphs, Networks and Algorithms*, Algorithms and Computation in

Kelsen, H. (1960). *Pure Theory of Law* (2d. Ed.), M. Knight, trans. (1967), University of

LEMA, (2006). *Loi n°2006-1772 du 30 décembre 2006 sur l'eau et les milieux aquatiques*, JORF n°303 (31/12/2006), texte n°3, p.20285 sq. http://www.legifrance.gouv.fr/ Louka, E. (2006). *International Environmental Law.* Cambridge Univ. Press, ISBN-13: 978-0-

Mazzega, P.; Bourcier, D. & Boulet, R. (2009). The network of French legal codes. *Proc. 12th* 

Mazzega, P.; Bourcier, D., Bourgine, P., Nadah, N. & Boulet, R. (2011). A complex-system

*Intern. Conf. Artificial Intelligence and Law*, ACM 2009, ISBN 978-1-60558-597-0,

approach: legal knowledge, ontology, information and networks. In *Approaches to* 

sharing, *Intern. J. Human-Computer Studies*, 43 (5-6), pp. 907–928

Sociologie , *ISBN*-10: 2200019858, Paris, France

California Press, Berkeley, USA

521-86812-9, Cambridge, UK

Barcelona – Spain, June 8-12, pp. 236-237

ISBN10: 0-13-222297-3, Upper Saddle River, NJ USA

*System*s, Oxford Univ. Press, *ISBN*-10: 0195417941, Oxford, UK

Math. Vol.5, Springer, ISBN 3-540-63760-5, Berlin, Germany

*Support of Competitiveness and Sustainable Development* SEC(2004)1377 of 21 October

*Information Integration*, Knowledge Systems, AI Laboratory Department of

ontological distinctions, *Proc. of IJCAI 2001 Workshop on Ontologies and Information Sharing,* Gómez Pérez, A., Gruninger, M., Stuckenschmidt, H. & Uschold, U. (Eds.),

Manual. Technical Report Logic-92-1, Computer Science Department, Stanford

*Information Systems*, Guarino N. (Ed.) *Proceedings of FOIS'98*, Trento, Italy, June 6-8,

Seuil, ISBN2020912503, Paris, France

Computer Science, KSL-95-63

1(3), pp. 215–239

University, USA

Seatle, USA

2004


512 New Frontiers in Graph Theory

Bécane, J.-C.; Couderc, M. & Hérin, J.-L. (2010). *La Loi*, Dalloz, ISBN : 978-2-247-08761-7,

Berners-Lee, T.; Hendler, J. & Lassila, O. (2001). The semantic web. Scientific American,

Bommarito, M. J. & Katz, D. M. (2010). A Mathematical Approach to the Study of the United

Boulet, R. (2011). Introduction d'indices structuraux pour l'analyse de réseaux multiplexes.

Boulet, R.; Mazzega, P. & Bourcier, D. (2010). Network analysis of the French environmental

Boulet, R.; Mazzega, P. & Bourcier, D. (2011a). A network approach to the French system of

Boulet, R.; Mazzega, P. & Bourcier, D. (2011b). A network approach to the French system of

Boulet, R.; Mazzega, P. & Bourcier, D. (2012). Réseaux normatifs relatifs à l'environnement :

Bourcier, D., Boulet R. & Mazzega P. (Eds.), Hermann, Paris, France, *in press* Bourcier, D. & Mazzega, P. (2007a). Toward measures of legal complexity, *Proc. 11th Intern.* 

Bourcier, D. & Mazzega, P. (2007b). Codification, law article and graphs, In *Legal Knowledge* 

Bourcier, D.; Boulet, R. & Mazzega, P. (eds.) (2012). *Politiques Publiques Systèmes Complexes*,

Brachman, R. J. & Levesque, H. J. (Eds.) (1985). *Readings in Knowledge Representation*, Morgan

Brachman, R. J. (1979). On the epistemological satus of semantic networks. Findler, pp. 3-50 Brachmann, R. J. & Levesque, H. J. (2004). *Knowledge Representation and Reasoning*, Morgan Kaufmann Publishers, Elsevier, ISBN: 1-55860-932-6, San Francisco, USA Brandes, U. & Erlebach, T. (2005). *Network Analysis - Methodological Foundations*, Springer,

Casanovas, P.; Noriega, P., Bourcier, D. & Galindo, F. (2007). *Trends in Legal Knowledge - The* 

Chein, M. & Mugnier, M.-L. (2009). *Graph-based Knowledge Representation: Computational* 

Clauset, A.; Newman, M. E. J. & Moore, C. (2004). Finding community structure in very large networks, *Physical Review E* 70:066, 111, doi:10.1103/PhysRevE.70.066111 Colizza, V.; Flammini, A., Serrano, M. A. & Vespignani, A. (2006). Detecting rich-club

Cox, D. J. & Holder, L. B. (2007). *Mining Graph Data*, Wiley & Sons, ISBN: 13 978-0-471-

ordering in complex networks, *Nature Physics*, 2, pp. 110–11

*Semantic Web and the Regulation of Electronic Social Systems*, European Press Acad.

*Foundations of Conceptual Graphs*, Springer Verlag London, ISBN: 978-1-84800-286-9,

legal codes - Part II: the role of the weights in a network, *submitted*

*Actes 2de Conf. Modèles et Analyse des Réseaux: Approches Mathématiques et* 

code, In *AICOL Workshops 2009:* Beijing, China / Rotterdam, The Netherlands, Casanovas, P., Pagallo, U., Sartor, G. & Gianmaria A. (Eds.), LNAI 6237, Springer,

legal codes - Part I: analysis of a dense Network*.* Artificial Intelligence & Law,

structures et changements d'échelles. In *Politiques Publiques Systèmes Complexes*,

*Conf. Artificial Intelligence & Law*, Stanford Law School, ACM Press, ISBN 978-1-

*and Information Systems*, JURIX, Lodder, A.R. & Mommers L. (Eds.), IOS Press,

States Code (March 25, 2010). Physica A, Vol. 389,19, pp. 4195-4200

*Informatique*, October 19-21, Grenoble, France, *in press* 

Heidelberg, Germany, ISBN 978-3-642-16523-8, pp. 39-53

59593-680-6, New York, USA, pp. 211-215

ISBN:1586038109, pp. 29-38

Hermann, Paris, France, *in press*

Kaufmann, San Mateo, USA (CA)

ISBN: 3-540-24979-6, Berlin, Germany

Publ., ISBN: 8883980492, Florence, Italy

London, UK

73190-0, New Jersey, USA

Paris, France

284(5), pp. 34-43

vol.19 (4), 333-355


*Legal Ontologies: Theories, Domains, Methodologies*, Sartor, G., Casanovas, P., Biasiotti, M. A. & Fernández-Barreira, M. (Eds.), Springer, ISBN 978-94-007-0119-9, Berlin, Germany, pp. 117-132


514 New Frontiers in Graph Theory

Mesbahi, M. & Egestedt, M. (2010). *Graph Theoretic Methods in Multi-Agent Networks*,

Minsky, M. (1975). A Framework for Representing Knowledge, In *The Psychology of Computer* 

Ost, F. & van de Kerchove, M. (2002). *De la Pyramide au Réseau? Pour une Théorie Dialectique du Droit*, Publ. Facultés Univ. Saint-Louis, ISBN2802801538, Bruxelles, Belgium Oström, E. (2005). *Understanding Institutional Diversity*, Princeton Univ. Press, ISBN:

Pagé, C. & Terray, L. (2011). New fine-scale climate projections on France for the 21st

de Formation Avancée en Calcul Scientifique (CERFACS), Toulouse, France PDM AG, (2010). *Programme de Mesures du Bassin Adour-Garonne 2010-2015*, Comité de

Sartor, G.; Casanovas, P., Biasiotti, M. A. & Fernández-Barreira, M. (Eds.) (2011). *Approaches* 

Schneider, Ch. J. & Urpelainen, J. (2012)*.* Distributional conflict between powerful states and international treaty ratification. International Studies Quarterly*, forthcoming.* SDAGE AG, (2010). Schéma Directeur d'Aménagement et de Gestion des Eaux du Bassin

Sowa, J. F. (1984). *Conceptual Structures, Information Processing in Mind and Machine*,

von Luxburg, U. (2007). A tutorial on spectral clustering, *Statistics and Computing*

Watts, D. J. (2003). *Small Worlds: The Dynamics of Networks between Order and Randomness*,

WFD, (2000). *Directive 2000/60/EC of the European Parliament and of the Council of 23 October* 

Zhou, S. & Mondragon, R. J. (2004). The rich-club phenomenon in the internet topology,

*2000 establishing a framework for Community action in the field of water policy*, Available

17(4):395416, URL http://arxiv.org/abs/0711.0189, 0711.0189.

Princeton University Press, ISBN: 9780691117041, Princeton, USA

la mer, adopté le 16 nov. 2009, http://www.eau-adour-garonne.fr/ Pons, P. & Latapy, M. (2005). Computing communities in large networks using random walks. *Journal of Graph Algorithms and Applications*, 10(2), pp. 191–218 Quillian, M. R. (1968). Semantic memory, In *Semantic Information Processing*, Minsky M.

(Ed.), M.I.T. press, Cambridge, USA (MA), pp. 216-270

*Vision*, Winston, P. H. (Ed.), McGraw-Hill, USA

Germany, pp. 117-132

9780691122380, Princeton, USA

Princeton, USA

9, Berlin, Germany

http://www.eau-adour-garonne.fr/

from: http://eur-lex.europa.eu/en/

*IEEE Communications Letters*, 8(3), pp. 180–182

Addisson-Wesley, ISBN: 0201144727, USA

*Legal Ontologies: Theories, Domains, Methodologies*, Sartor, G., Casanovas, P., Biasiotti, M. A. & Fernández-Barreira, M. (Eds.), Springer, ISBN 978-94-007-0119-9, Berlin,

Princeton Series in Applied Math., Princeton Univ. Press, ISBN: 9780691140612,

century: scenarios SCRATCH2010. Climate Modelling and Global Change Technical Report TR/CMGC/10/58 (in french). Centre Européen de Recherche et

Bassin AG / Ministère de l'écologie, de l'énergie, du développement durable et de

*to Legal Ontologies: Theories, Domains, Methodologies*, Springer, ISBN 978-94-007-0119-

Adour-Garonne 2010-2015, Comité de Bassin AG / Ministère de l'écologie, de l'énergie, du développement durable et de la mer, adopté le 16 nov. 2009,

## *Edited by Yagang Zhang*

Nowadays, graph theory is an important analysis tool in mathematics and computer science. Because of the inherent simplicity of graph theory, it can be used to model many different physical and abstract systems such as transportation and communication networks, models for business administration, political science, and psychology and so on. The purpose of this book is not only to present the latest state and development tendencies of graph theory, but to bring the reader far enough along the way to enable him to embark on the research problems of his own. Taking into account the large amount of knowledge about graph theory and practice presented in the book, it has two major parts: theoretical researches and applications. The book is also intended for both graduate and postgraduate students in fields such as mathematics, computer science, system sciences, biology, engineering, cybernetics, and social sciences, and as a reference for software professionals and practitioners.

New Frontiers in Graph Theory

New Frontiers in

Graph Theory

*Edited by Yagang Zhang*

Photo by ronstik / iStock