Analysis of Algorithms, Mathematical Biology
An algorithm is a problem solving method that forms the basis for a computer program. In analysis of algorithms, we compare efficiency of algorithms for particular problems and try to arrive at "best" algorithms, that is, those that use minimal time and space. In the evaluation of algorithms, we classify problems as to difficulty, identify problems that have no reasonable algorithms, and develop simpler cases of difficult problems.
For example, we have discovered an optimal algorithm for the Towers of Hanoi, have identified and found efficient algorithms for several subcases of the Hamiltonian Circuit problem, and developed and compared algorithms for computing Fibonacci numbers. Our analysis can also be applied to problems in computer design. For example, we have designed Mobius cubes and shown that they are superior to the standard hypercube network in having fewer hops between processors while maintaining the same number of connections per processor and while still having fast routing algorithms.
Mathematical Biology creates and studies mathematical models of biological phenomena. We have developed methods for proving local and global stability with applications in the modeling of population growth. We have developed methods for investigating and calculating various aspects of the dynamics of neural nets. We are investigating and measuring chaos in model systems. We are developing a theory of analog neural nets, and designing an analog neuron prototype for VLSI implementation. We are creating algorithms to deal with problems of nucleic acid and protein sequences.
Applications of Research
Research in analysis of algorithms leads to the development of more efficient programs and computers. Research in mathematical biology will produce computationally useful models and may lead to new paradigms for computing.