| Literature DB >> 30453676 |
Kyoungsoo Bok1, Jaeyun Jeong2, Dojin Choi3, Jaesoo Yoo4.
Abstract
As graph stream data are continuously generated in Internet of Things (IoT) environments, many studies on the detection and analysis of changes in graphs have been conducted. In this paper, we propose a method that incrementally detects frequent subgraph patterns by using frequent subgraph pattern information generated in previous sliding window. To reduce the computation cost for subgraph patterns that occur consecutively in a graph stream, the proposed method determines whether subgraph patterns occur within a sliding window. In addition, subgraph patterns that are more meaningful can be detected by recognizing only the patterns that are connected to each other via edges as one pattern. In order to prove the superiority of the proposed method, various performance evaluations were conducted.Entities:
Keywords: IoT; frequent pattern detection; graph stream; incremental; subgraph pattern
Year: 2018 PMID: 30453676 PMCID: PMC6263475 DOI: 10.3390/s18114020
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Characteristics and limitation of the existing methods.
| Methods | Characteristics | Limitations |
|---|---|---|
| [ |
Use of less space because building a tree with only the main lines from the sparse graph. fast access because it is constructed by using trees. |
Increased DSTree construction time when the structure of the graph changes significantly. A large number of comparison operations occur because it detects frequent patterns after the full scan of DSTree. |
| [ |
Deployed at less cost than DSTree since DSMatrix is a two-dimensional array. Construct FP-Trees to detect frequent patterns and calculate the frequency of each pattern using the DFS. |
Require a lot of computation and memory while constructing many FP-Trees for frequent pattern detection. DFS takes a long time to detect frequent patterns. Fail to resolve duplicate calculations, a problem caused by the use of sliding window techniques. |
| [ |
Fast and frequent patterns detection using simple AND computations. Significant frequent pattern detection based on connectivity. |
Significant performance degradation because AND operations are performed on all patterns. Fail to resolve duplicate calculations, a problem caused by the use of sliding window techniques. |
Notations.
| Notation | Description |
|---|---|
| DSMatrix | Matrix representing the occurrence of the edge as 1 or 0 |
|
| edge connecting the vertices |
| FiB | Number of occurrences of the edge in one batch processing |
| FiS | Total number of edges in the sliding window |
| slideNum | Value to calculate whether Edge will be frequent or not during future window slide |
| AND operation | Operations that determine whether two subgraphs occur simultaneously |
Figure 1Overall processing procedure.
DSMatrix.
| Edge | Contents (Batch1) | Contents (Batch2) | Contents (Batch3) |
|---|---|---|---|
|
| 1 1 1 | 1 1 1 | 1 1 1 |
|
| 1 1 1 | 0 1 1 | 1 1 1 |
|
| 1 0 0 | 1 1 0 | 0 1 0 |
|
| 1 0 1 | 0 0 0 | 1 0 0 |
|
| 1 0 1 | 0 1 0 | 1 1 1 |
Figure 2Example of a graph stream, where G is a graph at time t.
Frequent subgraph pattern management table.
| Edge | slideNum | FiB (Batch1) | FiB (Batch2) | FiB (Batch3) | FiS |
|---|---|---|---|---|---|
|
| 1 | 3 | 3 | 3 | 9 |
|
| 1 | 3 | 2 | 3 | 8 |
|
| 0 | 1 | 2 | 1 | 4 |
|
| −1 | 2 | 0 | 1 | 3 |
|
| 0 | 2 | 1 | 3 | 6 |
Frequent subgraph pattern management table where patterns are added.
| Subgraph | slideNum | FiB (Batch1) | FiB (Batch2) | FiB (Batch3) | FiS |
|---|---|---|---|---|---|
|
| 1 | 3 | 3 | 3 | 9 |
|
| 1 | 3 | 2 | 3 | 8 |
|
| 0 | 1 | 2 | 1 | 4 |
|
| −1 | 2 | 0 | 1 | 3 |
|
| 0 | 2 | 1 | 3 | 6 |
|
| 1 | 3 | 2 | 3 | 8 |
|
| 0 | 2 | 1 | 3 | 6 |
|
| 0 | 2 | 1 | 2 | 6 |
Figure 3New input graph stream, where G is a graph at time 10, G is a graph at time 11, and G is a graph at time 12.
DSMatrix after the window slide moves.
| Edge | Contents (Batch2) | Contents (Batch3) | Contents (Batch4) |
|---|---|---|---|
|
| 1 1 1 | 1 1 1 | 111 |
|
| 011 | 111 | 000 |
|
| 110 | 010 | 111 |
|
| 000 | 100 | 111 |
|
| 010 | 111 | 010 |
Frequent subgraph pattern detection after window slide moves.
| Subgraph | slideNum | FiB (Batch2) | FiB (Batch3) | FiB (Batch4) | FiS |
|---|---|---|---|---|---|
|
| 1 → 0 | 3 | 3 | ||
|
| 1 → 0 | 2 | 3 | ||
|
| 0 | 2 | 1 | 3 | 6 |
|
| −1 → 0 | 0 | 1 | ||
|
| 0 | 1 | 3 | 1 | 5 |
|
| 1 → 0 | 2 | 3 | ||
|
| 0 | 1 | 2 | 0 | 3 |
|
| 0 | 2 | 1 | 0 | 3 |
Performance evaluation environment.
| Feature | Contents |
|---|---|
| Processor | Intel(R) Core(TM) i5-4440 3.10 GHz |
| Memory | 8 GB |
| Disk | 1 TB |
| Program language | Java |
Figure 4Processing time of the proposed method according to sliding window size.
Figure 5Processing time according to the number of edges.
Figure 6Processing time according to the sliding window size.
Figure 7Processing time according to threshold.
Figure 8Memory usage.