Skip to main content

Ano ang genetic programming?

Ang genetic programming ay ang proseso ng paggamit ng isang computer program upang magsulat ng isa pang programa sa computer gamit ang pamamaraan na batay sa algorithm na batay sa algorithm.Ang prosesong ito ay madalas na inihambing sa linear programming, kung saan isinusulat ng programmer ang mga tiyak na tagubilin para maisagawa ang computer.Ang LISP at Scheme ay ang pinaka -karaniwang wika ng programming para sa ganitong uri ng trabaho dahil sa kanilang mataas na antas ng pag -andar at kakayahang umangkop.Bilang resulta ng pagkakapareho ng konsepto nito sa biological evolution, ang genetic programming ay madalas na binanggit bilang isang halimbawa ng bio-inspired computing.Halimbawa, ang isang GP ay maaaring magamit upang lumikha ng isang programa upang gumuhit ng isang sketsa ng isang litrato.Ang unang bagay na gagawin ng GP ay lumikha ng isang hanay ng mga programa na gumagamit ng iba't ibang mga pag -andar sa pagguhit ng computer sa mga random na kumbinasyon.Pagkatapos ay tatakbo ng GP ang bawat isa sa mga programang ito nang maayos, ang pag -output ng mga resulta ng bawat isa sa mga file ng imahe.

Ang susunod na hakbang para sa GP ay ang pagpili ng pinakamahusay sa mga programang iyon mula sa set.Ang prosesong ito sa pangkalahatan ay ang pinakamahirap na bahagi ng genetic programming.Sa kaso ng programa ng pagguhit, gagamitin ng GP ang software ng paghahambing ng imahe upang matukoy kung alin sa mga random na guhit ang pinaka -katulad sa imahe na sinusubukan ng software na gumuhit.Sa mga random na nabuong programa, pipiliin ng GP ang tuktok ng ilang at itapon ang natitira.Ang proseso ng pagpili ay kilala bilang pagsusuri sa fitness, at sa pangkalahatan ay itinuturing na pinakamahirap na bahagi ng genetic programming.

Kapag napili ang mga nangungunang ilang mga programa, gagamitin ito ng GP bilang batayan ng isang bagong batch ng mga programa.Ang bawat bagong batch ay tinatawag na isang henerasyon.Ang dalawang paraan ng paglikha ng bagong henerasyon ay ang mutation at crossover.Gumagana ang mutation sa pamamagitan ng pagkuha ng isa sa mga umiiral na programa at paggawa ng mga random na pagbabago dito, sana ay mas mahusay.Ang crossover, na tinatawag ding pag -aanak, ay gumagana sa pamamagitan ng pagkuha ng dalawa sa mga nangungunang programa at pagsasama ng mga elemento ng mga ito upang lumikha ng mga bagong programa.

Matapos lumikha ng isang bagong batch ng mga programa, inuulit ng GP ang proseso ng pagpapatakbo at pagsusuri sa kanila, at pagkatapos ay ulitin ang pagpili, pag -aalis, at mga proseso ng henerasyon.Ang mga GP ay madalas na magpapatakbo ng daan -daang mga henerasyon bago maghanap ng isang solong programa na may kasiya -siyang resulta.Sa kabila ng limitasyong ito, ang genetic programming ay isang pangkaraniwang paraan upang malutas ang ilang mga uri ng mahirap na mga problema sa computing, kabilang ang mga robotic engineering at artipisyal na mga problema sa katalinuhan.