An algorithm for deciding which redex(es) to reduce next. Different strategies have different termination properties in the presence of recursive functions or values. See string reduction, normal order reduction, applicative order reduction, parallel reduction