Home » Uncategorized

Adapting an Algorithm to Real-time Applications

Below are some images generated by an algorithm that I originally created to study stocks. The stock in this case is Yahoo! in the early 2000s. I realize that none of these images resemble conventional stock market patterns. Keep in mind that algorithms by nature interact with the data. They don’t simply restate the numbers in graphical form. An algorithm designed to deal with historical stock trading data can be modified to deal with the data in real-time. However, there is no inherent reason for such an algorithm to be applied to an application like the original.


Below is a graphical environment that is designed to determine how my stock-market algorithm interacts with mouse movements. The arrow shows the heading of a green dot representing my mouse. The algorithm on the other hand has control over a number of sprites permitted to have a top speed of half mine. As shown below, the algorithm created two formations ahead of me in anticipation of my future location. Imagine using this system to navigate an armed drone or cruise missile. The algorithmic sprites behave a bit like a swarm of bees.


Those who have been following my blogs are probably aware of the Crosswave Differential Algorithm. This algorithm has received much of my attention recently: rather that dealing with amounts, it handles events. This morning I invoked an event called “wear-shirt-extra-large-draping-poly-day.” An event is an instantiation. It is invoked. Just coincidentally the symbols that I use for events are sometimes easy enough to understand by reading directly. While the above example is purely kinetic, I regard my differential algorithm as “narrative”; this is not a term I choose loosely. A series of events can be used to follow a story. Does a narrative algorithm have any real-time applications? Well, I have been thinking of a few.


I call a real-time application of the Crosswave Differential Algorithm “Dichtung.” I believe this means “poetry’ in German. Poetry has some similarities to narrative except for being more structured in particular ways. Since I need a live input source, I decided that I can fasten some mercury tilt switches on a helmet so the signals mimic a joystick. At the moment, I intend to solder the leads from the helmet to the hand control of an actual joystick so I can access the USB port. This helmet is a simple prototype. If somebody wants to copy the idea, no problems with me go ahead. (Just don’t blame me for any burnt out equipment.) My main objective is to get user input into the USB port at a reasonably low cost. Once the signals are available to the computer, the algorithm can do its job.

Despite the apparent similarities between the helmet and a joystick, my objective isn’t to simply “restate” joystick signals using a helmet. But rather I want the algorithm to learn to respond to certain patterns. For example, if the user falls asleep or is in the process of falling asleep while driving, I would like the algorithm to provide a warning as early as possible. If “silent infantry” would like to communicate where radio communication might be disruptive, the troops might consider “head communication” thereby freeing their hands to handle weapons. People with disabilities that cannot use hands might be able to use their heads to control mobility devices; this is even if their range of neck motions cannot mimic a joystick. These applications are not kinetic but event-driven in nature.

An event is not a quantity per se but rather an instantiation or invocation. Here are some examples of events clearly based on a narrative ontology: clocked out, drove home, ate dinner, walked dog, took shower, watched television, brushed teeth, and slept. There might be numbers involved, but the presence of quantities does not mean quantitative handling. For me a kinetic algorithm is all about streams of numbers – typically from a single type of event: e.g. closing price $13.45, $17.20, $18.15, $16.10, $8.55, $10.20, $14.75, $16.35, and $17.95. Statistics might work on kinetics. Because events might not contain any amounts, it might be more difficult to use statistics on events. I consider the stock-market algorithm that I introduced earlier quantitative because the behaviour of the sprites is determined by their rates of decay in relation to the moving object.

I am uncertain about the market for the helmet. But Dichtung seems like a worthwhile application for development, I am thinking for emergency and early-response purposes. It is not really the response itself that is necessarily important (for research purposes) but rather the real-time evaluation of risk in different settings. Currently, the algorithm uses data that has already been gathered – not data that is streaming live. Sometimes an immediate assessment is required from the data as it is collected. Consequently, the helmet merely opens up my deployment of the Crosswave Differential Algorithm to handle different types of real-time applications.