There are many situations in science and engineering where complex output data from a given system is used to formulate a model of how that system operates, or to simulate its response to different inputs. Applications include control, decision theory, and the emerging fields of bioinformatics.