Existen una cantidad de técnicas que han sido ampliamente estudiadas por los científicos de la computación para resolver problemas que aparecen en diversas áreas de la ciencia.