A method for automatically producing a predictor for use in image encoding, the predictor predicting a value of an encoding target pixel in an encoding target image by using a previously-decoded pixel, the method comprising: a first step that generates a parent population by randomly producing predictors each being represented by an expression tree structure having functions assigned at non-end nodes and arguments assigned at end nodes, wherein an argument is a numerical value or a peripheral pixel value; a second step (S104, S106) that selects a predetermined number of predictors as parents from the parent population, and generates one or more predictors as children by processing the predictors selected as parents using a genetic programming where candidates for end nodes of the expression tree structures of the predictors to be generated as children include a function which outputs a predicted value by using a conventional prediction method having predetermined arguments and a function which outputs coordinates of the encoding target pixel within the encoding target image; a third step that: selects a predictor having a minimum estimation cost from among the predictors selected as parents and generated as children in the second step, where the estimation cost of a predictor corresponds to the sum of an information content for representing the expression tree structure of the predictor and of an information content of a prediction residual of the encoding target image for which pixel value prediction is performed using the predictor; and stores the selected predictors and one or more other predictors into the parent population; and a fourth step (S110, S111) that performs a control so as to iterate the second and third steps until a predetermined condition is satisfied, and produces a predictor having a best estimation cost as the result of the iteration to be a final predictor. a first step that generates a parent population by randomly producing predictors each being represented by an expression tree structure having functions assigned at non-end nodes and arguments assigned at end nodes, wherein an argument is a numerical value or a peripheral pixel value; a second step (S104, S106) that selects a predetermined number of predictors as parents from the parent population, and generates one or more predictors as children by processing the predictors selected as parents using a genetic programming where candidates for end nodes of the expression tree structures of the predictors to be generated as children include a function which outputs a predicted value by using a conventional prediction method having predetermined arguments and a function which outputs coordinates of the encoding target pixel within the encoding target image; a third step that: selects a predictor having a minimum estimation cost from among the predictors selected as parents and generated as children in the second step, where the estimation cost of a predictor corresponds to the sum of an information content for representing the expression tree structure of the predictor and of an information content of a prediction residual of the encoding target image for which pixel value prediction is performed using the predictor; and stores the selected predictors and one or more other predictors into the parent population; and a fourth step (S110, S111) that performs a control so as to iterate the second and third steps until a predetermined condition is satisfied, and produces a predictor having a best estimation cost as the result of the iteration to be a final predictor. selects a predictor having a minimum estimation cost from among the predictors selected as parents and generated as children in the second step, where the estimation cost of a predictor corresponds to the sum of an information content for representing the expression tree structure of the predictor and of an information content of a prediction residual of the encoding target image for which pixel value prediction is performed using the predictor; and stores the selected predictors and one or more other predictors into the parent population; and a fourth step (S110, S111) that performs a control so as to iterate the second and third steps until a predetermined condition is satisfied, and produces a predictor having a best estimation cost as the result of the iteration to be a final predictor.