Computational steering is the practice of manually intervening with an otherwise autonomous computational process, to change its outcome. The term is commonly used within the numerical simulation community, where it more specifically refers to the practice of interactively guiding a computational experiment into some region of interest.[citation needed]
Examples
editA simple, but contrived, example of computational steering is:
- In a simulated chess match with two automated players: manually forcing a certain move at a particular time for one player, to change the evolution of the game.
Some real examples of computational steering are:
- In a population dynamics simulation: changing selection pressures exerted between hosts and parasites, to examine the effect on their coevolution.[1]
- In a fluid dynamics simulation: resetting the phase state of an immiscible fluid, to speed the search for its critical separation temperature.[2]
System design
editComputational steering systems are a manner of feedback control system, where some or all of the feedback is provided interactively by the operator.
All computational steering mechanisms have three fundamental components:
- A target system that is being studied
- A representation of the target system, typically a graphical visualization, that can be perceived by the investigator
- A set of controls that the investigator can use to provide feedback that modifies the state, behavior, or product of the system being studied
Disambiguation
editThere appears to be a distinction that the term computational steering is used only when referring to interaction with simulated systems, not operational ones. Further clarification on this point is needed. For example: Vetter (who is apparently well acquainted with the computational steering field[3] ) refers to the following practice as interactive steering.
- In a grid computing framework: adjusting the cache size of a computational process, to examine the effect on its performance.[4]
Computational steering software
editReferences
edit- ^ Bullock, Seth; John Cartlidge; Martin Thompson (2002). "Prospects for Computational Steering of Evolutionary Computation". Workshop Proceedings of the Eighth International Conference on Artificial Life. MIT Press. pp. 131–137.
- ^ Love, Peter; Jeremy Martin (2000). "Steering High Performance Parallel Programs: A Case Study". Communicating Process Architectures 2000. IOS Press. pp. 99–108.
- ^ Vetter, Jeffrey (1997). "Computational Steering Annotated Bibliography". SIGPLAN Notices. 32 (6): 40–44. doi:10.1145/261353.261359.
- ^ Vetter, Jeffrey; Reed, Daniel (November 2000). "Real-time Performance Monitoring, Adaptive Control, and Interactive Steering of Computational Grids". International Journal of High Performance Computing Applications. 14: 357–366. doi:10.1177/109434200001400407.