Genetsko programiranje

Iz Wikipedije, proste enciklopedije

Genetsko programiranje je področje umetne inteligence in strojnega učenja. Gre za samodejno pisanje programov po vzoru naravnega izbora (evolucija). Stroj (računalnik) uspe sam napisati program, ki reši v naprej zadani problem. Na začetku imamo nekaj naključno napisanih programov - začetna populacija. Nato s križanjem (potomec dobi lastnosti od očeta in matere), mutacijo (redke, male naključne spremembe potomca) in selekcijo (izbiro najboljših potomcev) dobimo naslednjo generacijo. Če so okoliščine ustrezne (dovolj velika populacija, ustrezna selekcija,...) je vsaka naslednja generacija boljša od prednikov. Ker so nekateri koraki genetskega programiranja naključni, nam da vsak poskus drugačne rezultate. Torej je za dober rezultat potrebno tudi kanček sreče. Soroden pojem so evolucijski algoritmi, kar je širše od pojma genetsko programiranje.

Zgodovina[uredi | uredi kodo]

Genetsko programiranje je novinec na področju strojnega učenja. Leta 1958 je R. Friedberg poskušal rešiti preprost problem tako, da je učil računalnik pisanja programov. V tem obdobju so bili ekspertni sitemi prevladujoča veja umetne inteligence. V sedemdesetih letih se pojavi strojno učenje. Pri ekkspertnih sistemih je govora o uporabi znanja, pri strojnem učenju pa o njegovem zbiranju. V začetku osemdesetih 20. stoletja so priznali strojno učenje kot samostojno disciplino. Šele v 90. letih so začeli s sistematičnim raziskovanjem genetskega programiranja. Izraz genetsko programiranje sta skovala H. De Garis in J. R. Koza.

Uporaba[uredi | uredi kodo]

Možna je uporaba na zelo različnih področjih: