# Directed Network Disassembly Method Based on Non-Backtracking Matrix
## 4 Method
### Directed Network Disassembly  
Algorithm 2 provides a recursive solution that can repeatedly disassemble a network to a specified scale. The number of nodes in the maximal strongly connected subset \(GSC\) is defined as the disassembly scale. In this algorithm, we intend to disassemble the directed network until the disassembly scale is smaller than the target scale \(C\). The above algorithm is also defined according to this idea. The input of the algorithm is the node-edge topology of the directed network. The final output is the minimum node disassembly set and the required disassembly cost when the directed network is disassembled to a specified scale; in the first step of the algorithm, the maximal strongly connected subset of the network is taken as the disassembly subject of the directed network, which can filter out the nodes and edges in the network that are not related to network disassembly; this can further improve the disassembly efficiency of the directed network. The selection of the strongly connected subset as the disassembly subject can be directly compared with the connected subset of the commonly used undirected network, which can avoid undirectional networks to meet the undirected network disassembly conditions and cause redundant disassembly. The process is controlled by judging the size of the strongest connected subset of the network; the minimum disassembly set and disassembly cost are initialized to 0 in step 2; the Laplacian matrix of the non-backtracking matrix of the maximum strongly connected subgraph is generated in step 3 for the next division of the edge module; in the fourth step, the eigenvector corresponding to the second eigenvalue is obtained by calculating \(\mathbf{H}=2d_{\max}-\mathbf{B}^{\prime}\) and applying the eigenvector approximation algorithm, which is used to divide the edge module; the overlapping node set between edge modules is found and removed in the entire network \(\mathbf{G}\) in step 5 and 6; the node to be removed is added to the disassembly set and the maximum strongly connected subset and disassembly set of the network in step 7 are updated; the minimum disassembly set and disassembly cost are updated in step 8; whether the maximum strongly connected subset size of the network reaches the target disassembly size is determined in step 9. This recursive algorithm can obtain the set of nodes that disassemble the directed network into a minimum set of connections between different edge modules of a specified size.  
```
input:  Network G Output:  Minimum disassembly set \(L_{\text{s}}\), minimum disassembly cost \(c\)  1: Select the maximum strongly connected subgraph \(GSC\) in the network and calculate its non-backtracking matrix \(\mathbf{B}_{GSC}\) according to Equation (1);  2: Initialize \(L_{\text{s}}\), \(c\) to 0;  3: Calculating \(\mathbf{B}^{\prime}\) corresponding to \(\mathbf{B}_{GSC}\) by Equation (3);  4: Use algorithm 1 to obtain the division vector \(\text{v}\) and divide the maximum strongly connected subgraph into two edge modules;  5: Find the edge set connecting the two edge modules and create a partition subgraph;  6: Find the overlapping node set S in the partitioned subgraph;  7: Remove S from network \(G\) and update network \(G\);  8: Merge S into \(L_{\text{s}}\) and update \(L_{\text{s}}\), \(c\), and \(\mathbf{B}_{GSC}\);  9: If the size of the largest strongly connected subgraph \(GSC_{size}<\) target disassembly size \(C\), return \(L_{\text{s}}\), and \(c\);  Otherwise, go back to step 3.
```  
**Algorithm 2**Directed network disassembly algorithm (DIR method)