Search Window

OPERATION

These are the search controls, which allow you to search for a periodic billiard path in the selected triangle. The top button allows you to select the kind of search you do. Here are the 5 possibilities: Once you have selected the kind of search you want, you use the keyboard to enter in a number N. Finally, you push the seek button to initiate a search which returns all the combinatorial types of periodic billiard paths for the given triangle which have length at most N. The number N is what we call the search depth and it is initially set to 50. Once you initiate a search, the seek button changes into a halt button. If you press the half button the search terminates immediately. This is a useful way to keep McBilliards from hanging up a long time.

THE RESULTS OF A SEARCH

When a search finishes, a separate word display window pops up. This popup window shows a finite number of word icons Each word icon shows the hexpath of the word and the length of the word. The hexpath of a word is a closed path contained in the edges of the hexagonal grid and based on the digits of the word. The word window documentation explains exactly show the hexpath is produced. If you click on one of the word icons, you tell McBilliards to focus in this word. Once you do this, you can plot the orbit tile associated to the word.

HOW IT WORKS

Here we will describe how a toy version of the basic search algorithm works. The actual version has many combinatorial and geometric enhancements. Once we have specified N we do a depth first search though the tree of even length words in the digits. This looks like an exponential time search, but the aggressive pruning we use cuts it down (probably) to polynomial time. To describe our toy algorithm we first need a few definitions. Now we can describe the toy algorithm. The input is a triangle T and a maximum depth N. We start with a list of words, which just has the single word 12. Assuming we are at some point in the algorithm we let S be the last word on our list. Here is what we do. When the algorithm halts, we have found the complete list of combinatorial types of periodic orbit type having length at most N. Once again, we stress that the actual algorithm, due to Pat, is a vast enhancement of the above.