Skip to main content

Mi a genetikai programozás?

A genetikai programozás az egyik számítógépes program használatának folyamata egy másik számítógépes program írására evolúciós algoritmus-alapú módszertan segítségével.Ezt a folyamatot gyakran összehasonlítják a lineáris programozással, amelyben a programozó konkrét utasításokat ír a számítógép számára.A LISP és a séma a leggyakoribb programozási nyelvek az ilyen típusú munkákhoz, magas szintű funkcionalitásuk és rugalmasságuk miatt.A biológiai evolúcióval való fogalmi hasonlóságának eredményeként a genetikai programozást gyakran a bio-ihlette számítás példájaként idézik.

Genetikai programok (GPS) munka több ezer program generálásával és futtatásával, és a leghatékonyabb használatra választja.Például egy háziorvos felhasználható egy program létrehozására, amely egy fénykép vázlatát készíti.Az első dolog, amit a háziorvos megtenne, egy olyan programkészlet létrehozása, amely különféle számítógépes rajzfunkciókat használ véletlenszerű kombinációkban.Ezután a GP mindegyik programot sorrendben futtatja, és az egyes eredményeket a képfájlokba adja ki.Ez a folyamat általában a genetikai programozás legnehezebb része.A rajzprogram esetében a GP kép -összehasonlító szoftvert használna annak meghatározására, hogy a véletlenszerű rajzok közül melyik volt a leginkább a képhez, amelyet a szoftver megpróbált rajzolni.A véletlenszerűen generált programok közül a GP kiválasztja a felső tetejét, és eldobja a többit.A szelekciós folyamatot fitneszértékelésnek nevezik, és általában a genetikai programozás legnehezebb részének tekintik.Minden új tételt generációnak hívnak.Az új generáció létrehozásának két módja a mutáció és a crossover.A mutáció úgy működik, hogy az egyik meglévő programot elvégzi, és véletlenszerű változtatásokat hajt végre, remélhetőleg a jobbért.A Crossover, más néven tenyésztés, úgy működik, hogy két legfontosabb programot készít, és kombinálja azok elemeit, hogy új programokat hozzanak létre., eliminációs és generációs folyamatok.A GPS gyakran több száz generációt fog futtatni, mielőtt egyetlen programot talál, amely kielégítő eredményt mutat.E korlátozás ellenére a genetikai programozás általános módja annak, hogy megoldják a nehéz számítástechnikai problémákat, ideértve a robotmérnöki és a mesterséges intelligencia problémákat is.