Dynamics of Algorithmic Fairness