From 61f9c2edc1300e2f4cba5563e5172492f3bc1c3a Mon Sep 17 00:00:00 2001
From: Bas Nijholt <basnijholt@gmail.com>
Date: Tue, 17 Sep 2019 15:12:46 +0200
Subject: [PATCH] add line loss figure

---
 figures.ipynb         |  85 ++++++++++++++++++++++++++++++++++++++++--
 figures/line_loss.pdf | Bin 0 -> 39558 bytes
 paper.md              |  12 ++++--
 3 files changed, 90 insertions(+), 7 deletions(-)
 create mode 100644 figures/line_loss.pdf

diff --git a/figures.ipynb b/figures.ipynb
index faf05e2..d8677f6 100644
--- a/figures.ipynb
+++ b/figures.ipynb
@@ -337,13 +337,14 @@
    "source": [
     "fig, axs = plt.subplots(1, 1, figsize=(fig_width, 3 * fig_height))\n",
     "\n",
+    "\n",
     "def f(x, offset=0.123):\n",
     "    a = 0.2\n",
     "    return a ** 2 / (a ** 2 + (x - offset) ** 2)\n",
     "\n",
+    "\n",
     "learner = adaptive.Learner1D(\n",
-    "    f, (0, 2),\n",
-    "    loss_per_interval=adaptive.learner.learner1D.curvature_loss_function()\n",
+    "    f, (0, 2), loss_per_interval=adaptive.learner.learner1D.curvature_loss_function()\n",
     ")\n",
     "learner._recompute_losses_factor = 0.1\n",
     "xs_dense = np.linspace(*learner.bounds, 400)\n",
@@ -362,7 +363,9 @@
     "        axs.plot(xs_dense, ys_dense + offset, c=\"k\", alpha=0.3, zorder=0)\n",
     "        axs.plot(xs, ys, zorder=1, c=\"k\")\n",
     "        axs.scatter(xs, ys, alpha=1, zorder=2, c=\"k\")\n",
-    "        (x_left, x_right), loss = list(learner.losses.items())[0]  # it's a ItemSortedDict\n",
+    "        (x_left, x_right), loss = list(learner.losses.items())[\n",
+    "            0\n",
+    "        ]  # it's a ItemSortedDict\n",
     "        (y_left, y_right) = [\n",
     "            learner.data[x_left] + offset,\n",
     "            learner.data[x_right] + offset,\n",
@@ -388,6 +391,8 @@
     "\n",
     "import matplotlib.patches as mpatches\n",
     "import matplotlib.lines as mlines\n",
+    "\n",
+    "\n",
     "class LargestInterval:\n",
     "    pass\n",
     "\n",
@@ -462,6 +467,13 @@
     "    ncol=1,\n",
     ")\n",
     "\n",
+    "# On grid\n",
+    "# axs.plot(learner.bounds, [-(i + 0.5) * step, -(i + 0.5) * step], c='k', ls='--')\n",
+    "# xs_hom = np.linspace(*learner.bounds, i)\n",
+    "# ys_hom = f(xs_hom) - (i + 3) * step\n",
+    "# axs.plot(xs_hom, ys_hom, zorder=1, c=\"k\")\n",
+    "# axs.scatter(xs_hom, ys_hom, alpha=1, zorder=2, c=\"k\")\n",
+    "        \n",
     "axs.axis(\"off\")\n",
     "plt.savefig(\"figures/algo.pdf\", bbox_inches=\"tight\", transparent=True)\n",
     "plt.show()"
@@ -472,7 +484,72 @@
    "execution_count": null,
    "metadata": {},
    "outputs": [],
-   "source": []
+   "source": [
+    "from matplotlib.patches import Polygon\n",
+    "\n",
+    "fig, axs = plt.subplots(4, 1, figsize=(fig_width, 1.5 * fig_height))\n",
+    "f = lambda x: np.sin(x)**2\n",
+    "xs = np.array([0, 1.3, 3,  5, 7, 8])\n",
+    "ys = f(xs)\n",
+    "\n",
+    "def plot(xs, ax):\n",
+    "    ys = f(xs)\n",
+    "    xs_dense = np.linspace(xs[0], xs[-1], 300)\n",
+    "    ys_dense = f(xs_dense)\n",
+    "    ax.plot(xs_dense, ys_dense, alpha=0.3, c=\"k\")\n",
+    "    ax.plot(xs, ys, c=\"k\")\n",
+    "    ax.scatter(xs, ys, zorder=10, s=14, c=\"k\")\n",
+    "\n",
+    "plot(xs, axs[0])\n",
+    "plot(xs, axs[1])\n",
+    "    \n",
+    "for i, ax in enumerate(axs):\n",
+    "    ax.axis(\"off\")\n",
+    "    ax.set_ylim(-2, 2)\n",
+    "    label = \"abcd\"[i]\n",
+    "    ax.text(\n",
+    "        0.5,\n",
+    "        0.8,\n",
+    "        f\"$\\mathrm{{({label})}}$\",\n",
+    "        transform=ax.transAxes,\n",
+    "        horizontalalignment=\"center\",\n",
+    "        verticalalignment=\"bottom\",\n",
+    "    )\n",
+    "\n",
+    "\n",
+    "def plot_tri(xs, ax):\n",
+    "    ys = f(xs)\n",
+    "    for i in range(len(xs)):\n",
+    "        if i == 0 or i == len(xs) - 1:\n",
+    "            continue\n",
+    "        color = f\"C{i}\"\n",
+    "        verts = [(xs[i - 1], ys[i - 1]), (xs[i], ys[i]), (xs[i + 1], ys[i + 1])]\n",
+    "        poly = Polygon(verts, facecolor=color, alpha=0.4)\n",
+    "        ax.add_patch(poly)\n",
+    "        ax.scatter([xs[i]], [ys[i]], c=color, s=6, zorder=11)\n",
+    "        ax.plot(\n",
+    "            [xs[i - 1], xs[i + 1]], [ys[i - 1], ys[i + 1]], c=\"k\", ls=\"--\", alpha=0.3\n",
+    "        )\n",
+    "\n",
+    "plot_tri(xs, axs[1])\n",
+    "\n",
+    "for i in [2, 3]:\n",
+    "    ax = axs[i]\n",
+    "    learner = adaptive.Learner1D(\n",
+    "        f,\n",
+    "        (xs[0], xs[-1]),\n",
+    "        loss_per_interval=adaptive.learner.learner1D.curvature_loss_function(),\n",
+    "    )\n",
+    "    learner.tell_many(xs, ys)\n",
+    "    x_new = learner.ask(1)[0][0]\n",
+    "    learner.tell(x_new, f(x_new))\n",
+    "    xs, ys = zip(*sorted(learner.data.items()))\n",
+    "    plot(xs, ax)\n",
+    "    plot_tri(xs, ax)\n",
+    "\n",
+    "plt.savefig(\"figures/line_loss.pdf\", bbox_inches=\"tight\", transparent=True)\n",
+    "plt.show()"
+   ]
   }
  ],
  "metadata": {
diff --git a/figures/line_loss.pdf b/figures/line_loss.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..beb35e7af8f044f2290e39494801229d3094afdf
GIT binary patch
literal 39558
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

literal 0
HcmV?d00001

diff --git a/paper.md b/paper.md
index cab41db..e224005 100755
--- a/paper.md
+++ b/paper.md
@@ -136,7 +136,6 @@ A more complex loss function that also takes the first neighbouring intervals in
 Figure @fig:adaptive_vs_grid shows a comparison between a result using this loss and a function that is sampled on a grid.
 
 #### With many points, due to the loss being local, parallel sampling incurs no additional cost.
-<!-- Bas: the text below does not really describe what is written above, but is an essential part nonetheless -->
 So far, the description of the general algorithm did not include parallelism.
 The algorithm needs to be able to suggest multiple points at the same time and remember which points it suggests.
 When a new point $\bm{x}_\textrm{new}$ with the largest loss $L_\textrm{max}$ is suggested, the interval it belongs to splits up into $N$ new intervals (here $N$ depends on the dimensionality of the function $f$.)
@@ -171,7 +170,7 @@ L_{i,i+1}^\textrm{reg}=\begin{cases}
 0\\
 L_{i, i+1}^\textrm{dist}(x_i, x_{i+1}, y_i, y_{i+1})
 \end{array} & \begin{array}{c}
-\textrm{if} \; x_{i+1}-x_{i}<\epsilon\\
+\textrm{if} \; x_{i+1}-x_{i}<\epsilon,\\
 \textrm{else,}
 \end{array}\end{cases}
 \end{equation*}
@@ -199,7 +198,14 @@ By adding the two loss functions, we can combine the 3D area loss to exploit int
 ## Line simplification loss
 
 #### The line simplification loss is based on an inverse Visvalingam’s algorithm.
-Inspired by a method commonly employed in digital cartography for coastline simplification, we construct a loss function that does its reverse. [@visvalingam1990douglas]
+Inspired by a method commonly employed in digital cartography for coastline simplification, Visvalingam's algorithm, we construct a loss function that does its reverse. [@visvalingam1990douglas]
+
+![Line loss visualization.
+We start with 6 points (a) on the function (grey).
+Ignoring the endpoints, the effective area of each point is determined by its associated triangle (b).
+The loss of each interval can be computed by taking the average area of the adjacent triangles.
+Subplots (c) and (d) show the the subsequent time steps.](figures/line_loss.pdf){#fig:line_loss}
+
 <!-- https://bost.ocks.org/mike/simplify/ -->
 
 ## A parallelizable adaptive integration algorithm based on cquad
-- 
GitLab