Algorithm for Finding Optimal Gene Sets in Microarray Prediction