Commit 3fe2f636 authored by Dennis Hendriks's avatar Dennis Hendriks
Browse files

#344 Single sentence per AsciiDoc source line.

parent fb585bae
...@@ -16,14 +16,19 @@ include::_part_attributes.asciidoc[] ...@@ -16,14 +16,19 @@ include::_part_attributes.asciidoc[]
[[dsm-algorithm]] [[dsm-algorithm]]
== Algorithm and code == Algorithm and code
The algorithm is defined in <<Wilschut2017>>. The link between names of parameters in the algorithm and the code is listed in the <<clustering-function-parameter-table>> table. The algorithm is defined in <<Wilschut2017>>.
The link between names of parameters in the algorithm and the code is listed in the <<clustering-function-parameter-table>> table.
The algorithm finds a bus, and performs bottom-up clustering of both the bus nodes and the non-bus nodes. The bus detection algorithm is coded in the `BusComputing` class, while a clustering step is handled in the `ClusterComputing` class. The algorithm finds a bus, and performs bottom-up clustering of both the bus nodes and the non-bus nodes.
The bus detection algorithm is coded in the `BusComputing` class, while a clustering step is handled in the `ClusterComputing` class.
All these operations work on or produce subsets of nodes. A subset is represented by a `BitSet` instance in code, over nodes in its associated matrix. The clustering hierarchy is stored in `Group` instances. All these operations work on or produce subsets of nodes.
A subset is represented by a `BitSet` instance in code, over nodes in its associated matrix.
The clustering hierarchy is stored in `Group` instances.
The Markov clustering algorithm however assumes a complete matrix rather than a subset of it, where previously found clusters are compressed into a single node. The Markov clustering algorithm however assumes a complete matrix rather than a subset of it, where previously found clusters are compressed into a single node.
This conversion is handled by the `submatrix.SubMatrixFunctions` functions that construct and use a `SubNode` translation table to convert the overall matrix to a sub-matrix, and convert clustering results in the sub-matrix back to groups in the overall matrix. This conversion is handled by the `submatrix.SubMatrixFunctions` functions that construct and use a `SubNode` translation table to convert the overall matrix to a sub-matrix, and convert clustering results in the sub-matrix back to groups in the overall matrix.
After all computing steps are finished, a `Group` hierarchy describes which nodes and groups belong to which cluster. From this information a shuffle array is constructed, relating result nodes back to originating nodes. After all computing steps are finished, a `Group` hierarchy describes which nodes and groups belong to which cluster.
From this information a shuffle array is constructed, relating result nodes back to originating nodes.
That array is then used to construct the resulting labels and the resulting adjacency matrix. That array is then used to construct the resulting labels and the resulting adjacency matrix.
...@@ -18,9 +18,7 @@ indexterm:[DSM library,busdetection] ...@@ -18,9 +18,7 @@ indexterm:[DSM library,busdetection]
[[dsm-busdetection]] [[dsm-busdetection]]
== Bus detection algorithms == Bus detection algorithms
The original bus detection mechanism, as introduced in <<wilschut>>, is named the fixed-point The original bus detection mechanism, as introduced in <<wilschut>>, is named the fixed-point algorithm.
algorithm. When this algorithm is selected, `double busInclusion` corresponds to the parameter When this algorithm is selected, `double busInclusion` corresponds to the parameter ɣ in the paper.
ɣ in the paper.
The top-k bus detection algorithm selects the nodes with the highest connectivity, where the number The top-k bus detection algorithm selects the nodes with the highest connectivity, where the number of nodes to select as bus nodes is supplied by the user.
of nodes to select as bus nodes is supplied by the user.
...@@ -64,7 +64,8 @@ indexterm:[DSM library,Markov clustering parameters] ...@@ -64,7 +64,8 @@ indexterm:[DSM library,Markov clustering parameters]
| `double busInclusion` | `double busInclusion`
| - | -
| - | -
| Tuning factor for selecting bus nodes. Interpretation depends on the chosen bus detection algorithm. | Tuning factor for selecting bus nodes.
Interpretation depends on the chosen bus detection algorithm.
|=== |===
The function computes how to group the nodes into a bus and hierarchical clusters by shuffling the nodes into a different order. The function computes how to group the nodes into a bus and hierarchical clusters by shuffling the nodes into a different order.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment