Minimizing Polarization and Disagreement in Social Networks
  The rise of social media and online social networks has been a disruptive
force in society. Opinions are increasingly shaped by interactions on online
social media, and social phenomena including disagreement and polarization are
now tightly woven into everyday life. In this work we initiate the study of the
following question: given $n$ agents, each with its own initial opinion that
reflects its core value on a topic, and an opinion dynamics model, what is the
structure of a social network that minimizes {\em polarization} and {\em
disagreement} simultaneously?
  This question is central to recommender systems: should a recommender system
prefer a link suggestion between two online users with similar mindsets in
order to keep disagreement low, or between two users with different opinions in
order to expose each to the other's viewpoint of the world, and decrease
overall levels of polarization? Our contributions include a mathematical
formalization of this question as an optimization problem and an exact,
time-efficient algorithm. We also prove that there always exists a network with
$O(n/\epsilon^2)$ edges that is a $(1+\epsilon)$ approximation to the optimum.
For a fixed graph, we additionally show how to optimize our objective function
over the agents' innate opinions in polynomial time.
  We perform an empirical study of our proposed methods on synthetic and
real-world data that verify their value as mining tools to better understand
the trade-off between of disagreement and polarization. We find that there is a
lot of space to reduce both polarization and disagreement in real-world
networks; for instance, on a Reddit network where users exchange comments on
politics, our methods achieve a $\sim 60\,000$-fold reduction in polarization
and disagreement.
