Efficient Second-Order Shape-Constrained Function Fitting
  We give an algorithm to compute a one-dimensional shape-constrained function
that best fits given data in weighted-$L_{\infty}$ norm. We give a single
algorithm that works for a variety of commonly studied shape constraints
including monotonicity, Lipschitz-continuity and convexity, and more generally,
any shape constraint expressible by bounds on first- and/or second-order
differences. Our algorithm computes an approximation with additive error
$\varepsilon$ in $O\left(n \log \frac{U}{\varepsilon} \right)$ time, where $U$
captures the range of input values. We also give a simple greedy algorithm that
runs in $O(n)$ time for the special case of unweighted $L_{\infty}$ convex
regression. These are the first (near-)linear-time algorithms for
second-order-constrained function fitting. To achieve these results, we use a
novel geometric interpretation of the underlying dynamic programming problem.
We further show that a generalization of the corresponding problems to directed
acyclic graphs (DAGs) is as difficult as linear programming.
