1. A method for providing an estimate of the state of a contact comprising: sensing the state of said contact; generating signals representative of the state of said contact; processing said signals to arrive at estimates of the state of said contact; said processing step comprising applying a simulated annealing algorithm methodology to said signals to generate a contact state estimate solution; said applying step comprising making an initial random guess of said state of said contact; computing the cost of the contact state estimate; randomly generating a small change in the contact state estimate; computing the cost of the new target state estimate; comparing the new target state estimate against a stopping criteria to determine if said stopping criteria has been met; and changing the simulated annealing temperature if a desired number of iterations has been performed since last temperature update, or incrementing the simulated annealing temperature counter if said desired number of iterations has not been performed.