<prompt> Eleza algorithm ya maumbile  <response>: Algorithm ya kijeni ni aina ya algorithm ya uboreshaji ambayo imechochewa na mchakato wa uteuzi asilia katika biolojia. Hutumika kutafuta suluhu za matatizo kwa kuiga jinsi idadi ya watu hubadilika baada ya muda kupitia michakato ya uteuzi, uvukaji na mabadiliko. Katika algoriti ya kijeni, idadi ya watu wa suluhu za watahiniwa au watu binafsi kwa tatizo hubadilishwa kuelekea masuluhisho bora. Kila mtu katika idadi ya watu anawakilisha suluhisho linalowezekana kwa shida na ana seti ya mali, inayoitwa chromosomes, ambayo inawakilisha suluhisho. Algorithm huanza na idadi ya awali ya ufumbuzi wa wagombea, ambao kwa kawaida hutolewa kwa nasibu. Idadi hii basi inabadilishwa kupitia mfululizo wa marudio. Katika kila marudio, watu binafsi katika idadi ya watu hutathminiwa ili kubaini jinsi wanavyotatua tatizo, au usawa wao. Watu wanaofaa zaidi huchaguliwa, na jeni zao au kromosomu huunganishwa kupitia mchakato unaoitwa crossover ili kutokeza kizazi kipya cha watu binafsi. Baadhi ya watu hawa wapya wanaweza kuwa na jeni zilizobadilishwa kidogo kutokana na mabadiliko, ambayo huleta mabadiliko madogo katika idadi ya watu. Kizazi kipya cha watu binafsi hutathminiwa kufaa, na mchakato unarudiwa hadi suluhisho mojawapo lipatikane au hadi kigezo cha kuacha kifikiwe. Kanuni za urithi hutumika sana katika matatizo ya uboreshaji, ambapo zimeonyeshwa kuwa na ufanisi katika kutafuta ufumbuzi wa matatizo magumu ambayo yanaweza kuwa magumu kutatua kwa kutumia mbinu nyingine. 