Techniques for Adaptive Control