Method | Time cpx. | Space cpx. | Exact | Stream | OC | P(|OC|) |
---|
EG + HLL | \(O(m\log (m) + \eta )\) | \(O(m+\eta )\) | No | No | No | Whole |
SI process | O(mn) | \(O(n^2)\) | Yes | No | Yes | Whole |
Matrix | O(mn) | \(O(n^2)\) | Yes | Yes | Yes | Whole |
Matrix + HLL | O(m) | O(n) | No | Yes | No | Average |
Matrix + reverse t | O(mn) | \(O(n^2)\) | Yes | No | Yes | Whole |
Matrix + reverse t + HLL | O(m) | O(n) | No | No | No | Whole |
Matrix + hashing (//) | \(O(mn_s)\) | \(O(n_s^2K)\) | No | Yes | Yes | Whole |
Matrix + hashing | \(O(mn_sK)\) | \(O(n_s^2)\) | No | Yes | Yes | Whole |
- Time and space complexity depends on the number of nodes n and events m, and number of edges \(\eta\) in the event graph (EG). Column entitled “Exact” indicates if the method provides exact (Yes) or approximate (No) solution. The column called “Stream” indicates if the method can stream events in chronological order. Column “OC” shows if the method can compute not only the out-component sizes but the involved nodes as well. The column “P(|OC|)” shows if the whole out-component distribution (Whole) or only its average (Average) can be computed. The hashing framework is described in the next section, with \(n_s\) number of super-nodes, K number of hash functions, and // indicating the possible parallelisable method. Note about the Matrix method: its space complexity is in \(O(n^2)\) but can be reduced to \(O(\bar{s} n \log n)\) where \(\bar{s}\) is the average size of out-components in the case of sparse matrices