# Improved Networks Routing Using an Arrow-Based Description

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

- Section 2 introduces the basic notations used in the paper;
- Section 3 describes an arrow-description of the graph;
- Section 4 describes the use of the arrow algebra;
- Section 5 describes the routing algorithm using arrows;
- Section 6 is dedicated to a more detailed description of the algorithm;
- Section 7 is dedicated to conclusions and future work.

## 2. Basic Definitions and Notations

#### 2.1. Background

**A**is an N×L matrix (it has N rows and L columns), whose elements describe which links connect which nodes. The cycles–links incidence matrix

**B**is a C×L matrix, where C is the number of independent cycles, and L, the number of links of the graph. In a planar graph, the values C, L, and N are such that [8] they fulfill the Euler equation C = L-N + 2.

**C**= {C1, C2, …, C

_{c}} and we assume that the cycle with the highest index C

_{c}is the border cycle, and c is given by the Euler equation. Recall that a planar graph is a graph that can be drawn in a planar embedding such that no link crossings are present.

#### 2.2. Adjacency and Cycles Merger

_{1}and c

_{2}are adjacent through the common link connecting nodes 3 and 8. The two cycles can be merged as shown in Figure 2, following the method of [7,9]. Notably, we obtain a larger cycle by removing the adjacent link of the two cycles. Algebraically this can be obtained by adding either the rows or the columns describing c

_{1}and c

_{2}in the matrix

**L**, as described by [7]. Notably,

_{C}**L**is the cycles Laplacian of the network and it is obtained using the cycles–links incidence matrix:

_{C}**L**.

_{C}= B*B^{T}## 3. An Arrow-Based Description and Its Algebra

#### 3.1. Graph Arrows

**Definition**

**1.**

- $\overrightarrow{\left(i,j\right)}+\overrightarrow{\left(j,k\right)}=\overrightarrow{\left(i,k\right)}$;
- $\overrightarrow{\left(i,j\right)}+\overrightarrow{\left(i,j\right)}=\overrightarrow{\left(i,j\right)}$;
- $\overrightarrow{\left(i,j\right)}+\overrightarrow{\left(k,i\right)}=\overrightarrow{\left(k,j\right)}$; $\overrightarrow{\left(i,j\right)}+\overrightarrow{\left(k,l\right)}=\overrightarrow{\infty}$ if $i\ne l$ and $j\ne k$;
- $\overrightarrow{\left(i,j\right)}+\overrightarrow{0}=\overrightarrow{0}+\overrightarrow{\left(i,j\right)}=\overrightarrow{\left(i,j\right)}$;
- $\overrightarrow{\infty}+\overrightarrow{\left(i,j\right)}=\overrightarrow{\left(i,j\right)}+\overrightarrow{\infty}=\overrightarrow{\infty}$;
- $\overrightarrow{0}+\overrightarrow{\infty}=\overrightarrow{\infty}+\overrightarrow{0}=\overrightarrow{\infty}$.
- $\overrightarrow{0}+\overrightarrow{0}=\overrightarrow{0}$

#### 3.2. Basic Graph Operations with Arrows

## 4. Using Graph Arrows

**B**to find paths in the graph, as we shall show subsequently.

## 5. Routing Algorithm Using Arrows

#### 5.1. Serial Addition

#### 5.2. Parallel Composition of Graph Arrows

#### 5.3. Series-Parallel Composition of Graph Arrows

Algorithm 1: The path finding using graph arrows. |

Input: the starting node n_{s}and the end node n_{e};Determine the cycles containing n _{s}and n_{e};Determine the cycles paths comprising both n _{s}and n_{e}using cycles mergers; If there is no path, then STOP and print “No path found”; Once a path is found, translate the list of graph arrows to sets T and H as discussed. By successive applications of the KMP algorithm as described above, find a direct and a return path between the nodes; Output: the path discovered. |

- Each time, the number of cycles limits the iterations to less than C.
- The end criteria of the program can be flexible such that it can be stopped whenever a first path is found or alternatively it can be run until a path with a specific length is obtained.

^{2}), as with the algorithm presented in this paper.

## 6. The Algorithm in More Detail

_{nxL}is orthogonal to the cycles–links incidence matrix B

_{CxL}and therefore AB = BA = 0, wherein 0 in a matrix with all the entries equaling 0. Hence, a symbolic representation of nodes–cycles dependencies looks appropriate, as well as a list-based one. In this paper, we prefer the symbolic representation and we show it subsequently.

## 7. Conclusions and Further Work

## Author Contributions

## Funding

## Conflicts of Interest

## References

- Onete, C.E.; Onete, M.C.C. Improved networks routing using link addition. In Proceedings of the MOCAST 2020, Bremen, Germany, 7–9 September 2020. [Google Scholar]
- Bhondekar, A.P.; Kaur, H. Routing Protocols in Zigbee Based Networks: A Survey. Available online: https://www.researchgate.net/publication/275637579 (accessed on 10 November 2019).
- Narmada, A.; Rao, P.S. Performance comparison of routing protocols for zigbee wpan. Int. J. Comput. Sci. Issues (IJCSI)
**2011**, 8, 394–402. [Google Scholar] - Prativa, P.; Saraswala, A. Survey on routing protocols in zigbee network. Int. J. Eng. Sci. Innov. Technol. IJESIT
**2013**, 2, 471–476. [Google Scholar] - Kumar, P.S.S.; Babu, A.R. A survey on routing techniques in zigbee wireless networks in contrast with other wireless networks. Indian J. Sci. Technol.
**2017**, 10, 1–8. [Google Scholar] [CrossRef] - Onete, C.E.; Onete, M.C.C. An alternative to zigbee routing using a cycles description of a planar graph. In Proceedings of the 2019 8th International Conference on Modern Circuits and Systems Technologies (MOCAST), Thessaloniki, Greece, 13–15 May 2019; pp. 29–32. [Google Scholar]
- Bondy, A.; Murty, U.S.R. Graph Theory, Springer Graduate Texts in Mathematics; Springer: Berlin, Germany, 2008. [Google Scholar] [CrossRef]
- Balabanian, N.; Bickart, T.A. Electrical Network Theory; John Wiley and Sons Inc.: New York, NY, USA, 1969. [Google Scholar]
- Onete, C.E.; Onete, M.C.C. Building hamiltonian networks using the laplacian of the underlying graph. In Proceedings of the 2015 IEEE International Symposium on Circuits and Systems (ISCAS), Lisbon, Portugal, 24–27 May 2015; pp. 145–148. [Google Scholar]
- Onete, C.E.; Onete, M.C.C. Finding the Hamiltonian circuits in an undirected graph using the mesh-links incidence. In Proceedings of the 19th IEEE International Conference Electronica, Circuits and Systems (ICECS), Seville, Spain, 9–12 December 2012; pp. 472–475. [Google Scholar]
- Kavitha, T.; Liebchen, C.; Mehlhorn, K.; Michail, D.; Rizzi, R.; Ueckerdt, T.; Zweig, K. Cycle bases in graphs characterization, algorithms, complexity, and applications. Comput. Sci. Rev.
**2009**, 3, 199–243. [Google Scholar] [CrossRef][Green Version] - ICS 161: Design and Analysis of Algorithms. Available online: https://www.ics.uci.edu/~eppstein/161/960227.html (accessed on 10 November 2019).
- Algorithm, D. Dijkstra’s Algorithm. Available online: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm (accessed on 22 August 2020).
- Dijkstra, E.W. A note on two problems in connexion with graphs. Numer. Math.
**1959**, 1, 269–271. [Google Scholar]

**Figure 1.**Adjacency definition. Reprinted with permission from [1].

**Figure 2.**Merging two cycles. Reprinted with permission from [1].

**Figure 3.**Graph arrow from node I to node J. Reprinted with permission from [1].

**Figure 4.**The inverse of a graph arrow. Reprinted with permission from [1].

**Figure 5.**Arrow-based description of a graph. Reprinted with permission from [1].

**Figure 9.**Direct and return path from node 1 to node 20 in the graph depicted in Figure 5.

**Table 1.**Cycles–arrows description. Reprinted with permission from [1].

Cycle | Arrows |
---|---|

1 | $\overrightarrow{\left(16,17\right)}$,$\overrightarrow{\left(17,18\right)}$,$\overrightarrow{\left(18,19\right)}$,$\overrightarrow{\left(19,20\right)}$,$\overrightarrow{\left(20,16\right)}$ |

2 | $\overrightarrow{\left(18,17\right)}$,$\overrightarrow{\left(17,7\right)}$,$\overrightarrow{\left(7,8\right)}$,$\overrightarrow{\left(8,9\right)}$,$\overrightarrow{\left(9,18\right)}$ |

3 | $\overrightarrow{\left(18,9\right)}$,$\overrightarrow{\left(9,10\right)}$,$\overrightarrow{\left(10,11\right)}$,$\overrightarrow{\left(11,19\right)}$,$\overrightarrow{\left(19,18\right)}$ |

4 | $\overrightarrow{\left(19,11\right)}$,$\overrightarrow{\left(11,12\right)}$,$\overrightarrow{\left(12,13\right)}$,$\overrightarrow{\left(13,20\right)}$,$\overrightarrow{\left(20,19\right)}$ |

5 | $\overrightarrow{\left(20,13\right)}$,$\overrightarrow{\left(13,14\right)}$,$\overrightarrow{\left(14,15\right)}$,$\overrightarrow{\left(15,16\right)}$,$\overrightarrow{\left(16,20\right)}$ |

6 | $\overrightarrow{\left(15,6\right)}$,$\overrightarrow{\left(6,7\right)}$,$\overrightarrow{\left(7,17\right)}$,$\overrightarrow{\left(17,16\right)}$,$\overrightarrow{\left(16,15\right)}$ |

7 | $\overrightarrow{\left(1,2\right)}$,$\overrightarrow{\left(2,8\right)}$,$\overrightarrow{\left(8,7\right)}$,$\overrightarrow{\left(7,6\right)}$,$\overrightarrow{\left(6,1\right)}$ |

8 | $\overrightarrow{\left(2,3\right)}$,$\overrightarrow{\left(3,10\right)}$,$\overrightarrow{\left(10,9\right)}$,$\overrightarrow{\left(9,8\right)}$,$\overrightarrow{\left(8,2\right)}$ |

9 | $\overrightarrow{\left(3,4\right)}$,$\overrightarrow{\left(4,12\right)}$,$\overrightarrow{\left(12,11\right)}$,$\overrightarrow{\left(11,10\right)}$,$\overrightarrow{\left(10,3\right)}$ |

10 | $\overrightarrow{\left(4,5\right)}$,$\overrightarrow{\left(5,14\right)}$,$\overrightarrow{\left(14,13\right)}$,$\overrightarrow{\left(13,12\right)}$,$\overrightarrow{\left(12,4\right)}$ |

11 | $\overrightarrow{\left(5,1\right)}$,$\overrightarrow{\left(1,6\right)}$,$\overrightarrow{\left(6,15\right)}$,$\overrightarrow{\left(15,14\right)}$,$\overrightarrow{\left(14,5\right)}$ |

12 | $\overrightarrow{\left(1,5\right)}$,$\overrightarrow{\left(5,4\right)}$,$\overrightarrow{\left(4,3\right)}$,$\overrightarrow{\left(3,2\right)}$,$\overrightarrow{\left(2,1\right)}$ |

26 | 27 | 28 | 29 | 30 |
---|---|---|---|---|

$\overrightarrow{\left(19,20\right)}$ | $\overrightarrow{\left(20,16\right)}$ | $\overrightarrow{\left(16,17\right)}$ | $\overrightarrow{\left(17,18\right)}$ | $\overrightarrow{\left(18,19\right)}$ |

Arrow | Source | End |
---|---|---|

$\overrightarrow{\left(\mathbf{19},\mathbf{20}\right)}$ | 19 | 20 |

$\overrightarrow{\left(\mathbf{20},\mathbf{16}\right)}$ | 20 | 16 |

$\overrightarrow{\left(\mathbf{16},\mathbf{17}\right)}$ | 16 | 17 |

$\overrightarrow{\left(\mathbf{17},\mathbf{7}\right)}$ | 17 | 7 |

$\overrightarrow{\left(\mathbf{7},\mathbf{8}\right)}$ | 7 | 8 |

$\overrightarrow{\left(\mathbf{8},\mathbf{9}\right)}$ | 8 | 9 |

$\overrightarrow{\left(\mathbf{9},\mathbf{18}\right)}$ | 9 | 18 |

$\overrightarrow{\left(\mathbf{18},\mathbf{19}\right)}$ | 18 | 19 |

Source | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

End | 2 | 8 | 4 | 12 | 1 | 15 | 6 | 9 | 18 | 3 | 10 | 13 | 20 | 5 | 14 | 17 | 7 | 19 | 11 | 16 |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Onete, C.E.; Onete, M.-C.C.
Improved Networks Routing Using an Arrow-Based Description. *Telecom* **2020**, *1*, 150-160.
https://doi.org/10.3390/telecom1030011

**AMA Style**

Onete CE, Onete M-CC.
Improved Networks Routing Using an Arrow-Based Description. *Telecom*. 2020; 1(3):150-160.
https://doi.org/10.3390/telecom1030011

**Chicago/Turabian Style**

Onete, Cristian E., and Maria-Cristina C. Onete.
2020. "Improved Networks Routing Using an Arrow-Based Description" *Telecom* 1, no. 3: 150-160.
https://doi.org/10.3390/telecom1030011