1. A method for minimizing the computational complexity of adjusting weights in a neural network having a network input signal and a network output signal, comprising the steps of: (a) arbitrarily selecting a first direction for each of said weights in said neural network; (b) determining a network error by comparing said network output signal with a desired network output signal; (c) determining a change in said network error by comparing said network error with a previously determined network error; (d) if the network error has decreased, then changing each weight in the neural network by an incremental amount in said first direction; if the network error has increased, then arbitrarily selecting a second direction for each of said weights and changing each weight in said neural network by said incremental amount in said second direction; and (e) repeating steps (b) through (d) until said neural network generates said desired network output signal,