Co to jest programowanie genetyczne?

Programowanie genetyczne to proces polegający na użyciu jednego programu komputerowego do napisania innego programu komputerowego przy użyciu metodologii ewolucyjnej opartej na algorytmie. Proces ten jest często porównywany do programowania liniowego, w którym programista pisze określone instrukcje dla komputera. LISP i Schemat są najpopularniejszymi językami programowania dla tego rodzaju pracy ze względu na ich wysoką funkcjonalność i elastyczność. Ze względu na podobieństwo koncepcyjne do ewolucji biologicznej programowanie genetyczne jest często cytowane jako przykład komputerów inspirowanych biologią.

Programy genetyczne (GP) działają, generując i uruchamiając tysiące programów i wybierając najbardziej efektywny z nich. Na przykład lekarz GP może zostać użyty do stworzenia programu do narysowania szkicu fotografii. Pierwszą rzeczą, którą zrobiłby lekarz ogólny, jest stworzenie zestawu programów, które używają różnych funkcji rysowania komputerowego w losowych kombinacjach. Następnie lekarz ogólny uruchomi każdy z tych programów w kolejności, wysyłając wyniki każdego z nich do plików obrazów.

Następnym krokiem dla lekarza ogólnego jest wybranie najlepszych z tych programów. Ten proces jest zazwyczaj najtrudniejszą częścią programowania genetycznego. W przypadku programu do rysowania lekarz ogólny użyłby oprogramowania do porównywania obrazów, aby ustalić, który z losowych rysunków był najbardziej podobny do obrazu, który program próbował narysować. Z losowo generowanych programów lekarz ogólny wybierze kilka najlepszych, a resztę odrzuci. Proces selekcji znany jest jako ocena sprawności i jest ogólnie uważany za najtrudniejszy element programowania genetycznego.

Po wybraniu kilku najlepszych programów lekarz ogólny wykorzysta je jako podstawę nowej partii programów. Każda nowa partia nazywa się pokoleniem. Dwa sposoby tworzenia nowej generacji to mutacja i crossover. Mutacja polega na pobraniu jednego z istniejących programów i wprowadzeniu w nim losowych zmian, miejmy nadzieję na lepsze. Crossover, zwany także hodowlą, polega na pobraniu dwóch najlepszych programów i połączeniu ich elementów w celu stworzenia nowych programów.

Po utworzeniu nowej partii programów lekarz ogólny powtarza proces ich uruchamiania i oceny, a następnie powtarza proces selekcji, eliminacji i generowania. Lekarze rodzinni często uruchamiają setki pokoleń, zanim znajdą jeden program z zadowalającym wynikiem. Pomimo tego ograniczenia programowanie genetyczne jest powszechnym sposobem rozwiązywania niektórych rodzajów trudnych problemów obliczeniowych, w tym problemów inżynierii robotycznej i sztucznej inteligencji.

INNE JĘZYKI

Czy ten artykuł był pomocny? Dzięki za opinie Dzięki za opinie

Jak możemy pomóc? Jak możemy pomóc?