analytical algorithms