1. INTRODUCTION
Networks have become a powerful abstraction for complex systems [1], [2]. To comprehend such networks, we often seek patterns in their connections, which would allow us to comprehend the system in simpler terms. A common theme is to divide the nodes—and by extension the units of the underlying system—into groups of similar nodes. For instance, in the context of community detection, we consider nodes as similar if they are tightly-knit together, or share similar neighborhoods [3]. This notion of node similarity is thus bound to the specific position of the nodes in the graph, i.e., the identity of their neighboring nodes. In contrast, we may want to split nodes into groups according to whether they play a similar role in the graph [4], irrespective of their exact position. As an example, consider a division into hubs and peripheral nodes according to their degree, a split for which the exact identity of the neighboring nodes is not essential. While in this specific example defining a degree-similarity measure between nodes is simple, how to define a similarity measure between nodes in a position independent manner is a non-trivial question in general.