/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠRed ĠHat , ĠInc . Ġand / or Ġits Ġaffiliates . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġnet . card osi . gen et ical gorithm . util Ċ Ċ import Ġnet . card osi . gen et ical gorithm . model . Individual Ċ import Ġnet . card osi . gen et ical gorithm . model . Population ĊĊ Ċ fun Ġprint Population ( population : ĠPop ulation ) Ġ{ ĊĠĠĠ Ġprintln (" Population Ġof Ġ${ population . get Individual s (). size } Ġindividual ( s ). ") Ċ } Ċ Ċ // show Ġgen etic Ġstate Ġof Ġthe Ġpopulation Ġpool Ċ Ġfun Ġprint Gen etic Pool ( individual s : ĠList < Individual >, Ġcolored Gen es : ĠBoolean ) Ġ{ ĊĠĠĠ Ġprintln (" == Gen etic ĠPool ==" ) ĊĠĠĠ Ġindividuals . indices . forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindividual Ġ= Ġindividuals [ it ] ĊĠĠĠĠĠĠĠ Ġprintln ("> ĠIndividual Ġ$ it Ġ| Ġ${ ( if Ġ( colored Gen es ) Ġindividual . toString Color () Ġelse Ġindividual . toString ()) } Ġ| ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġprintln (" =============== =") Ċ } ĊĊ Ġfun Ġprint Fit test Score ( population : ĠPop ulation , Ġgeneration Count : ĠInt ) Ġ{ ĊĠĠĠ Ġprintln ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGeneration : Ġ$ generation Count ĠFit test Ġscore : Ġ${ population . fit test Score } """. trim Indent () ĊĠĠĠ Ġ) Ċ } ĊĊ Ġfun Ġprint Solution ( population : ĠPop ulation , Ġgeneration Count : ĠInt , ĠnumberOf Gen es : ĠInt ) Ġ{ ĊĠĠĠ Ġprintln ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĊĠĠĠ ĠSolution Ġfound Ġin Ġgeneration Ġ$ generation Count ĊĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġ) ĊĠĠĠ Ġprintln (" Fitness : Ġ" Ġ+ Ġpopulation . fit test Score ) ĊĠĠĠ Ġprint (" Gen es : Ġ") ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠnumberOf Gen es ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprint ( population . getFirst Fit test (). get Gen es ()[ i ]) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprintln ("") Ċ }