Abstract:Genetic Programming is increasing the popularity as the basis for a wide range of learning algorithms. In this paper a brief introduction to Genetic Programming (GP) and the characteristics of the areas in which GP can be successfully applied are presented, combined with some examples including some of our works. Two common problems encountered when applying GP,i.e. the exploration of the size of individuals and the available subroutines, are discussed and the methods to solve them are given in order to improve the power of GP.