IJDb ...Resources ...Community ...Search ... |
State DiagramsMark Thomas - 11th February, 2002. Before I begin:
IntroductionIn the last 20 years, there have been many exciting new mathematical discoveries to the world of juggling. Possibly the most important of these was the discovery of siteswaps. These were developed by several different people at the same time. More recently, the discovery of State Transition diagrams has been very
important. These ideas were developed by Jack Boyce. I will try to explain
a little about these in the following article, and also include some discoveries
that I have made.
What the Diagrams meanIn a state diagram, the series of numbers is basically an instant in time. The numbers tell you where the balls are in that instant. However, it does not tell you the location of the balls, merely when they are next due to land. In a state diagram, a 1 means a ball is in this position, and a 0 indicates a gap. A string of binary, is basically a queue of balls, and the order in which they are to be thrown. Balls are thrown from the right, and move to the left. Every time a ball is thrown, all the others in the queue move 1 place to the left. Lets look at the most basic example: 111 - This is the basic state for a 3 ball cascade. If we were to throw a 3 (this would be the green ball), this ball would move 3 spaces to the left, and would join the end of the queue. The new position we would arrive at would be: 111, which is essentially the same state, thus the 3 ball cascade may continue. What would happen if we were now to throw a 4? Starting again from 111,
if we throw a 4 (this again would be the green ball), we would move to
the state - 1011. Now lets throw a 2 (note: technically, a 2 is a low throw
which is caught in the hand that threw it, however, usually, jugglers don't
bother to throw it, and just hold it till it is next thrown). Throwing
a 2 (the blue ball) takes you to the state 111.
How is this useful?You are probably thinking what the point of this system is. Well, by drawing careful diagrams, it is very easy to create new siteswaps, and connect existing ones. I will begin by drawing a table to cover the states with 3 balls, up to throw height 5:
To use this table, first choose the state you would like to start from. For basic purposes, this we shall use state 1 (111). When you are juggling a 3 ball cascade, every throw is a 3, and every throw takes you from and to the same state - state 1. If you throw a 5, looking along the row for state 1, it tells you that this would take you to state 3 (10011). From here, if you throw a 3, looking along the row for state 3, the chart shows that you would go to state 4 (1101). From here you could throw a 1, which would take you to state 1, and return you to the cascade. Hence, you have thrown a single round of 531. When using this chart, you can throw any number the chart indicates for a given state. Also, every pattern with throw height of 5 or less, with 3 balls can be found in this chart.This chart still has limitations however. It only allows throws of up to height 5 - it can be extended, but the chart very rapidly becomes huge. Also, it is not always clear what is going on. It is not a particularly visual method of conveying these patterns. A better way of displaying the possible transitions from a state, is
to create a grid with all possible states (up to a maximum throw height
and with a certain number of balls) on both axis, and mark on the grid
ways of moving from one state to the next. The vertical axis tells you
the current state, and the horizontal axis tells you where you end up after
a throw of a certain height.
![]() Another thing you may have noticed about this chart is that all states up to 1111 are listed, not just those for 3 balls. By listing all possibilities, patterns emerge, which are not so clear if you only list the possible states for a certain number of balls. Ok, so how do we use this chart. Lets try throwing 441 from a 3 ball cascade. We know that the base state for a 3 ball cascade is 111, so lets start at 111 (number 7 on the chart). First we want to throw a 4. Follow along row 7, until you find a 4. You can see that this is in column 11, which means you are now in state 11 (1011). Starting again, this time in state 11, we want to throw another 4. Following along row 11, we see that now we have arrived in state 13. Finally, by following along state 13 until you find a 1, you return to state 7, which is where we started! You may notice that there is a diagonal line down the middle of
the chart. This line is intended as a reference point. For example, imagine
you are in state 11 (1011) and you throw a 4. This takes you to state 13.
Rather than returning to state 13 and starting again, you can move down
(or up) the column to where you find the grey square. Then you can find
the next throw from this grey square by moving right or left along the
row. Below the example of 441 is shown.
![]() You also may notice the +'s and -'s. If you look at the binary
states that end with a '0', you'll notice that the only two options available
are 0 and +. You can 'throw' a 0, or pick up a new ball, which is represented
by +. Following either takes you to the next state. Note that when a ball
is picked up, it is thrown immediately.
Let's try binaryFrom here on, I will be assuming you understand the binary system of numbers. Binary is a numerical system of base 2, where the only possible numbers are 0's and 1's. Therefore, this would be an ideal system for notating state diagrams, as a state diagram also uses just 0's and 1's. The one drawback with using decimals to notate binary, is that it is hard to follow which ball is which. However, this isn't really a problem, as we will eventually see. If we take the basic state in a three ball cascade (111), we can see this is 7 in decimal. In fact, if you take the base pattern for N balls, the decimal for its binary state is 2N-1. We will see why this is later. Now if you were to throw a 4 from here, it would take you to state 1011, which is 11 in binary. There is a simple formula which connects the starting state, throw made and the finishing state. S = starting state
Ok, but I want to do some multiplexing...
As you probably know, siteswap deals with simultaneous throws from the same hand by putting those throws in square brackets, eg. [54] means throw a 5 and 4 at the same time. The way which state diagrams handle multiplex is very simple. Instead of a 1, to indicate a ball, you use a 2 to indicate 2 balls in that space. For example, suppose you are juggling 4 balls in a fountain, then you 'throw' a 2, you will go from state 1111 to state 121. Now we can have 1's and 2's in the state line, the binary system is no longer of any use. We could try counting in base 3, allowing 0's, 1's and 2's, but calculations are difficult in the rarely used base 3 system. Also, suppose we wated to gather and throw 3 balls at a time. The solution I have found to this is to use decimal. This would allow up to 9 balls to be caught and thrown simultaneously from a single hand - far beyond the human capabilities, but by no means a complete solution. However. the most useful feature of using decimal, is that the string of data you input is the state line exactly as you would write it. This makes the system far easier to use. If we return to the formula we used earlier: (S + 2T - 1) / 2 and change it to: (S + 10T - 1) / 10 we can now input the state line exactly as it appears. However
there needs to be further modification to handle multiplex throws. For
every ball thrown in the multiplex, you must add 10T,
where T = throw height. Also, you must subtract N, instead of 1, where
N = number of balls thrown in multiplex. So we get:
Where Ti is in turn each of the different throws made simultaneously from the throwing hand. If you were in the state 113, and you wanted to throw a [543] multiplex to return to a 5 ball cascade (11111) you would do the following calculation: (113 + 105 + 104
+ 103 - 3) / 10 = 11111
How can I find new patterns using this?Now we can combine multiple simultaneous throws (multiplexes) with the graphic charts from earlier. The new chart will operate in the same way as the uniplex one, but it will be much larger per maximum throw height to accommodate the many more possible states. The chart is numbered in base 3, meaning the maximum number of balls that can be thrown simultaneously is 2. Any higher base of number would mean the chart would become impracticably large. Download a state chart containing all base 3 states up to throw
height 5 (Microsoft Excel 95 or later needed) - multistatechart.xls
(197KB)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 0.34 seconds | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||