This work deals with the problem of function learning by genetic algorithms where the function is used as a preference predicate. In such a case, learning the exact function is not necessary since any function that preserves the order induced by the target function is sufficient. The paper presents a methodology for solving the problem with genetic algorithms. We first consider the representation issues involved in learning such a function, and conclude that canonical representation, relative coding, and search restrictions, are required. We then show that the traditional homologous genetic operators are not appropriate for such learning, and introduce a new configurable analogous genetic operator, named derivative crossover. This operator works on the derivative of the chromosomes and is therefore suitable for preference predicate learning where only the relative values of the functions are important. We support our methodology by a set of experiments performed in the domain of continuous function learning and in the domain of evaluation-function learning for game-playing. The experiments show that indeed using derivative operators increases the speed of learning significantly.