The Mathematica One-Liner Competition
December 17, 2010 — Christopher Carlson, Senior User Interface Developer, User Interfaces
Write a simulation of spherical particles coalescing under gravitational attraction. Limit the approach distance by a secondary repulsive force that acts over short distances. Produce an animation of the dynamic system starting with 15 particles in randomized positions.
Formulate your solution in 140 characters or less.
Sound challenging? A 138-character solution was Stephan Leibbrandt’s winning entry in the Mathematica One-Liner Competition that was a part of this year’s Wolfram Technology Conference.
The goal of the competition was to find the most astounding outputs that attendees could produce from the shortest inputs—not just physics simulations, but any applications attendees could dream up. The competition was intended to highlight how much can be accomplished with a few keystrokes in Mathematica. And it was intended to give conference attendees an opportunity to entertain and amaze each other with their creativity. Which they did.
Our first task in designing the competition was to nail down what a “one-liner” is. The concept is not as clearly defined today as it was in the punched-card era, particularly with Mathematica‘s two-dimensional typesetting. We settled arbitrarily on a modern unit of information—the Tweet, or 140 characters—as the size limit of a one-liner, and permitted full use of two-dimensional typeset structures. Special consideration was given to entries that came in at 80 characters or less.
Predictably, the submissions showed great creativity and conniving in finding tricks to reduce character counts to absolute minimums. And satisfyingly, the topics of the submissions were all over the place, from esoteric mathematics to works of art, astronomy to origami.
Four submissions merited Honorable Mentions, and one a Dishonorable Mention. Zdenek Buk won an Honorable Mention with this 140-character expression that produces a graph that shows which countries—indicated by their flags—share borders (click the figure for a magnified view).
A second Honorable Mention went to Stephan Leibbrandt for his “Tubular Bells”, a meditative multimedia experience implemented in just 140 characters.
Paul Abbott had characters to spare with this surprising 112-character plot of a deceptively simple function in spherical coordinates—another Honorable Mention.
In the category of Useful Stuff, Sal Mangano’s 116-character expression yields a complete table of functions and their derivatives and integrals—the last of the Honorable Mentions.
A Dishonorable Mention went to Yves Papegay, who submitted this 80-character expression with the comment, “If only I had a better machine.”
This input selects from all 200696776371546515671027031705365217492618488
444148423180502637853488332240652972952399993950 possible expressions of 80 characters or less those that are syntactically valid Mathematica inputs. That number is so unimaginably large that descriptions in terms of the number of particles in the universe, or nanoseconds since the dawn of time, are woefully inadequate to describe it.
While this expression is a disaster practically, it has a certain conceptual appeal that made up for it hanging the judges’ machines. It expresses all one-liners of 80 or fewer characters. The expression itself is a member of the set that it describes.
Prizes were awarded for First-, Second-, and Third -Place entries. Third Place went to Yves Klett for this animation of a unit cell of the Miura map fold, an origamic structure originally proposed for deploying solar panels on satellites. The judges were particularly impressed with Yves’ cunning use of 2D typesetting and replacement rules to achieve a count of 137 characters.
Chris Ladroue took Second Place with this 136-character expression that assembles collages from random images pulled from Mathematica‘s built-in ExampleData. The judges liked Chris’ apt use of Mathematica constructs; the appealing visual output; and the fact that the expression, when applied to your favorite collection of images, could actually be useful in practice.
Which brings me to Stephan Leibbrandt’s elegant simulation of gravitational attraction, the First-Place winner of the One-Liner Competition. Animated output, simulation of a physical phenomenon, and clever use of a variable (d) to conserve characters impressed the judges. Stephan’s code reveals a deep familiarity with Mathematica‘s programming constructs, which enabled him to pack a complete physics simulation into just 138 characters.
There are yet more intriguing one-liner entries that space does not permit me to share. You can see all of them by downloading the Computable Document Format (CDF) file below. If you’re inspired to write your own one-liners, send them to firstname.lastname@example.org, and if interesting submissions come in, I’ll share the best of them in a future post.
Download the CDF file of all One-Liner Competition submissions.