# Predicting and Modeling Wildfire Propagation Areas with BAT and Maximum-State PageRank
## 2 Overview of Wildfire Propagation, Scale-Free Network, Barabasi-Albert Model, and BAT
### Bat  
BAT was first proposed by [PERSON] [46] in 2020. It is a simple tree based on binary addition, and is used to generate all the possible binary-state vectors whose values of state coordinates are either 0 or 1. Experimental results have confirmed that BAT is better than the conventional Inclusion-Exclusion method, which is based on depth-first-search (DFS) [22; 47], and the conventional Inclusion-Exclusion method is better than the Sum-of-disjoint product method, which is based on the breadth-first-search (BFS) [22; 23; 48; 49]. Hence, BAT outperforms BFS and DFS in terms of the required computer memory and efficiency [46].  
The flexibility of BAT highlights the malleability of its searchability and the ease of modification and customization with various practical applications [46]. Therefore, we customized it for the problems considered in this study.  
Let us assume that \(Y_{k}\) is the \(k\)th obtained vector with \(m\) coordinates and the \(i\)th coordinate \(Y_{k}(i)\) is the state of link \(a_{i}\in E\) in \(Y_{k}\). The original BAT is link-based and all coordinates in its calculated vectors are the states of the links. In the original link-based BAT, \(Y_{k+1}\) is generated after adding 1 to \(Y_{k}\) by treating \(Y_{k}\) as a binary number whose \(i^{\text{th}}\) digit is equal to \(Y_{k}(i)\). The overall pseudocode of BAT is shown in Algorithm 2.  
```
Input A binary-state network \(G(V,E)\) with two states, either 0 or 1, to each link and \(V=\{0,1,2,\ldots,n-1\}\) Output All possible non-duplicate link-based state vectors.
1: Let SUM = 0, vector index \(k=1\), and \(Y1=Y\) be a zero vector with \(m\) coordinates which represented the states of the related links.
2: Let coordinate index \(i=m\).
3: If \(Y(i)=0\), let \(Y(i)=1\), \(k=k+1\), \(Y_{k}=Y\), SUM = SUM + 1 then go to line 5.
4: Let \(Y(i)=0\). If \(i>1\), let \(i=i-1\) then go to line 3.
5: If SUM = m, halt, and \(Y_{1}\), \(Y_{2}\), \(\ldots\), \(Y_{k}\) are all possible state vectors return line 2.
```  
**Algorithm 2** BAT Algorithm [46]  
Algorithm 2 begins with a zero vector, as shown in line 1. All the other vectors are generated by adding 1 in accordance with the binary addition in sequence in the form of a loop from the line 2 to the line 4. The algorithm stops when SUM = \(m\), i.e., all the coordinates are 1, in line 5 [46].  
Considering \(m=5\), we have the zero vector \(Y_{1}\) = (0, 0, 0, 0) whose binary number is 0000. Using the aforementioned pseudocode from the line 2 to the line 4., the first five vectors are easily obtained and represented in binary numbers as follows:  
\[00000+1=00001, \tag{5}\]  
\[00001+1=00010, \tag{6}\]  
\[00001+1=00011, \tag{7}\]  
\[00011+1=00100. \tag{8}\]  
It can be seen from Equations (5)-(8), \(Y_{2}\) = (0, 0, 0, 0, 1), \(Y_{3}\) = (0, 0, 0, 1, 0), \(Y_{4}\) = (0, 0, 0, 1, 1), and \(Y_{5}\) = (0, 0, 1, 0, 0). Similarly, all the vectors obtained in BAT are presented in Table 3, where Columns \(B_{i}\) represent the binary numbers of the obtained vector \(Y_{i}\)[46].  
The value of each coordinate is either 0 or 1 in the binary-state network, with five coordinates in each vector. Hence, there are \(2^{5}=32\) different vectors. Thus, all the possible state vectors are obtained without duplications in BAT [46].