package Ġk gp . examples Ċ Ċ import Ġk gp . tree . Tree Generation Mode Ċ import Ġk gp . tree . Tree Generator Options Ċ import Ġk gp . e volution . BaseModel Ċ import Ġk gp . e volution . E volution Options Ċ import Ġk gp . fitness .* Ċ import Ġk gp . tree . Nodes Ċ import Ġk gp . utilities . Uniform ly Distributed Sequence Generator Ċ Ċ /** Ċ Ġ* ĠThe ĠN gu yen - 7 Ġproblem Ġas Ġgiven Ġby ĠWhite Ġet Ġal . Ġ( 2 0 1 3 ). Ċ Ġ* Ċ Ġ* Ġ** See ĠAlso ** Ċ Ġ* Ċ Ġ* Ġ- Ġ[ White Ġet Ġal . Ġ Ġ( 2 0 1 3 )]( http :// link . spring er . com / 1 0 . 1 0 0 7 / s 1 0 7 1 0 - 0 1 2 - 9 1 7 7 - 2 ) Ċ Ġ* Ġ- Ġ[ N gu yen Ġ 7 ]( http :// kg p . readthedocs . io / en / latest / examples . html # ng uy en - 7 ) Ċ Ġ*/ Ċ class ĠN gu yen 7 Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject ĠMain Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfunctions Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNodes . Addition (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNodes . Sub traction (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNodes . Multip lication (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNodes . Division (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCustom Operations . Exponent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCustom Operations . Natural Log () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). toList () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcase Loader Ġ= Ġobject Ġ: ĠCase Loader Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġf Ġ= Ġ{ Ġx : ĠDouble Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġln ( x Ġ+ Ġ 1 ) Ġ+ Ġln ( x ^ 2 Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMath . log ( x Ġ+ Ġ 1 ) Ġ+ ĠMath . log ( Math . pow ( x , Ġ 2 . 0 ) Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrange Ġ= ĠUniform ly Distributed Sequence Generator () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġload Cases (): ĠC ases Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġseq Ġ= Ġrange . generate ( 2 0 , Ġ 0 . 0 , Ġ 2 . 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsamples Ġ= Ġseq . map Ġ{ Ġx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfeature Ġ= ĠFeature ( name Ġ= Ġ" x ", Ġvalue Ġ= Ġx ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( feature ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcases Ġ= Ġsamples . map Ġ{ Ġsample Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġthis . f ( sample [ 0 ]. value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCase ( sample , Ġtarget ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toList () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcases ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcases Ġ= Ġcase Loader . load Cases () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgen Options Ġ= ĠTree Generator Options ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Depth Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Features Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstants Ġ= ĠlistOf ( 1 . 0 , Ġ 2 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= ĠTree Generation Mode . Half And Half ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe vo Options Ġ= ĠE volution Options ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopulation Size Ġ= Ġ 5 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgener ations Ġ= Ġ 1 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtournament Size Ġ= Ġ 2 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcross over Rate Ġ= Ġ 0 . 7 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubtree Mutation Rate Ġ= Ġ 0 . 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġho ist Mutation Rate Ġ= Ġ 0 . 0 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpoint Mutation Rate Ġ= Ġ 0 . 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpoint Replacement Rate Ġ= Ġ 0 . 0 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Off spring Ġ= Ġ 1 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfunction Set Ġ= Ġfunctions , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtree Generator Options Ġ= Ġgen Options , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetric Ġ= ĠF itness Functions . mse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstopping Threshold Ġ= Ġ 0 . 0 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodel Ġ= ĠBase Model ( e vo Options ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel . train ( cases ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( model . best ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }