Reinforcement Programming: A New Technique in Automatic Algorithm Development