Monday, October 6, 2008

Linearity and Nonlinearity in Biology, Computer Science and the Financial Market

One of the questions that I have, inspired by one of the graduate classes taught by Dr. Ravi Shankar at FAU, is can we exploit the biological architectures to come up with improved computer architecture, both software and hardware. One aspect that rose my interest was the nonlinearity of different biological systems, and if we have such examples of nonlinearity in computer science. In ecological systems, we have Robert May's bifurcation diagram shown below:




If the population growth factor equals to 4, the population jumps around in a chaotic, nonlinear manner. The main idea of the bifurcation diagram is to be able to see the successive period doubling which take us into chaos. We have such bifurcation, such branching, in the blood vessels, as well as in the air vessels. Now for the blood vessels, they can expand to adapt the blood flow. Let us denote the internal pressure, the pressure across the walls, with P, and the volume inside with V. Plotting this system we get the figure below:

What we get is a deterministic nonlinear system. The upper part of the slope is around 100 times the lower part. In case of a disease, like arteriosclerosis where you loose elasticity and you get a higher blood pressure, or in the case where you have more elasticity hence you have a higher pressure, you get a more linear system:

The blood vessels system functions properly only in the nonlinear case. Both linear cases have a negative impact. Do we have such linearity in system development? In software development process, the Waterfall model is the only model that has this linearity property:

The waterfall model is argued to be considered a bad practice mainly because it is impossible to 100% complete one phase before moving to another. When using such a model, it is implied that there are no changes in the requirements, problems can be fully predicted, and the design is correct before the implementation phase starts. Any other development process models do not exhibit the linearity property, but are rather nonlinear. Let us take the spiral model for example, shown below:

Spiral model (Boehm, 1988)

The diagram above can be viewed as a fractal, which is an example of a nonlinear system. Another model that expresses nonlinearity is the iterative and incremental one that is an essential or general part of other models such as RUP, Extreme Programming, Agile Software Development:



The iterative and incremental approach has been developed in response to the linear waterfall model. The nonlinearity characteristic is necessary in order for these models to display the property of adaptability to change, redesign, and learning from other iterations.

If we look at the DOW Jones Industrial Average for 2008, we can see some characteristics of chaos (another manifestation of nonlinearity) depicted in the shaded blue rectangle, that would predict the continuous fall starting with the beginning of October:

SOURCE: Yahoo! Finance

Nonlinearity is present throughout this graph, but chaos really sets in when the rate of the index goes up and down by a much higher rate than it did in the past. The high change in the DJI over a small period of time is a characteristic of chaos behavior. This is also seen if we look at the volume indicator below that plots the number of shares traded during that period of time:

SOURCE: Yahoo! Finance

From September 12 to September 19, there is an almost 50% increase in the number of shares traded. Between September 19 and September 25, there is around 50% decrease in the number of shares traded. Such a high increase and decrease in a two week period is chaotic and uncontrolled, and it is not seen anywhere in the graph for the past year. Having said that, we could certainly look for such chaotic manifestation in the future to better predict the market.

As a conclusion, we have seen several examples where nonlinearity in the form of fractals and chaos is useful and beneficial. Thinking in such terms will have a positive impact in domains ranging form computer science to financial systems.

No comments: