algorithmic strategies