MUNG
This creative project is presented to the faculty of the School of Art and Design of San Jose State University in partial fulfillment of the requirements for the degree of Bachelor of Fine Arts.
Christopher Head, 11/14/2006
mung: /muhng/, vt.
[in 1960 at MIT, "Mash Until No Good"; sometime after that the derivation from the recursive acronym "Mung Until No Good" became standard; but see munge]
1. To make changes to a file, esp. large-scale and irrevocable changes.-The Jargon File
MUNG is a meditation on our understanding of and relationship with the passage of time, and more specifically issues of disparate scope. The process on display operates on a scale that is geologic rather than human. The intention is that once the process is understood through observation, that the effect is somewhat like peering over the edge of the Grand Canyon; the scale of the process becomes apparent and overwhelming. The temporal references we use frequently seem tiny by comparison: A day, a month, a year, or a lifetime. As part of a million-year series they seem to lose some of their utility and importance. The object is not to point out some underlying futility, however. While the relative shortness of our lives, especially when confronted with a process that seems nearly infinite, may be unsettling, it's also liberating. There's no time to be afraid, to worry or wonder what could have been.
The process is generative and entropic; visualized data is culled from randomness and moved toward order, one iteration at a time. The length of the process is nearly inconceivable but it's the process that must be examined, not the eventual result, to understand how MUNG functions and to unwind its algorithm. Because the visualization is a nearly literal representation of the algorithm that drives it, reading the code reveals only the same problem of scope that is presented in the display: Can we accept, either via logic or faith, that the task could or will be completed long after our lifetimes have passed? There is value in computation, regardless of how seemingly meaningless, because of the context it provides by making real those things which seem otherwise impossible to imagine.
The MUNG algorithm generates a sequences of random integers at every iteration. Each integer selected is between 0 and 255 and each sequence is exactly 65,536 integers long. Each sequence of integers represents a 256x256 grid. MUNG continually generates grid sequences, but only unique grids are stored, which means the total number of possible unique grids is larger than the number of stars in the universe and in fact too large to easily calculate with a desktop computer, or print reasonably on a page.
The display routine visualizes the average position in all the unique grids as a height-map. A height-map is a technique used to generate natural-looking terrain via color values in an image or data-structure in which each pixel value or grid index corresponds to a terrain height. In this case 255 represents the highest point of the terrain, or the width of the grid. As more grid sequences are found and added, the average grid values change, and with it the terrain formation. Every grid that is added to the average increases the length of time it will take to find the next unique grid and to find all of the grids will take millions of years, but can be tracked in real-time through the visualization. Because it is the averages of all the grid values that are visualized, as the number of unique grids found grows, the visible change as new grids are found becomes smaller. After a few hours, the progress is extremely difficult to observe. It is impossible to predict the state of the average grid at any point during the process, but it is very easy to predict the outcome: At the point at which all the unique grid sequences have been found, the average of each grid location will be 127.5, and the visualization will show a perfectly flat terrain at a height of exactly half the width of the grid.
Dedicated to Shari Sakahara, without whose support this would have never been possible.