# A Spatial Fuzzy Co-Location Pattern Mining Method Based on Interval Type-2 Fuzzy Sets
## 4 Methods
### A Mining Method Based on Spatial Cliques
#### 4.1.2 Generating FCP Mining Cliques (FCPM-Cliques)  
According to the spatial neighborhood relation \(R\), a spatial dataset can be expressed as a neighbor graph. We sort all of the features in the lexicographical order of their names. Instances of different features are sorted by their features, and instances of the same feature are sorted by their index values. We provide the following definitions:  
**Definition 11** (Small neighbor instance set): _For instance, \(s\in S\), with \(F_{i}\) is the feature of instance \(s\). A set of instances SN(\(s\)) = {\(s^{{}^{\prime}}\in S\)\(\mid\)\(F_{j}\)\(<\)\(F_{i}\cap\)\(R(s\), \(s^{{}^{\prime}})\)} is defined as a small neighbor instance set of \(s\), where \(F_{j}\) is the feature of \(s^{{}^{\prime}}\). SNs(\(s\)) is a set of all the instances that are smaller than \(s\) and have spatial neighbor relationships with \(s\)._  
**Definition 12** (Big neighbor instance set): _For instance, \(s\in S\), with \(F_{i}\) is the feature of instance s. A set of instances BN(\(s\)) = {\(s^{{}^{\prime}}\in S\)\(\mid\)\(F_{j}\)\(>\)\(F_{i}\)\(\cap\)\(R(s\), \(s^{{}^{\prime}})\)} is defined as a big neighbor instance set of \(s\), where \(F_{j}\) is the feature of \(s^{{}^{\prime}}\). BNs(\(s\)) is a set of all the instances that are bigger than \(s\) and have spatial neighbor relationships with \(s\)._  
In order to quickly find the neighborhood relationship among all instances, we use a method based on grids [6]. After finding the neighborhood relationship among all instances, we get the neighborhood table of all instances, as shown in Table 4.  
Figure 6: Granular type-2 fuzzy membership function when \(g=1.372\). Suppose there is a set of spatial instances \(S=\{s_{1},\,s_{2},\,\ldots,\,s_{k}\}\), if there is \(\{R(s_{i},\,s_{j})\mid 1\leq i\leq k,\,1\leq j\leq k\}\), then \(S\) is a spatial clique--where a spatial clique is a fully connected subgraph in the instances distribution diagram. After obtaining the neighbor relationship between all the instances, we build a tree structure and adopt an effective method, called the Neighborhood Driven Method (NDM), to generate all spatial cliques. For a spatial clique, the first instance of a clique is called the head of the clique and is represented by \(H_{clique}\).\(B_{clique}\). Last, all the cliques with instance \(H_{s}\) as the head are represented by \(clique_{\text{A},1}\)-clique. For example, for a clique \(H_{clique_{\text{A},1}}\) = {A.1, B.2, C.2, D.3}, \(B_{clique_{\text{A},1}}\) = {A.1, \(\otimes\)\(clique_{\text{A},1}\) = {B.2, C.2, D.3}, \(H_{A,1}\) is a \(H_{A,1}\)-clique. After getting the neighborhood relation of all instances, the NDM aims to find these cliques headed by \(s_{i}\) for each instance \(s_{i}\) (\(1\leq i\leq n\), where \(n\) is the total number of instances). **Definition 13** (NDM-Based clique tree (N-tree for short)). : _An N-tree is a tree structure; its root node is labeled as \"root\". In an N-tree, each node except \"root\" represents only one instance. Every branch of an N-tree is a spatial clique, which is called an N-clique. We use four strategies to construct an N-tree in the order of instances in the neighborhood table. Figure 7 shows an example of constructing an N-tree._  
In a clique \(cli\) = {\(s_{1},\,s_{2},\,\ldots,\,s_{k}\)}, for any instance for \(s_{i}\) of \(cli\), {\(s_{i+1},\,s_{i+2},\,\ldots,\,s_{k}\)} is contained in BNs(\(s_{i}\)) and {\(s_{1},\,s_{2},\,\ldots,\,s_{i-1}\)} is contained in SNs(\(s_{i}\)). Therefore, we check whether {\(s_{2},\,s_{3},\,\ldots,\,s_{n}\)} \(\subseteq\) SNs(\(s\))\(\cap\)BNs(\(s_{1}\)) when we want to check whether an instance \(s\) and \(cli\) can form a new clique, which means that \(s\) is a neighbor to every instance in the clique and therefore a new clique can be formed. Four strategies are proposed according to the different situations of SNs(s)\(\cap\)BNs(\(s_{1}\)). Suppose there is a clique \(cli\) = {\(s_{1},\,s_{2},\,\ldots,\,s_{k}\)} and an instance \(s\) \(\in\) BNs(\(s_{1}\)).