The Shape of Intuition

"His paintings feel like something you can walk into," remarked my mother on Jackson Pollock. My mother is an artist and dancer herself. She's the sort of person that would respond to the artist's notoriously physical process. But the work continues to have plenty of detractors. Some calling it "chaos" or going as far as claiming it displays a "total absence of technique."1^1

Pollock emphatically defended his craft. Responding once to a critic, "No chaos, damn it!."1^1 His technique helped elevate his profile. A portrait series by Hans Namuth captured him with arms extended, flinging paint acrobatically. To many it embodied his genius. Others thought it was evidence of his empty theatricality. Pollock again asserted his craft, "I can control the flow of paint: there is no accident."2^2

Decades after Pollock produced his most famous paintings, Benoit Mandelbrot developed a new way to measure symmetry. Some patterns that seemed random, like the shape of coastlines or the the way tall grass lays in a field, could be quantified by their fractal dimension. It turns out that many of Pollock's later paintings are fractals. The artist refined the fractal dimension over time. His intuitive process lead him to a quantifiable end.

Many artists work outside of rational means and arrive at computable ends. In the West, colloquial language divides the body's instinct, "fühle deinen Bauch" (roughly "trust your gut") or "follow your heart," as way to distinguish it from the rational mind. This is a false dichotomy. Information runs deep within natural systems. In many ways, the body is primed to store and process information.


Mathematicians, scientists, and musicians have long understood the relationship between music and physics. Changes in air pressure physically vibrate structures in our middle ear. When the brain can discern meaningful relationships within a set of vibrations, it may be interpreted as music.

Traditional musical structures include rhythm, melody, and harmony. The following example by Jakob Miland visualizes how individual sounds form a chord (harmony). It defaults to A major 7th (Amaj7), but try simpler variations like Dmaj1 or Amaj5 and more complex examples like Cmin13.

Drag the waveform around and see if you can identify the pattern. As the example demonstrates, an A major 7 chord is comprised of four "sub-frequencies": A, C#, E, and G#.

Rhythm also behaves this way. Notice the repeating patterns between different instruments. In this case the maracas and cymbals striking at different points in the meter.

Music's mathematical underpinnings are particularly immediate. Our body vibrates sympathetically with the ratios and patterns of sound. In many cases, cognitive effort isn't even necessary.

Recursive Processes

The repeating patters of musical sound are echoed in the work of Steve Reich. His compositions emerge as recurring melodies interact. This is called process music. The music is not composed per se, it is the byproduct of a set of rules.

The music's meaning comes from each phrase's repetition in context of the whole - much like rhythm and harmony itself. Process music uses two computational concepts to achieve this effect. One is the automatic or semi-automatic process itself and the other is a concept called recursion.


A process is one of those abstract concepts that is both obvious and elusive. The response to "show me all trains from Chicago to St. Louis on the 19th of December" is the result of a process. It used to be done by a human. Now it's automated by a computer. Either way, the result of the process is the result of many different sub-processes.

Programmers spend their lives building sub-processes. Computer scientists Abelson and Sussman go as far as to claim, "a programming language is a framework for organizing ideas about processes."3^3 With a language, programmers can name and direct the organization of sub-processes.

Reich's Clapping Music was created by a simple algorithmic process. Listen to the emergent complexity as Reich performs his own piece with Wolfram Winkel.

Formally defining a process will help describe what's happening:

A process is a triple (S, f, s), where S is a state space, f is an action function in that space, and s is the subset of S which defines the initial states of the process.4^4

s is Clapping Music's initial rhythm. This is the state, S, of the music until the first audible change. f is a function applied to S that instructs the second performer (Winkel in this case) to shift the pattern by an eighth note.

A managing process keeps track of the relationship between the two players. The composition ends after enough eighth note shifts re-aligns the performers. Formally stated, when S is once again equal to s.

These paragraphs describe the entire process of Clapping Music. It can also be even more accurately and concisely stated using a single recursive function.


The same definition of a process will be used. It is a triple, (S, f, s).

The initial state, s, of Clapping Music can be defined as Clojure code. Both reich and winkel start with the same pattern of -note claps. The rests are indicated by ·.

(def reich '[   ·   ·  ·   ·])
(def winkel '[   ·   ·  ·   ·]) 
(def s [reich winkel])
fractal (Clojure)

The function f will operate on the state S. The definition looks like this: (defn f [S]). Call the function f with the initial state s to start the sub-process: (f s). All together it looks like this:

(defn f [S])
(f s)
fractal (Clojure)

Nothing happens because the sub-process has not been articulated. Defining f and s is only the top level process. Here is the recursive sub-process, fully implemented:

(defn f [S]                        ;; function f takes the current state S
  (let [[reich winkel] S]          ;; find the 2 performers in the state
    (println [reich winkel])       ;; print their state to screen
    (if (= reich (advance winkel)) ;; if reich & winkel share the same state
      "done"                       ;; then we are done
      (f [reich (advance winkel)])))) ;; else move winkel forward & call f
fractal (Clojure)

Take special notice of the last line, (f [reich (advance winkel)]). This is a call to the function f, just like (f s). But it is happening within f. When a function invokes itself, it is called recursion.

Recursion can be a little dangerous. It's possible to write a function that will forever invoke itself. In the code above, the computer knows it is "done" when winkel has gone through every rhythm and arrived back at the beginning. Just like Winkel's performance in Clapping Music.

Time to run the process. Now that the sub-process has been described, calling (f s) will provide the result.

(f s)
fractal (Clojure)

The performer on the left, reich, always stays the same. The performer on the right, winkel, always shifts the pattern one eighth note until it arrives back at the beginning.

Don't worry if you're a little lost in the details. Just remember this: every process that runs on your computer can be defined recursively - including your web browser and the internet itself.

Self-invocation is a kind of abstract magic. It can be used to succinctly describe many natural systems.


That's one of the beautiful things about the body. Through movement, through dancing you can literally embody the most abstract ideas.5^5

~ Anna Teresa De Keersmaeker

While Clapping Music was composed using an analytical approach, Anne Teresa De Keersmaeker's choreography set to Reich's music grew intuitively, "step by step, by trial and error."

De Keersmaeker continues, "A number of ideas gradually presented themselves: repetition, accumulation, the combinations, the ways of linking movements together."6^6 Repetition, accumulation, combinations of p̶r̶o̶c̶e̶s̶s̶e̶s̶ movements - she could be describing the foundations of computer science.

Watch a few moments from her 1982 masterpiece, Fase, and try to spot the simple recursive structure and emergent complexity.

Both Clapping Music and Fase are demanding pieces to perform. They express an "intelligence" that is only now becoming familiar. They embody the same processes used by "smart phones" and "machine learning." It is the abstract language of computation.

Which brings us back to Pollock. His paintings were proven to be fractal in 1999 by Richard P. Taylor, Adam P. Micolich, and David Jonas.7^7 They published two key findings in their original paper:

  1. Pollock's paintings became more fractal as he refined his technique over time.

  2. Other artists working at this level of abstraction did not produce fractal work - even those with broadly similar approaches.

Like all other shapes, fractals have a dimension. Lines are one dimensional, squares are two dimensional, and cubes are three dimensional. Jackson Pollock's Autumn Rhythm (Number 30), seen above, is 1.7 dimensional.8^8

The key quality of a fractal's dimension is its consistency over different scales. The coastline of the South Africa is 1.02 dimensional.9^9 It's hardly fractal at all. It could not objectively be confused with the Norwegian coast, which is 1.52-dimensional.10^{10} This measurement holds true when considering the entire country or zooming in to measure only the western coast. Qualitatively stated, Norway's boundaries are "more jagged" than South Africa's.

The way to measure this quality didn't appear until decades after Pollock's paintings. The artist swore his technique amounted to more than random splatters. Now his admirers have the objective evidence to support his claims.

These discoveries do not validate Pollock's paintings. They don't mean the paintings are "good." Pollock's Number 5 originally sold for $1,500 and recently resold for 140 million. Neither measurements of fractal dimensionality nor monetary value estimate a painting's worth. That's another discussion.

Pollock's paintings continue to challenge audiences just as Reich and De Keersmaeker challenges performers. It is abstract mathematics embodied.

Pollock and De Keersmaeker arrived at this place through trial and error. Step by step. They went searching, "trusted their gut," and produced work at the edge of how we understand the natural world.

The physicality of the process speaks to the body's role in cognition. The body served as the analytical device that delivered a computational result. The artwork can be enjoyed for its aesthetic purity. It can also be studied for its contributions towards a deeper mystery - computation's assured place in intuition and creativity.



  1. Karmel, Pepe, and Kirk Varnedoe. 1999. Jackson Pollock: interviews, articles, and reviews. New York: Museum of Modern Art.

  2. Engelmann, Ines. 2007. Jackson Pollock and Lee Krasner. Munich: Prestel.

  3. Abelson, Harold, Gerald Jay Sussman, and Julie Sussman. 2010. Structure And Interpretation Of Computer Programs. 2nd ed. Cambridge, Mass: MIT Press.

  4. Horning, J.J., and B. Randell. 1973. "Process Structuring". ACM Computing Surveys 5 (1): 5-30. doi:10.1145/356612.356614.

  5. TateShots. 2012. Anne Teresa De Keersmaeker – 'Dance Can Embody Abstract Ideas'. Video.

  6. Amalvi, Gilles. 2013. "Interview With Boris Charmatz And Anne Teresa De Keersmaeker About 'Partita 2'". Rosas.

  7. Taylor, Richard, Adam Micolich, and David Jonas. 1999. "Fractal Analysis Of Pollock's Drip Paintings". Nature 399: 422. doi:10.1038/20833.

  8. Taylor, R., R. Guzman, T. Martin, G. Hall, A. Micolich, D. Jonas, B.C. Scannell, M.S. Fairbanks, and C. Marlow. 2007. "Authenticating Pollock Paintings Using Fractal Geometry". Pattern Recognition Letters 28 (6): 695-702. doi:10.1016/j.patrec.2006.08.012.

  9. Mandelbrot, Benoit. 1967. "How Long Is The Coast Of Britain? Statistical Self-Similarity And Fractional Dimension". Science 156 (3775): 636-638. doi:10.1126/science.156.3775.636.

  10. Feder, Jens. 1988. "Fractals." Plenum Press. New York.


Special thanks to Nikolai Basarich, Liza Candidi, Travis Alber, Richard Taylor, Adam Micolich, Dave Liepmann, Philipp Markovics, Andrea Amantini, and Martin Kavalar.


Teoria.js is a JavaScript library for music theory by Jakob Miland.

(def waveplot-js (slurp 
(def teoria-js (str "<script>" (slurp 
) "</script>"))
(def style-css (slurp 
teoria (Clojure)
Runtimes (2)