# Routing Strategies for Isochronal-Evolution Random Matching Network
## 2 Isochronal-Evolution Random Matching Network  
### Introduction of IERMN  
The IERMN from \(T_{\text{begin}}\) to \(T_{\text{end}}\) is designed used the 4-tuple shown in (1)  
\[\langle V,\Omega,\Delta T_{\text{slot}},\theta(s),\mathbf{X}\rangle \tag{1}\]  
where \(\Delta T_{\text{slot}}\) denotes the length of a slot; \(\Omega=\frac{T_{\text{end}}-T_{\text{begin}}}{\Delta T_{\text{slot}}}\) denotes the number of slots; \(\theta(s)\) denotes the function that represents the number of edges in the slot \(s\); \(\mathbf{X}=\left(x_{ki}\right)_{\Omega\times\Theta}\) is the matrix that reflects the changes in the edges from slot 1 to slot \(\Omega\), and its element \(x_{ki}\) is defined as (2).  
\[x_{ki}=\begin{cases}j,&v_{i}\text{ connects with }v_{j}\text{ in slot }k\\ i,&v_{i}\text{ connects with no vertex in slot }k\end{cases} \tag{2}\]  
The IERMN in slot \(k\) (\(k\in\mathbf{N}_{+}\)) is denoted by \(G_{k}=(V,E_{k})\), where \(V=\{v_{i}\}\) is the vertex set, and \(E_{k}\) is the edge set. The expression of \(E_{k}\) is  
\[E_{k}=\left\{e_{ij}^{[k]}\middle|v_{i},v_{j}\in V,i<j\right\} \tag{3}\]  
where \(e_{ij}^{[k]}\) means that there is an edge between \(v_{i}\) and \(v_{j}\) in slot \(k\). The inequality \(i<j\) in (3) does not indicate that IERMN is an undirected network (we explain this in Section 2.2). Thus, \(e_{ij}^{[k]}\) does not mean that the direction of this edge is from \(v_{i}\) to \(v_{j}\). The vertex with a smaller number is called the left vertex, while the vertex with a bigger number is called the right vertex.  
We count the number of possible topologies of \(G_{k}\) with \(\Theta\) vertices and \(\theta\) edges, i.e., the total number of \(RMN(\Theta,\theta)\).  
Since edge sets are the differences between different \(RMN(\Theta,\theta)\), the number of \(RMN(\Theta,\theta)\) is just the number of edge sets with \(\theta\) edges. We can use two steps to generate the edge set of \(RMN(\Theta,\theta)\), which is distinct from the process presented in Section 1.  
First step: Select \(2\theta\) vertices from \(\Theta\) vertices. The number of possible selections is the number of \(2\theta\)-subsets in a \(\Theta\)-element set, which is  
\[\begin{pmatrix}\Theta\\ 2\theta\end{pmatrix}=\frac{\Theta!}{(2\theta)!(\Theta-2\theta)!} \tag{4}\]  
Second step: Partition the set of \(2\theta\) vertices into \(\theta\) sets, each of size 2. This is a partition problem [28] that can be described as follows. Let \(n\) and \(m\) be positive integers and let \(n_{1}\), \(n_{2}\),..., \(n_{m}\) be positive integers with \(n_{1}=n_{2}=\cdots=n_{m}=\frac{n}{m}\). The number of ways  
and the number of accumulated packets increases with time. The critical packet generation rate \(R_{c}\) reflects the maximum traffic capability of an IERMN [31].  
The following order parameter \(H\) is used to characterize the phase transition [32]:  
\[H(R)=\lim_{t\rightarrow\infty}\frac{\mathcal{C}}{R}\frac{\langle\Delta W\rangle} {\Delta t} \tag{9}\]  
where \(\Delta W=W(t+\Delta t)-W(t)\), \(\langle\Delta W\rangle\) indicates the average value over a time window \(\Delta t\), and \(W(t)\) represents the number of packets in the IERMN at time step \(t\). When \(H=0\), IERMN is in the free-flow state and \(R<R_{C}\); whereas, when \(H>0\), IERMN is in the congestion state and \(R>R_{C}\). The larger \(H\) is, the worse the congestion is.