<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>It Pays to Be Lazy: Reusing Force Approximations to Compute Better Graph Layouts Faster</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Robert Gove</string-name>
          <email>robert.gove@twosixlabs.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Two Six Labs</institution>
        </aff>
      </contrib-group>
      <fpage>43</fpage>
      <lpage>51</lpage>
      <abstract>
        <p>-N-body simulations are common in applications ranging from physics simulations to computing graph layouts. The simulations are slow, but tree-based approximation algorithms like Barnes-Hut or the Fast Multipole Method dramatically improve performance. This paper proposes two new update schedules, uniform and dynamic, to make this type of approximation algorithm even faster by updating the approximation less often. An evaluation of these new schedules on computing graph layouts finds that the schedules typically decrease the running time by 9% to 18% for Barnes-Hut and 88% to 92% for the Fast Multipole Method. An experiment using 4 layout quality metrics on 50 graphs shows that the uniform schedule has similar or better graph layout quality compared to the standard BarnesHut or Fast Multipole Method algorithms.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Spring-electric algorithms are considered to be conceptually
simple methods for computing graph layouts [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]–[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and they
have enjoyed widespread implementation. However, the brute
force algorithm requires O(|V |2) time to compute repulsive
forces, where |V | is the number of vertices in a graph
G = (V, E). Tree-based approximation methods—e.g.
BarnesHut (BH), the Fast Multipole Method (FMM), and the
WellSeparated Pair Decomposition (WSPD)—reduce this running
time to O(|V | log |V |). Many spring-electric algorithms
employ these techniques to improve performance [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]–[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], so
improving these techniques’ speed can have a wide impact.
Reducing the amount of computation can reduce energy
consumption on battery powered devices, reduce interruptions to
analysts’ flow of thought and attention [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], and accelerate the
visual analytics sensemaking process.
      </p>
      <p>These approximation algorithms create tree-based data
structures from the vertex positions, and the algorithms then
use the trees to approximate repulsive forces. Because the
spring-electric algorithm iteratively updates vertex positions,
the approximation methods reconstruct the tree after each
iteration using the new vertex positions. Tree construction
runs in O(|V | log |V |) time, and therefore can be
computationally costly, but it is unknown whether it is necessary to
construct a new tree after every iteration. Many spring-electric
algorithm implementations include a “cooling” parameter that
reduces the change in vertex position over time, indicating
that calculating new trees provides diminishing improvements
to accuracy after each iteration of the algorithm.</p>
      <p>This paper presents an evaluation1 of three alternative
schedules for updating tree-based approximations less frequently:
1The materials to reproduce the analysis are available at https://osf.io/re7nx/
Logarithmic, uniform, and dynamic. The evaluation compares
these schedules to the standard schedule of reconstructing
the tree after every iteration. This paper shows that using a
logarithmic, uniform, or dynamic update schedule achieves
significantly faster performance compared to the standard
update schedule. In addition, the uniform schedule achieves the
same or better graph layout quality as the standard schedule.</p>
      <p>
        This paper makes the following contributions: (1) A new
dynamic algorithm for deciding when to reconstruct trees used
in tree-based approximations such as Barnes-Hut, the Fast
Multipole Method, or the Well-Separated Pair Decomposition;
(2) a new schedule for reconstructing trees at uniform
frequency; (3) a reformulation of the angular resolution (dev)
readability metric to make it yield a value in [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ]; and (4)
an evaluation of the logarithmic, uniform, and dynamic update
schedules compared to the standard update schedule showing
that the new uniform schedule outperforms the other methods.
      </p>
    </sec>
    <sec id="sec-2">
      <title>II. BACKGROUND</title>
      <p>Spring-electric algorithms belong to the family of
forcedirected graph layout algorithms. Spring-electric algorithms
cast the graph layout problem as an iterative physical
simulation, where the algorithm models the graph’s vertices similarly
to charged particles that repel each other, and it models the
graph’s edges similarly to springs that define an ideal distance
between vertices. This paper is concerned with improving the
runtime of the repulsive force calculation.</p>
      <p>
        The Barnes-Hut (BH) approximation builds a quadtree of
vertex positions, and then considers distant groups of vertices
as a single large vertex (see Barnes and Hut [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and Quigley
and Eades [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] for more details). This process of calculating
the quadtree runs in O(|V | log |V |) time and reduces the force
calculations to O(|V | log |V |).
      </p>
      <p>
        The Fast Multipole Method (FMM), like Barnes-Hut,
first builds a spatial tree based on the vertex positions in
O(|V | log |V |) time, but then it aggregates nodes in the tree in
order to calculate repulsive forces in O(|V |) time [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]–[
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
      </p>
      <p>
        Recently, Lipp et al [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] proposed using the
Well
      </p>
      <sec id="sec-2-1">
        <title>Separated Pair Decomposition [23] (WSPD)—another tree</title>
        <p>based approximation algorithm—to compute repulsive forces
for graph layout algorithms. Both tree construction and
repulsive force calculation run in O(|V | log |V |) time.</p>
        <p>
          For all three of the above tree-based approximation
methods, the graph layout algorithm must reconstruct the tree after
each iteration because the vertex positions have changed.
However, is it necessary to calculate a new tree after every
iteration? Lipp et al [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] experimented with updating the
WSPD whenever b5 log(i)c changes (where i is the current
iteration number), instead of after every iteration. They found
that this can decrease the number of edge crossings [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]
compared to the standard update schedule (i.e. reconstructing
the tree after every iteration), but they did not compare the
running time of the b5 log(i)c method to the standard method,
nor did they test other update schedules such as other multiples
of log(i) or a uniform update schedule. They also suggested
using a dynamic algorithm to determine when to update the
tree [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], but they did not define an algorithm to accomplish this
or evaluate this idea. Furthermore, they did not apply this to the
Barnes-Hut approximation or Fast Multipole Method, so it is
not clear if it will work with other tree-based approximations,
or whether their b5 log(i)c update criteria is optimal.
        </p>
        <p>III. SCHEDULES FOR UPDATING APPROXIMATIONS
There are many different methods to determine when to
update trees used in tree-based approximation methods such
as the Barnes-Hut (BH) approximation, the Fast Multipole
Method (FMM), or the Well-Separated Pair Decomposition
(WSPD). The standard versions of these algorithms construct
a new tree after every iteration, but the tree could be
reconstructed less often. This could be determined by an algorithm
that defines some sort of schedule of when to update the
approximation by reconstructing the tree. In this paper, a
schedule is a function that returns a boolean value indicating
whether or not the tree should be reconstructed. This paper
explores three alternative schedules to the standard schedule:
logarithmic, uniform, and dynamic.</p>
      </sec>
      <sec id="sec-2-2">
        <title>A. Logarithmic Schedule</title>
        <p>
          Many spring-electric algorithm implementations include a
“cooling” parameter that reduces the change in vertex position
over time, indicating that constructing new trees may provide
diminishing improvements to accuracy after each iteration of
the algorithm. In addition, most vertices tend to converge to a
final position. This motivates a schedule that constructs a new
tree with decreasing frequency at later iterations of the
forcedirected layout. Lipp et al. [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] proposed a logarithmic
schedule where a new tree is constructed if b5 log(i)c changes,
where i is the current iteration number. However, they did not
experiment with using scalars other than 5, and they did not
specify the logarithmic base. Note that any two logarithmic
functions with different bases differ by only a constant (i.e.
logb(x) = loga(x)/ loga(b)), so it suffices to use a base 10
logarithm and vary the scalar multiple. For this reason, this
paper explores the family of schedules defined by bk log(i)c
where k is an integer in [
          <xref ref-type="bibr" rid="ref1 ref10">1, 10</xref>
          ]. For 300 iterations of a graph
layout algorithm, this corresponds to constructing a new tree
7, 13, 18, 22, 26, 31, 34, 38, 42, or 45 times for k ranging
from 1 to 10.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>B. Uniform Schedule</title>
        <p>Even though vertex velocity tends to decrease over time,
velocity does change at every iteration of a force-directed
layout algorithm, and the exact amount of change can be
difficult to predict. For this reason, it may be desirable to
construct a new tree at uniform intervals. This paper proposes
the following uniform update schedule: let uk be the number
of trees constructed using the logarithmic schedule for integer
k. Then, for a layout that has n iterations, construct a new
tree every n/uk iterations. For a given value of k, this results
in the same number of updates for both the logarithmic
and the uniform schedules, and supports direct comparisons
between them. The difference between the schedules is that,
for a fixed value of k, the uniform schedule has the same
number of iterations between each tree construction, whereas
the logarithmic schedule constructs more trees at the beginning
of the layout and fewer at the end.</p>
      </sec>
      <sec id="sec-2-4">
        <title>C. Dynamic Schedule</title>
        <p>During a force-directed layout, vertex velocity may
temporarily decrease as the layout enters a local minimum before
increasing as the layout escapes the minimum. This, combined
with the “cooling” parameter described above, motivates a
dynamic approach to deciding when to construct a new tree:
if vertex positions are changing rapidly, then a new tree can
improve accuracy, but if vertex positions are changing slowly,
then constructing a new tree may be computationally costly
with little improvement in accuracy. Therefore we would like
to construct a new tree only if the old tree is out of date.</p>
        <p>Algorithm 1 shows a dynamic algorithm that performs a
check to decide whether to construct a new tree or use the old
tree to calculate repulsive forces. This check keeps a running
sum of the velocities (displacement) of all vertices since the
last time a tree was constructed. If this running sum exceeds
the previous sum, the new sum is assigned to the previous sum,
the running sum is reset to 0, and a new tree is calculated
before computing repulsive forces; otherwise, the algorithm
decides the old tree is accurate enough and uses it to compute
forces on the vertices. In practice, this algorithm constructs
new a tree about 10–15 times out of 300 iterations.
Algorithm 1 Dynamic schedule. Initially, currSum
prevSum = 0. uvx and uvy are u’s x, y velocities
=
for each vertex u do</p>
        <p>currSum ← currSum + |uvx | + |uvy |
if tree is null or currSum ≥ prevSum then
prevSum ← currSum
currSum ← 0
tree ← newTree()
computeForces()</p>
        <p>This dynamic algorithm has the benefit of generalizing to
any approximation method or type of tree used. For
example, an alternative dynamic algorithm might operate on the
quadtrees in the Barnes-Hut approximation and check the
number of vertices that are no longer in their original quadtree
cells. However, such a dynamic algorithm would be restricted
to approximation methods that depend on quadtrees, such as
the Barnes-Hut approximation, and it would not generalize to
other tree-based approximation methods. Another downside to
this alternative approach is that if only a few vertices moved
out of their cells, but they moved a large distance, this may
not exceed the threshold to construct a new quadtree. On the
other hand, the dynamic method in Algorithm 1 can determine
that a new tree should be constructed in this case where only
a few vertices have moved but they moved a large distance.</p>
        <p>Early experiments with this algorithm tested small
coefficients for updating currSum such as</p>
        <p>currSum ← c ∗ currSum + |uvx | + |uvy |
for c = 1.01 or c = 0.99. However, even such small
coefficients resulted in constructing a new tree way more often
than necessary (as in 1.01) or not enough to be useful (as in
0.99). Therefore the algorithm uses a coefficient of 1, which
seems to yield good results.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>IV. EXPLORATORY ANALYSIS</title>
      <p>In order to develop hypotheses to test, this section presents
an exploratory analysis of the update schedules. All data
collection and analysis was conducted in NodeJS version 9.4.0
on a 2015-model MacBook Pro with a 3.1 GHz Intel Core i7
processor and 16 GB of RAM.</p>
      <p>
        This exploratory analysis uses 50 graphs with 1000 vertices
or fewer randomly selected from the KONECT [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] and
SuiteSparse [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] graph collections.
      </p>
      <p>
        This evaluation uses the D3.js framework [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] to compare
the four update schedules (logarithmic, uniform, dynamic, and
standard). The evaluation uses D3.js’s default settings, and
adds a central gravitational force with a strength of 0.001.
The experiment uses D3.js’s default stopping criteria, which
is when the “cooling” parameter becomes sufficiently small;
by default, this occurs after 300 iterations.
      </p>
      <p>D3’s default force-directed algorithm uses the Barnes-Hut
(BH) approximation, which has been modified for this
evaluation to support the new update schedules. This evaluation
also uses a second algorithm, which is a modified version
of D3’s force-directed algorithm but uses a publicly available
implementation of the Fast Multiple Method2 (FMM). This
second force-directed algorithm also supports all four update
schedules. Although other tree-based approximation methods
are available, they are implemented in other programming
languages, and therefore cannot be directly compared to the
JavaScript implementations. For this reason, this analysis only
uses the aforementioned JavaScript versions of the BH and
FMM approximations in order to minimize threats to validity.</p>
      <p>This evaluation uses 10 versions each of the logarithmic and
uniform update schedules parameterized with k from 1 to 10
as described in Section III-A and Section III-B.</p>
      <p>D3.js initializes vertices in a disc-like phyllotaxis
arrangement, where vertices at the beginning of the vertex array are
at the center and vertices at the end of the vertex array are at
the periphery. To minimize any possible effects of the initial
positions on the experiment results, this experiment randomly
shuffles the vertex array before calculating initial positions and
running the spring-electric layout algorithm. This is done 20
times for each graph for each pair of update schedule and
approximation method (4 × 2 = 8 schedule-approximation
pairs). The experiment then records the median runtime and
median readability metrics for each graph and algorithm
combination (this experiment uses the median instead of the
arithmetic mean to avoid the results being skewed by outliers).</p>
      <p>
        This evaluation uses the edge crossing, edge crossing angle,
angular resolution (min), and angular resolution (dev) graph
layout readability metrics implemented in greadability.js3,
which are defined below. Other readability metrics exist,
such as stress or standard deviation of edge length, but this
evaluation avoids these readability metrics because they have
known issues [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. Namely, non-uniform edge
lengths are often necessary to achieve good layouts for
realworld graphs [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]; preserving shortest-path distances,
as measured by stress, may not be ideal for producing good
layouts [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]; stress is not defined on graphs with more than
one component, which often occur in real-world data; and
two layouts that convey a graph’s structure equally can have
different stress values [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. In addition, stress and standard
deviation of edge length do not have normalized versions that
support accurate comparisons between different graphs.
      </p>
      <p>
        Edge crossings, denoted ℵc, measures the number of edges
that cross, or intersect, in the layout. The metric scales the
number of edge crossings, c, by an approximate upper bound
so that ℵc ∈ [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ].
ℵc = 1 − c
. |E|(|E| − 1)
2
− 12 X deg(u)(deg(u) − 1)
u∈V
If the denominator is 0, then ℵc = 1.
      </p>
      <p>Edge crossing angle, denoted ℵca, measures the average
deviation of each edge’s crossing angle from the ideal angle
ϑ of 70 degrees.</p>
      <p>ℵca = 1 −</p>
      <p>P
e∈E</p>
      <p>Pe0∈c(e) |ϑ − θe,e0 |
cϑ
where c(e) is the set of edges that intersect e, and θe,e0 is
the acute angle of the two intersecting edges. If cϑ = 0, then
ℵc = 1.</p>
      <p>Angular resolution (min) is the average deviation of incident
edge angles from the ideal minimum angle for each vertex u.
ℵrm = 1 −
1
|V | u∈V</p>
      <p>X |ϑu − θumin |
ϑu
Here, ϑu = 360/d(u), the degrees between each incident edge
if the angles were uniform, and θumin is the smallest measured
angle between edges incident on u.</p>
      <p>
        Angular resolution (dev) is the average deviation of angles
between incident edges on each vertex u. This paper presents
a new formulation of the angular resolution (dev) metric
described by Dunne et al [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. Dunne et al’s metric can
      </p>
    </sec>
    <sec id="sec-4">
      <title>2https://github.com/davidson16807/fast-multipole-method</title>
    </sec>
    <sec id="sec-5">
      <title>3https://github.com/rpgove/greadability</title>
      <p>
        produce negative numbers, but the version presented here
produces a value in [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ].
ℵrd = 1 −
1
      </p>
      <p>X
|V | u∈V, d(u)&gt;1</p>
      <p>
        1
2d(u) − 2
dX(u) |ϑu − θi,(i+1)|
i
ϑu
Here, θi,(i+1) is the acute angle between adjacent edges i and
i + 1 that are incident on vertex u, modulo d(u), the degree
of u. To see that ℵrd ∈ [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ], consider that the maximum
deviation on a vertex u will occur when θi,(i+1) ≈ 0 for
all incident edges except one where θi,(i+1) ≈ 360. For the
central vertex in a star graph with |V | vertices, the sum of the
deviations of its incident edges would be
dX(u) |ϑu − θi,(i+1)| = dX(u) |360/d(u) − θi,(i+1)|
i
ϑu
i
360/d(u)
i
Since θi,(i+1) ≈ 0 for all but one pair of incident edges, we
then have
dX(u) |360/d(u) − θi,(i+1)| ≈ (d(u) − 1) + |360/d(u) − 360|
360/d(u) 360/d(u)
= (d(u) − 1) + (d(u) − 1)
= 2d(u) − 2
This is the upper bound for the deviation of a vertex u, so
we must divide the deviation of each vertex by this quantity.
In contrast, the smallest value would occur in a graph where
every pair of incident edges had the ideal angle, which would
make the deviation 0. Therefore, ℵrd is in the range [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ].
      </p>
      <p>
        See Dunne et al [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] for a more detailed discussion of these
and other readability metrics.
      </p>
      <sec id="sec-5-1">
        <title>A. Hypothesis Generation</title>
        <p>Figure 1 shows the median runtime and readability metrics
across all 50 graphs in the exploratory dataset. The runtime and
readability metrics were calculated for the Barnes-Hut (BH)
and Fast Multipole Method (FMM) approximation algorithms
using each update schedule (standard, dynamic, logarithmic
for k from 1 to 10, and uniform for k from 1 to 10). This
gives us some insight into how each approximation algorithm
performs for the different update schedules, allowing us to
develop hypotheses to formally test.</p>
        <p>In the exploratory data, the standard BH and FMM methods
are slower than all of the dynamic, log, and uniform update
schedules. The dynamic algorithm had about the same number
of updates as k = 2 (median is 11 and 14 for BH and FMM
respectively), and they also have about the same runtime. This
leads to Hypothesis 1: Using a dynamic or fixed update
schedule (e.g. logarithmic or uniform) is faster than the standard
update schedule for both the BH and FMM algorithms.</p>
        <p>In order to test Hypothesis 1 experimentally, we must
choose a value of k to use for the logarithmic and uniform
update schedules. Ideally, k will be small in order to minimize
the runtime, but k should also be large enough to produce
good quality layouts. For these reasons, let us choose k = 4
(i.e. constructing a new tree 22 times out of 300 iterations).
Although the runtime is not as short as k = 1, the layout
quality appears substantially better for the majority of update
schedules and approximation algorithms. Higher values of k
do not appear to provide much improvement in layout quality,
and in fact large values of k sometimes produce lower quality
layouts (e.g. for number of crossings when k = 9 or 10).</p>
        <p>For both the BH and FMM algorithms, the dynamic
schedule appears to have faster runtime than the logarithmic and
uniform schedules for k &gt; 2. Therefore, Hypothesis 2 is that
the dynamic schedule will decrease the BH and FMM runtime
more than the logarithmic or uniform schedules if k = 4.</p>
        <p>For BH, the dynamic schedule appears to generally have
worse readability metric performance than the standard
schedule. Hypothesis 3 is that the dynamic schedule will perform
worse on all readability metrics than the standard schedule,
except for edge crossings where the dynamic schedule will
perform about the same.</p>
        <p>On the other hand, for BH with the logarithmic and uniform
schedules where k = 4, these schedules tend to have better
readability metrics. Hypothesis 4 is that, for BH, the
logarithmic and uniform schedules will have better readability metrics
compared to the standard schedule, except for crossing angle
where logarithmic and uniform will perform worse.</p>
        <p>For FMM, we see similar, but somewhat different,
relationships in the readability metrics. By looking at the data, we
believe that all other schedules perform better than the standard
schedule on the edge crossings and angular resolution (min)
metrics (Hypothesis 5), all schedules perform worse than the
standard schedule on the crossing angle metric (Hypothesis
6), and that the dynamic schedule will perform worse and the
logarithmic and uniform schedules will perform better than
the standard schedule on the angular resolution (dev) metric
(Hypothesis 7).</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>V. EXPERIMENTAL COMPARISON</title>
      <p>This analysis tests the hypotheses developed in the
exploratory analysis (Section IV) on a new set of 50 graphs.
These graphs are different from the graphs used in Section IV,
but they were collected using the same process.</p>
      <p>
        Following existing best practices [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], this evaluation’s
experimental design is as follows. It uses a within-subjects
design on the three schedules (dynamic, logarithmic with
k = 4, and uniform with k = 4), two approximation
algorithms (BH and FMM), and four layout readability metrics
discussed in Section IV. The first quartile, median, and third
quartile for the dynamic schedule’s number of updates on the
Barnes-Hut algorithm was 11, 12, and 13, and for the Fast
Multipole Method algorithm it was 12, 14, and 15. Because
this is comparing three alternative schedules to the standard
schedule across vfie response variables (runtime and the four
readability metrics), the evaluation uses a Bonferroni corrected
significance level α = 0.05/15 = 0.003. The corresponding
confidence interval is [0.0016, 0.9983].
      </p>
      <p>
        Because the readability metrics are bounded in [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ], and
many are not normally distributed, this evaluation uses
bootstrapped confidence intervals with 10,000 samples. Effect sizes
Barnes-Hut
0.5
0.955 0.960
Edge crossings
are sample mean difference (salt − sstandard where salt is
the value for one of the alternate schedules, i.e. logarithmic,
uniform, or dynamic). Therefore negative effects indicate the
standard schedule has a higher value, whereas positive effects
indicate the alternate schedule under test has a higher value.
Figure 2 shows the estimation plots for the runtime and
readability metrics for the two approximation algorithms.
      </p>
      <p>None of the confidence intervals in the runtime plots cross
0. This indicates that all of the tested update schedules perform
faster than the standard update schedule for both the
BarnesHut (BH) and Fast Multipole Method (FMM) approximation
algorithms, which supports Hypothesis 1.</p>
      <p>Although this experiment does not explicitly test
Hypothesis 2 using a null hypothesis significance test, the dynamic
schedule has a much larger effect size on runtime than the
logarithmic or uniform schedules for BH. The raw effect size
is -0.101 seconds, compared to -0.065 seconds for uniform,
and -0.049 seconds for logarithmic. This supports, but does
not prove, Hypothesis 2.</p>
      <p>We have good evidence to support parts of Hypothesis
3. Compared to the standard schedule on BH, the dynamic
schedule is better on edge crossings than the standard schedule
(the effect is positive and the confidence interval does not cross
0), but the dynamic schedule is worse on crossing angle. For
both angular resolution metrics the confidence interval crosses
zero, and therefore there is no evidence to say that the dynamic
schedule performs better or worse than the standard schedule.</p>
      <p>Similarly, we have good evidence to support parts of
Hypothesis 4. For BH, both the logarithmic and uniform
schedules perform better than the standard schedule on edge
crossings and the angular resolution metrics. On the crossing
angle metric, the logarithmic schedule performs worse than
the standard schedule, but the confidence interval for the
uniform schedule crosses 0, so we are unable to say whether
its performance is better or worse than the standard schedule.</p>
      <p>We partly accept Hypothesis 6. Although none of the FMM
confidence intervals for edge crossings cross 0, they all cross 0
for the angular resolution (min) metric. Therefore we conclude
that all of the schedules perform better on edge crossings
than the standard schedule, but we cannot say whether there</p>
      <sec id="sec-6-1">
        <title>Median runtime on each graph (FMM)</title>
      </sec>
      <sec id="sec-6-2">
        <title>Standard Logarithmic Uniform Dynamic</title>
        <p>is any difference from the standard schedule for the angular
resolution (min) metric.</p>
        <p>Although Hypothesis 6 is that all of the schedules perform
worse than the standard schedule on crossing angle, the
evidence only shows that the dynamic schedule performs worse.
We do not have enough evidence to say that the logarithmic
or uniform schedules perform worse.</p>
        <p>Finally, we do not find evidence to support Hypothesis 7;
all of the confidence intervals for the angular resolution (dev)
cross 0, so the logarithmic, uniform, and dynamic schedules
do not appear to have significantly different performance from
the standard schedule.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>VI. EFFECT OF GRAPH SIZE ON RUNTIME The analysis in Section V showed that the logarithmic, uniform, and dynamic schedules have a decrease in runtime over the standard schedule. This section explores this further</title>
      <p>Median runtime on each graph (BH)
90% Barnes-Hut
to better understand the runtime decrease seen in practice and
to better understand the influence of graph size.</p>
      <p>Figure 3 shows the runtime of each schedule with each
approximation algorithm on each of the 50 graphs used in
the experimental analysis in Section V.</p>
      <p>For Barnes-Hut (BH), the dynamic algorithm has the largest
decrease in runtime compared to the standard schedule (the
smallest percent decrease is 10%, the largest is 52%, and the
median is 18%). (Percent decrease is the difference between
the schedule’s runtime and the standard schedule’s runtime,
divided by the standard schedule’s runtime.) The uniform
schedule did better than the logarithmic schedule in the worst
and typical cases (the smallest and median percent decrease
was 8% and 14% for the uniform schedule and 5% and 9% for
the logarithmic schedule), but in the best case the logarithmic
schedule slightly outperformed the uniform schedule (29%
compared to 27%).</p>
      <p>For the Fast Multipole Method (FMM), the percent decrease
in runtime is substantially larger, but very similar for each
update schedule (bottom of Figure 3). The logarithmic schedule
ranged from 88% to 90% (median 89%), the uniform schedule
ranged from 87% to 90% (median 89%), and the dynamic
schedule ranged from 89% to 94% (median 92%).</p>
      <p>In order to examine the performance of each schedule
as |V | increases, Figure 4 shows the percent decrease of
each schedule compared to the standard schedule on vfie
sparse graphs of varying size. The vfie sparse graphs have
10, 100, 1,000, 10,000, and 100,000 vertices, and the graphs
were generated with |E| = 2|V | random edges (without
replacement). Keeping the proportion of edges fixed allows us
to more easily understand the change in runtime performance
for repulsive force calculation as graphs get larger.</p>
      <p>For BH, the uniform and dynamic schedules have the largest
percent decrease for small graphs, but the overall runtime is
small so this translates into a savings of about 26 and 37
milliseconds for graphs with 10 and 100 vertices respectively
when using the uniform update schedule. For larger graphs, the
uniform schedule appears to offer the largest percent decrease;
for the largest graph, the percent decrease is about 18%, which
saves about 86 seconds (reduced from about 490 seconds to
8k
7k
6k
s
s
e
trS5k
4k
jazz</p>
      <p>dwg961b
about 404 seconds). For comparison, on the largest graph the
dynamic schedule had a percent decrease of about 16%, or
about 79 seconds.</p>
      <p>For FMM, the percent decrease is large and consistent
regardless of graph size and update schedule, ranging from
about 88% to about 93%. In contrast to BH, the dynamic
schedule has a larger percent decrease, whereas the uniform
and logarithmic schedules are about the same.</p>
      <p>For BH, the dynamic schedule updated 11 times on the
smallest graph and either 8 or 9 times on all other graphs,
while for FMM the dynamic schedule updated 18 times on the
smallest graph and 12 times on all other graphs. This indicates
that the size of the graph does not seem to affect the number
of updates.</p>
    </sec>
    <sec id="sec-8">
      <title>VII. CONVERGENCE</title>
      <p>Although using stress as a graph layout quality metric can
have problems (see the discussion in Section IV), it is widely
used and regarded as an important metric. We are also
interested in understanding whether the logarithmic, uniform, and
dynamic schedules affect the convergence rate of the layout
algorithm. Therefore, this section presents an analysis of stress
for each update schedule over 300 iterations on three graphs.
These graphs were chosen from the 50 experimental graphs.
The stress and layout time are averaged after each iteration
across 10 runs of each update schedule. The results are shown
in Figure 5. (Due to space constraints, only the Barnes-Hut
convergence rates are shown.) Sometimes all of the schedules
converge to similar values (the jazz graph), sometimes the
alternative schedules converge faster and to lower values than
the standard schedule (the dwg961b graph), and sometimes the
standard schedule converges to lower values (the robot graph).
In most cases, the alternative schedules converge less smoothly
than the standard schedule, which is probably because the tree
oscillates between being up to date and out of date. However,
the logarithmic and uniform schedules have converged by the
time the standard schedule has.</p>
      <p>The bottom of Figure 5 shows the average number of
updates of the dynamic schedule at each iteration. We see that
most updates occur during the early iterations. This appears
to mirror the convergence charts, and this indicates that the
dynamic schedule constructs new trees less often as the layout
converges. By the time the layout has converged, the dynamic
algorithm typically has stopped constructing new trees.</p>
    </sec>
    <sec id="sec-9">
      <title>VIII. GRAPH LAYOUT EXAMPLES</title>
      <p>Figure 6 shows the layouts for three graphs generated by
the Barnes-Hut (BH) and Fast Multipole Method (FMM)
algorithms using the standard, dynamic, logarithmic, and uniform
update schedules. These are the same graphs used to test
convergence in Section VII. For the most part, the layouts
produced by the standard schedule are extremely similar to the
layouts produced by the other schedules. Notably, the dynamic
FMM layout for the jazz and robot graphs appears to put some
vertices too close together while putting other vertices too far
apart. The layouts for dwg961b all appear very similar and
seem to show the same structure and shape. The dynamic BH
and some of the FMM layouts also appear to hide the curvature
of the robot layout (due to the central gravitational force in
the layout algorithm). These results corroborate the findings in
Section V that the logarithmic and uniform schedules produce
layouts with similar quality as the standard schedule. It also
indicates that the final stress values shown in Figure 5 may
not indicate worse layout quality.</p>
    </sec>
    <sec id="sec-10">
      <title>IX. DISCUSSION</title>
      <p>The analysis in this paper shows that the time required to
calculate new trees is a nontrivial part of the overall runtime
of spring-electric algorithms that use the Barnes-Hut (BH)
approximation and the Fast Multipole Method (FMM). By
reducing the number of times the algorithm computes a new
tree, we can reduce the time required to compute layouts.
Note that these experiments report the reduction in the total
running time of graph layout algorithms rather than only the
reduction in repulsive force calculation running time. The
graph layout algorithms also include calculations for spring
forces and a central gravitational force, so the reduction in
repulsive (electric) force calculation running time is likely
much larger than the results reported here.</p>
      <p>Overall, the dynamic schedule appears to be the fastest,
although in some cases the runtime improvement may not be
much more than the logarithmic and uniform schedules. The
dynamic schedule’s improvement in runtime appears to come
at the cost of lower quality graph layouts. The runtime of the
logarithmic and uniform schedules appear similar, although
perhaps uniform is slightly faster. Furthermore, the uniform
schedule does not appear to have the diminished graph layout
quality that we sometimes see in the logarithmic schedule,
and in many cases it performs better on readability metrics
than the standard schedule. Therefore, practitioners and system
implementers would be best choosing either the uniform
schedule with k = 4 (i.e. construct a new tree approximately
once every 13 or 14 iterations) or the dynamic schedule,
depending on their preference for trading off speed and quality.
These schedules provide modest runtime improvements for
BH, but quite substantial runtime improvements for FMM.
H
B
d
r
a
d
n
a
t
S
H
B
c
i
m
h
itr
a
g
o
L
H
B
m
r
o
if
n
U
H
B
c
i
m
a
n
y
D
M
M
F
d
r
a
d
n
a
t
S
M
M
F
c
i
m
h
itr
a
g
o
L
M
M
F
m
r
o
if
n
U
M
M
F
c
i
m
a
n
y
D</p>
      <p>
        The fact that the uniform schedule is less precise than
the standard schedule but produces better quality layouts
seems counter intuitive. However, this is consistent with the
preliminary results presented by Lipp et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>The reason why the logarithmic, uniform, and dynamic
schedules improve the FMM runtime so much is likely because
building the tree for the FMM is O(|V | log |V |), but computing
forces is only O(|V |). Therefore, constructing a new tree is
the largest computational cost, and reducing the number of
trees constructed has a major impact on the runtime.</p>
      <p>It is not clear why the FMM implementation used in this
evaluation is so much slower than the BH implementation.
The implementations were created by different people, so it
is likely that the performance difference is due to differing
levels of effort to optimize the implementations. Nonetheless,
we still get a clear idea of how much runtime can be reduced
by using the alternative update schedules.</p>
      <p>It is worth noting that the observed layout quality effect
sizes in the experimental analysis may be considered small
in practice. For example, an effect size of -0.011 on crossing
angle corresponds to a difference of 0.77 degrees in mean
deviation from the ideal crossing angle. And an effect size of
0.004 on edge crossings means that if a graph has 1000 edges
that can cross, then there will be 4 fewer edge crossings. It
is unclear if humans would notice such small differences in
practice, or if such small differences would have a detectable
effect on speed or errors in analysis tasks.</p>
    </sec>
    <sec id="sec-11">
      <title>X. CONCLUSION</title>
      <p>This paper presented two new update schedules (uniform
and dynamic) for determining when to construct a new tree in
tree-based approximation algorithms such as Barnes-Hut, the
Fast Multipole Method, or the Well-Separated Pair
Decomposition. The evaluations show that constructing a new tree at a
uniform frequency of once every 13–14 iterations achieves
significantly faster performance compared to the standard update
schedule. In addition, the uniform schedule achieves better
edge crossing and angular resolution graph readability metrics,
and it does not appear to come at the cost of a degradation
in edge crossing angle that occurs with the dynamic and
logarithmic update schedules. The uniform update schedule
also appears to improve the angular resolution metrics for the
Barnes-Hut approximation, but not with the Fast Multipole
Method. These new update schedules are simple modifications
to the existing approximation algorithms, and therefore they
present an easy but effective way to improve the runtime.</p>
      <p>
        Because spring-electric algorithms have many uses, such
as in multi-level graph layout algorithms [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and flow
diagrams [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], the logarithmic, uniform, and dynamic schedules
can be used to improve runtime in many applications. This
includes domains such as n-body simulations or the t-SNE
algorithm [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ]. Future work should evaluate these other uses.
      </p>
    </sec>
    <sec id="sec-12">
      <title>ACKNOWLEDGEMENT Thanks to Nathan Danneman, Ben Gelman, Jessica Moore, Tony Wong, and the anonymous reviewers for providing helpful feedback on this work.</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Arleo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Didimo</surname>
          </string-name>
          , G. Liotta, and
          <string-name>
            <given-names>F.</given-names>
            <surname>Montecchiani</surname>
          </string-name>
          , “
          <article-title>A Million Edge Drawing for a Fistful of Dollars</article-title>
          ,” in
          <source>International Symposium on Graph Drawing and Network Visualization</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>44</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T. M.</given-names>
            <surname>Fruchterman</surname>
          </string-name>
          and
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Reingold</surname>
          </string-name>
          , “
          <article-title>Graph drawing by forcedirected placement,”</article-title>
          <source>Software: Practice and Experience</source>
          , vol.
          <volume>21</volume>
          , no.
          <issue>11</issue>
          , pp.
          <fpage>1129</fpage>
          -
          <lpage>1164</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Kobourov</surname>
          </string-name>
          , “
          <string-name>
            <surname>Force-Directed Drawing</surname>
            <given-names>Algorithms</given-names>
          </string-name>
          ,” in
          <source>Handbook of Graph Drawing and Visualization</source>
          , 1st ed., R. Tamassia, Ed. Boca Raton: Chapman and Hall/CRC,
          <year>2016</year>
          , ch. 12, pp.
          <fpage>383</fpage>
          -
          <lpage>408</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Lipp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Wolff</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Zink</surname>
          </string-name>
          , “
          <article-title>Faster force-directed graph drawing with the well-separated pair decomposition</article-title>
          ,” in
          <source>International Symposium on Graph Drawing and Network Visualization</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>52</fpage>
          -
          <lpage>59</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5] -, “
          <article-title>Faster Force-Directed Graph Drawing with the Well-Separated Pair Decomposition,” Algorithms</article-title>
          , vol.
          <volume>9</volume>
          , no.
          <issue>3</issue>
          , p.
          <fpage>53</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bastian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Heymann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Jacomy</surname>
          </string-name>
          , “
          <article-title>Gephi: An Open Source Software for Exploring and Manipulating Networks</article-title>
          ,” in
          <source>International AAAI Conference on Weblogs and Social Media</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>361</fpage>
          -
          <lpage>362</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>N. G.</given-names>
            <surname>Belmonte</surname>
          </string-name>
          , “
          <article-title>JavaScript InfoVis Toolkit</article-title>
          .” [Online]. Available: http://philogb.github.io/jit/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bostock</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Heer</surname>
          </string-name>
          , “
          <article-title>Protovis: A graphical toolkit for visualization</article-title>
          ,
          <source>” IEEE Transactions on Visualization and Computer Graphics</source>
          , vol.
          <volume>15</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>1121</fpage>
          -
          <lpage>1128</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bostock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ogievetsky</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Heer</surname>
          </string-name>
          , “
          <string-name>
            <surname>Data-Driven</surname>
            <given-names>Documents</given-names>
          </string-name>
          ,
          <source>” IEEE Transactions on Visualization and Computer Graphics</source>
          , vol.
          <volume>17</volume>
          , no.
          <issue>12</issue>
          , pp.
          <fpage>2301</fpage>
          -
          <lpage>2309</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>E. R.</given-names>
            <surname>Gansner</surname>
          </string-name>
          and S. C. North, “
          <article-title>An open graph visualization system and its applications to software engineering</article-title>
          ,
          <source>” Software Practice and Experience</source>
          , vol.
          <volume>30</volume>
          , no.
          <issue>11</issue>
          , pp.
          <fpage>1203</fpage>
          -
          <lpage>1233</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hachul</surname>
          </string-name>
          and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Ju¨nger, “Large-Graph Layout Algorithms at Work: An Experimental Study</article-title>
          ,
          <source>” Journal of Graph Algorithms and Applications JGAA</source>
          , vol.
          <volume>11</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>345</fpage>
          -
          <lpage>369</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Heer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Card</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Landay</surname>
          </string-name>
          , “
          <article-title>Prefuse: a toolkit for interactive information visualization</article-title>
          ,”
          <source>in Proceedings of the SIGCHI Conference on Human Factors in Computing Systems</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>421</fpage>
          -
          <lpage>430</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Heer</surname>
          </string-name>
          , “
          <article-title>Flare: Data Visualization for the Web</article-title>
          ,”
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hu</surname>
          </string-name>
          , “Efficient,
          <string-name>
            <surname>High-Quality Force-Directed Graph</surname>
            <given-names>Drawing</given-names>
          </string-name>
          ,”
          <source>Mathematica Journal</source>
          , vol.
          <volume>10</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>37</fpage>
          -
          <lpage>71</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jacomy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Venturini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Heymann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Bastian</surname>
          </string-name>
          , “
          <article-title>ForceAtlas2, a continuous graph layout algorithm for handy network visualization designed for the Gephi software,” PloS one</article-title>
          , vol.
          <volume>9</volume>
          , no.
          <issue>6</issue>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Khoury</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Krishnan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Scheidegger</surname>
          </string-name>
          , “
          <article-title>Drawing Large Graphs by Low-Rank Stress Majorization,” Computer Graphics Forum</article-title>
          , vol.
          <volume>31</volume>
          , no.
          <issue>3pt1</issue>
          , pp.
          <fpage>975</fpage>
          -
          <lpage>984</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J.</given-names>
            <surname>Nielsen</surname>
          </string-name>
          , Usability Engineering, 1st ed. Academic Press,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>J.</given-names>
            <surname>Barnes</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Hut</surname>
          </string-name>
          , “
          <article-title>A hierarchical O(N logN) force calculation algorithm</article-title>
          ,
          <source>” Nature</source>
          , vol.
          <volume>324</volume>
          , pp.
          <fpage>446</fpage>
          -
          <lpage>449</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Quigley</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Eades</surname>
          </string-name>
          , “FADE:
          <article-title>Graph drawing, clustering</article-title>
          , and visual abstraction,” in
          <source>International Symposium on Graph Drawing</source>
          ,
          <year>2000</year>
          , pp.
          <fpage>197</fpage>
          -
          <lpage>210</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>S.</given-names>
            <surname>Aluru</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gustafson</surname>
          </string-name>
          , G. Prabhu, and
          <string-name>
            <given-names>F. E.</given-names>
            <surname>Sevilgen</surname>
          </string-name>
          , “
          <article-title>Distributionindependent hierarchical algorithms for the n-body problem,”</article-title>
          <source>The Journal of Supercomuting</source>
          , vol.
          <volume>12</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>303</fpage>
          -
          <lpage>323</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>L. F.</given-names>
            <surname>Greengard</surname>
          </string-name>
          , “
          <article-title>The rapid evaluation of potential fields in particle systems</article-title>
          ,
          <source>” Ph.D. dissertation</source>
          , Yale University, New Haven, CT, USA,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hachul</surname>
          </string-name>
          and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Ju¨nger, “Drawing large graphs with a potentialfield-based multilevel algorithm</article-title>
          ,” in
          <source>International Symposium on Graph Drawing</source>
          ,
          <year>2004</year>
          , pp.
          <fpage>285</fpage>
          -
          <lpage>295</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>P. B.</given-names>
            <surname>Callahan</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Kosaraju</surname>
          </string-name>
          , “
          <article-title>A decomposition of multidimensional point sets with applications to k-nearest-neighbors and n-body potential fields</article-title>
          ,
          <source>” Journal of the ACM</source>
          , vol.
          <volume>42</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>67</fpage>
          -
          <lpage>90</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kunegis</surname>
          </string-name>
          , “KONECT - The Koblenz Network Collection,” in Web Observatory Workshop,
          <year>2013</year>
          , pp.
          <fpage>1343</fpage>
          -
          <lpage>1350</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>T.</given-names>
            <surname>Davis</surname>
          </string-name>
          and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hu</surname>
          </string-name>
          , “The University of Florida Sparse Matrix Collection,
          <source>” ACM Transactions on Mathematical Software</source>
          , vol.
          <volume>38</volume>
          , no.
          <issue>1</issue>
          , pp.
          <volume>1</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>1</lpage>
          :
          <fpage>25</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>P.</given-names>
            <surname>Eades</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.-H.</given-names>
            <surname>Hong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Klein</surname>
          </string-name>
          , “
          <article-title>Shape-Based Quality Metrics for Large Graph Visualization</article-title>
          ,
          <source>” Journal of Graph Algorithms and Applications</source>
          , vol.
          <volume>21</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>29</fpage>
          -
          <lpage>53</lpage>
          ,
          <year>2017</year>
          . [Online]. Available: http://jgaa.info/getPaper?id=
          <fpage>405</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Kruiger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. E.</given-names>
            <surname>Rauber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Martins</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kerren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kobourov</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Telea</surname>
          </string-name>
          , “
          <article-title>Graph Layouts by t-SNE,” Computer Graphics Forum</article-title>
          , vol.
          <volume>36</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>283</fpage>
          -
          <lpage>294</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>E. R.</given-names>
            <surname>Gansner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Koren</surname>
          </string-name>
          , and S. C. North, “
          <article-title>Graph drawing by stress majorization</article-title>
          ,” in
          <source>International Symposium on Graph Drawing</source>
          ,
          <year>2004</year>
          , pp.
          <fpage>239</fpage>
          -
          <lpage>250</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dunne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. I.</given-names>
            <surname>Ross</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Shneiderman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Martino</surname>
          </string-name>
          , “
          <article-title>Readability metric feedback for aiding node-link visualization designers,”</article-title>
          <source>IBM Journal of Research and Development</source>
          , vol.
          <volume>59</volume>
          , no.
          <issue>2</issue>
          /3, pp.
          <volume>14</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
          :
          <fpage>16</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>P.</given-names>
            <surname>Dragicevic</surname>
          </string-name>
          , “
          <article-title>Fair statistical communication in hci,” in Modern Statistical Methods for HCI, J</article-title>
          . Robertson and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kaptein</surname>
          </string-name>
          , Eds. Springer,
          <year>2016</year>
          , ch. 13, pp.
          <fpage>291</fpage>
          -
          <lpage>330</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>C.</given-names>
            <surname>Rainey</surname>
          </string-name>
          , “
          <article-title>Faster Force-Directed Graph Drawing with the WellSeparated Pair Decomposition</article-title>
          ,
          <source>” Journal of Political Science</source>
          , vol.
          <volume>58</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>1083</fpage>
          -
          <lpage>1091</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>K.</given-names>
            <surname>Wongsuphasawat</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Gotz</surname>
          </string-name>
          , “
          <article-title>Exploring flow, factors, and outcomes of temporal event sequences with the outflow visualization</article-title>
          ,
          <source>” IEEE Transactions on Visualization and Computer Graphics</source>
          , vol.
          <volume>18</volume>
          , no.
          <issue>12</issue>
          , pp.
          <fpage>2659</fpage>
          -
          <lpage>2668</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <surname>L. van der Maaten</surname>
          </string-name>
          ,
          <article-title>A“ccelerating t-sne using tree-based algorithms</article-title>
          ,”
          <source>The Journal of Machine Learning Research</source>
          , vol.
          <volume>15</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>3221</fpage>
          -
          <lpage>3245</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>