This tip submitted by Alex Allain on 2005-11-29.
Anytime Algorithms
One nice feature of some algorithms is that they can be stopped at any time and you will be able to trust that the result obtained at the given point is usable. When you don't know how long your program will be given to run, or you want your user to be able to say "give me the best answer so far", use an anytime algorithm like iterative deepening search rather than an algorithm that must run to completion, like breadth-first search.
This tip submitted by Alex Allain on 2005-09-11.
Do you need results or explanations?
When considering which algorithm to choose for solvinga problem, think not only about the accuracy of each algorithm, but how easy it is to interpret the results! For instance, a neural network will spit back an answer without giving you any explanation at all. On the other hand, an expert system might be able to provide the exact sequence of logical inferences that took place to yield the result.
Sometimes understanding the reason for the answer that the system gives you is as important as getting an answer. This can happen if you are using the algorithm as a tool for analysis--to give you a starting point for further work, rather than to give you the be-all and end-all answer.