Juggling Patterns and Programs

925e5591fbb086894c2b09b54a18f1e2?s=47 miner
December 05, 2016

Juggling Patterns and Programs

The art of juggling has fascinated people since the days of ancient Egypt. In this talk, we posit that juggling theory can inform software development. We start with the mathematical insights of Claude Shannon, renowned as the father of Information Theory. After introducing “siteswap” notation, we use Clojure to visualize juggling patterns. Finally, we review some interesing results in neuroscience regarding juggling.

Presented at Clojure/conj 2016.
video: https://www.youtube.com/watch?v=TqG176T69VM

925e5591fbb086894c2b09b54a18f1e2?s=128

miner

December 05, 2016
Tweet

Transcript

  1. Juggling Patterns and Programs Steve Miner @miner

  2. None
  3. Anthony Gatto Cirque du Soleil

  4. Simple Made Easy Rich Hickey Strange Loop 2011

  5. Metaphor Alert RH ~ incidental complexity Me ~ essential complexity

    https://schani.wordpress.com/tag/juggling/
  6. Scientific Aspects of Juggling Claude Shannon (1916 - 2001) written

    in1980s
  7. Egyptian Wall Painting circa 2040 B.C.

  8. None
  9. Uniform Juggle • one throw at a time • alternating

    hands • constant rhythm
  10. 3 Ball Cascade • Odd numbers: cascade • Even numbers:

    fountain
  11. 4 Ball Fountain • Odd numbers: cascade • Even numbers:

    fountain
  12. Shannon’s Juggling Theorem • Flight time • Dwell time •

    Vacant time • number of Balls • number of Hands
  13. Complex Made Hard • B ≈ F • F ≈

    (sqrt height) • small errors compound
  14. Flying Karamazov Brothers scaling H

  15. Shannon’s Juggling Theorem • Flight time • Dwell time •

    Vacant time • number of Balls • number of Hands
  16. Lessons from Shannon • historical analysis • domain understanding •

    choosing right abstraction • exploring trade-offs
  17. Science of Juggling • Peter J. Beek and Arthur Lewbel

    • Scientific American, November, 1995, Volume 273, Number 5, pages 92-97 • www.juggling.org/papers/science-1/
  18. Siteswap Notation • sequence of integers • e.g. 531 =

    [5, 3, 1] …, 5, 3, 1, 5, 3, 1, … • 3 = standard three-ball cascade • odd for cascade, even for fountain • empty 0, switch1, hold 2
  19. 531

  20. Inventors • Paul Klimek - UC Santa Cruz 1981 •

    Bruce Tiemann and Bengt Magnusson - Caltech 1985 • Michael Day, Colin Wright and Adam Chalcraft - Cambridge 1985
  21. Number of Balls • average of throws, must be an

    integer • 531 (/ (+ 5 3 1) 3) 㱺 3 • 71 (/ (+ 7 1) 2) 㱺 4 • 97531 (/ (+ 9 7 5 3 1) 5) 㱺 5
  22. Validate Pattern (defn siteswap? [pattern] (let [cnt (count pattern)] (or

    (zero? cnt) (apply distinct? (map #(mod % cnt) (map-indexed + pattern))))))
  23. Spec (s/def ::siteswap (s/and (s/coll-of (s/int-in 0 10) :kind vector?)

    siteswap?))
  24. Orbits • Decompose pattern into orbits (sub-patterns) • 531 =

    501 & 030 • 4413 = 4000 & 0400 & 0013 • 97531 = 90001 & 07030 & 00500 • Practice separately
  25. Quil • Clojure library for graphics and animations • quil.info

    • Rastelli - Clojure juggling library
  26. 453 3 balls in 450 1 ball in 003

  27. 97531 2 balls in 90001 2 balls in 07030 1

    ball in 00500
  28. Isomorphic Patterns • repeat: 3 㱺 333 • rotate: 531

    㱺 315 㱺 135
  29. New Patterns • add period to element: 33 㱺 53

    • swap sites i & j • add distance earlier, subtract distance later • guarantees same landing schedule • 333 㱺 531 531 㱺 441
  30. 531

  31. State Diagram https://plus.maths.org/content/juggling-maths-and-beautiful-mind

  32. Siteswap Features • simple data representation • flexible interpretation •

    sharing • composition • verification • generation
  33. Additional Resources • juggling.org • thewjf.com • wikipedia.com • siteswap.net/JsJuggle.html

    • jugglinglab.sourceforge.net
  34. The Mathematics of Juggling • Book by Burkard Polster, Monash

    University • Survey article based on his book • www.qedcat.com/articles/juggling_survey.pdf • YouTube videos on juggling
  35. – Burkard Polster The way that I feel when I

    look at a nice equation is the same way I feel when I look at a nice juggling pattern.
  36. Allen Knutson • Math professor at Cornell • Siteswap FAQ

    on rec.juggling • YouTube video on mathematics of juggling
  37. Neuroscience • Plasticity In The Adult Brain: Why We Care

    About Taxi Drivers & Jugglers • Marc W. Haut, PhD • youtube.com/watch?v=JVsZVW2HRYQ • nature.com/nature/journal/v427/n6972/full/ 427311a.html
  38. None
  39. None
  40. Jennifer Slaw: Juggling Life • TEDxPrincetonlibrary talk • motivational speaker,

    teaches juggling • improves memory, concentration, flexibility, patience, balance • youtube.com/watch?v=S- Rohq5649A
  41. – Michael Moschen What you learn is how to feel

    with your eyes and see with your hands.
  42. Recap • Juggling inspires mathematicians • Siteswap notation is a

    juggling DSL • Rastelli juggles with Clojure
  43. ClassicProgrammerPaintings.com

  44. photo by Lisa J. Miner

  45. None
  46. The End