The Story of a Public, Cooperative Mathathon

Written by RobertLeeRead | Published 2018/12/12
Tech Story Tags: javascript | mathematics | hackathons | public-invention | open-source

TLDRvia the TL;DR App

Two weekends ago, something rare happened. Thirteen people, sharing only a common interest in math, joined together from India, the Middle-East, England, Canada and the United States to solve real math problems. As might be expected, most of them dropped out before the end of the first-ever Mathathon weekend. Nonetheless, the four active participants, aided by two or three less active observers, solved some very real problems.

Perhaps there has never been an all-virtual math hackathon devoted to solving problems carefully prepared ahead of time not to be exercises but to be “real” problems, whose solutions were only dreamt of by their authors. It was, in fact, a high bar, and many participants may have been deterred either by the narrow focus or the difficulty of the problems. However, one of the principles of Public Invention, the hosting non-profit, is to Keep It Real — to never do “fake” problems.

Since our motto is “Invent in the public, for the public,” all of our code and math is freely shared under open licenses in a freely available GitHub repo. I’m grateful to all those who supported this idea, however briefly, during the weekend. We used Slack and Zoom as our fundamental cooperation tools. When we do this again, we will plan better to deal with time-zone differences.

The focus was chains of triangles and tetrahedra glued edge-to-edge or face-to-face together — simplex chains. Although narrow, this field of study is quite well-motivated by structural engineering and robotics. Such objects are inherently interesting to engineers, for two reasons. Firstly, they are inherently rigid and strong for their weight. Secondly, it is easy to build something made out of a limited number of parts, and if every member in a frame is the same length, manufacturing it is comparatively easy. Twenty years ago, building robots completely out of tetrahedra was proposed by Prof. Sanderson of Rensselaer Polytechnic and his students, motivated by applications in space exploration. I attempted to introduce all of this on Friday night, but as any student of math knows, it takes a little commitment to understand even the statement of any real problem.

The author’s research Tetrobot

David Jeschke, my co-host, and I had prepared a two-dimensional interactive web page, a “playground”, that lets anyone with a smattering of JavaScript investigate certain problems, the first of which fell to a collaboration of Nathan, Sanchi and myself on Saturday morning.

Control panel of the 2D Playground

The playground allowed a snippet of code to be tested by graphically drawing it. With some noodling instigated by Sanchi and with a major contribution from Nathan, we found a simple way to tile the plane. Sanchi later solved additional problems, the creation of spirals, on her own.

Sanchi’s tiling snippet tiles the whole plane via successively larger hexagons

David, meanwhile, worked on a solution I would later expand into 3D: he built an algorithm that would follow any parametric curve in 2D with a chain of equilateral triangles. So, in a stroke, he built a barrel vault and a gothic arch, in theory constructible only out of rods of exactly the same length. At the same time, this produced a passable solution to a problem I called “Bresenham’s problem”, that of efficiently building a truss from any one point in a straight line to another. Obviously, this allows nearly arbitrary regular trusses to be designed.

A parametrically-generated sinusoidal arch constructed only of perfect regular tetrahedra

A Circular arch as seen from the ground, generated parametrically

David’s original 2D parametric Sine Wave (A form of a truss.)

Nathan and I worked on an analogous 3D playground at the same time. We got a similar ability to build chains of tetrahedra out of simple snippets of code. On Saturday evening. I was rather surprised to see this working. More interesting to me was the fact, which I still find startling, that every periodic “generator” produce a helix. (A ring and a line are both degenerate forms of a helix.) I would never have predicted this, though I have since created a proof of it, and have been spending the 10 days since the Mathathon investigating the math of this phenomena. At first I sought an analytic formula for the helix based on the properties of the short chain periodically stacked; I now have a numerical, but not closed-form analytic, solution (thanks to Mathematica)! One of the exciting things about math, of course, is that I may be wrong — maybe I am in error, or maybe Euler solved this 250 years ago or something. Or, just maybe, the Mathathon identified a truly new publishable observation.

Any periodic face-to-face stacking generates a helix, here is a gentle one.

The playground allowed and allows striking visual rendering of short snippets. We in fact created a menagerie of complex shapes from simple codes. I hacked the playground to render 100 chains at a time, to test different parameterizations of generators. It was a playful time.

But there were many stated problems to solve, of varying gravity and difficulty. I advanced the 3D playground by taking David’s basic 2D work and extending it to 3D, which, a day after the formal close of the Mathathon, allowed me to build a tight “cone”, an object I had not expected. (The 3D playground is not exactly user-friendly at present; contact me for assistance if you wish to use it.)

A “Tight” parametric cone build from perfectly regular tetrahedra

Meanwhile, Nathan, Sanchi, and Goz had sought objects from the pre-Mathathon set of problems, and Nathan found patterns for constructing several of import. These included an “almost flat” sawtooth, a strikingly tight (though slightly self-intersecting) squarish “vase” container, and above all, a torus.

A tight, squarish vase-like container

A nearly (but not quite) “flat sawtooth” structure made of perfectly regular tetrahedra

Here is the snippet of JavaScript Sanchi used to create the spiral below:

(n) => { if (n > 94) return “S”; var k = n + 1; var h = Math.floor(Math.sqrt(k/3)); var j = k — h * h * 3; if (j == 0) return “R”; else if (j == 1) return “L”; return (j % (2 * h + 1) % 2 == 0) ? “L” : “R”; }

Spiral generated by the snippet of JavaScript above.

An interesting variation on the Spiral with regularly occuring “gaps”.

I had specifically asked several questions about toruses, such as what was the smallest possible By mere chance, I have found a regular torus which was “almost” perfect, in that it almost came around to meet itself nicely in a ring. Nathan, by some intuition I will never understand, observed that allowing one length in every other tetrahedron to alternate, allowed the torus to be perfectly round, and to meet itself perfectly, forming a hexagonal central hole. Using a length of 1 for the regular edge length as a convenience, the length of the 6th edge (of the 6 forming two new tetrahedra) of the torus was 0.95, or 19/20ths. I erroneously jumped to the conclusion that we had found a simple rational length with completed the torus, which would have been very surprising. Although astoundingly close to 19/20th, it is if fact probably irrational, and Nathan proved this later. It turns out that Nathan had in fact identified a means of making toruses of any diameter, with a hole of a triangle, a square, a pentagon, etc. In a sense, these are “new” shapes, which may never have been constructed or identified before.

A Triangular-centered (thought highly irregular) tetrahedral simplex chain.

A square-centered tetrahedral torus

A pentagonal tetrahedral torus (1.2-bounded)

Combined with the ability to parametrically generate chains, we, the participants of the Mathathon, had, in fact answered many of the originally posed questions. As always in mathematics, coming up with interesting questions is of equal importance to answering them, and I added many new questions to our evolving technical paper on the basis of what we learned. I personally continue to work in the light on the mathematics of the helix created by stacks of similar objects.

In the end, the Mathathon was a resounding success in what was accomplished, and a great disappointment in the number of people who participated. We sought to give a positive cooperative learning and working experience on real math problems to as many students as possible. In fact, we did, I think — to two.

I am loosely starting to think about holding a continuation of this event, with the problems reorganized around what was learned and the new issued discovered, in the early summer. Thanks to all who helped promote this event, especially David Jeschke, Twitter users @MathGarden (Sunil Singh) and @Jamesgrime (Dr. James Grime) and Stephanie Liu.


Published by HackerNoon on 2018/12/12