# Kartezjańskie programowanie genetyczne (programy jako siatka węzłów)

EN: **Cartesian genetic programming (CGP)** · id `cartesiangp` · aliases: Cartesian genetic programming, CGP, kartezjańskie programowanie genetyczne

Path: [AI Atlas](https://aiatlasgraph.com/llms.txt) › [Obliczenia ewolucyjne i inteligencja roju](https://aiatlasgraph.com/t/evolutionary.md) › [Klasyczne algorytmy ewolucyjne](https://aiatlasgraph.com/t/evoclassic.md) › [Programowanie genetyczne i regresja symboliczna](https://aiatlasgraph.com/t/geneticprogramming.md) › Kartezjańskie programowanie genetyczne (programy jako siatka węzłów)

## Description

- PL: Programowanie genetyczne kodowane jako graf skierowany na siatce węzłów, z całkowitoliczbowym genotypem i nieaktywnymi genami umożliwiającymi neutralny dryf.
- EN: Genetic programming encoded as a directed graph on a grid of nodes, with an integer genotype and inactive genes enabling neutral drift.

## In one sentence

- PL: Odmiana programowania genetycznego, w której program jest siatką połączonych prostych działań, a nie drzewem; dobrze nadaje się do układów i filtrów.
- EN: A kind of genetic programming where a program is a grid of connected simple operations rather than a tree; well suited to circuits and filters.

## Problem it solves

- PL: Programy w postaci drzew rozrastają się i nie potrafią wielokrotnie używać tego samego wyniku pośredniego.
- EN: Tree-shaped programs bloat and cannot reuse the same intermediate result several times.

## What it does

- PL: Jak tablica rozdzielcza z kablami: zmieniasz, które gniazdo łączy się z którym, a nieużywane kable czekają na lepszą okazję.
- EN: Like a patch panel with cables: you change which socket connects to which, and unused cables wait for a better chance.

## Everyday example

- PL: Inżynier elektronik pozwala algorytmowi zaprojektować układ mnożący liczby z mniejszą liczbą bramek niż w jego własnym projekcie.
- EN: An electronics engineer lets the algorithm design a multiplier circuit with fewer gates than his own design.

## This concerns you if you…

- PL: projektujesz układy logiczne lub filtry obrazu
- PL: zwykłe programowanie genetyczne daje rozdęte programy
- PL: szukasz zwięzłych wzorów z powtarzającymi się częściami
- EN: you design logic circuits or image filters
- EN: plain genetic programming gives you bloated programs
- EN: you seek compact formulas with repeated parts

## Keywords

CGP · (1+4)-ES · neutral drift · levels-back · modular CGP · recurrent CGP · evolvable hardware · CGP-ANN

## How it works

- PL: Każdy węzeł ma gen funkcji i geny połączeń do wejść lub wcześniejszych węzłów, a geny wyjść wskazują węzły dające wynik. Aktywne są tylko węzły na ścieżce do wyjść; zmiany reszty nie zmieniają programu, ale otwierają nowe drogi. Zwykle używa się strategii (1+4) z mutacją punktową.
- EN: Each node has a function gene and connection genes to inputs or earlier nodes, and output genes name the nodes giving results. Only nodes on a path to outputs are active; changes elsewhere leave the program unchanged but open new routes. A (1+4) strategy with point mutation is typical.

## Limits

- PL: Krzyżowanie zwykle niewiele pomaga przy jednym chromosomie. Stały rozmiar siatki ogranicza wielkość programu i trzeba go dobrać; metoda jest mniej popularna, więc narzędzi jest mniej niż dla drzewiastego GP.
- EN: Crossover usually adds little with a single chromosome. The fixed grid size bounds program size and must be chosen; the method is less widespread, so there are fewer tools than for tree GP.

## Key terms

- PL: **neutralny dryf**: Zmiany w nieaktywnych genach, które nie zmieniają działania programu.
- PL: **levels-back**: Jak daleko wstecz w siatce węzeł może się podłączyć.
- PL: **(1+4)-ES**: Jeden rodzic, czterech potomków, wygrywa najlepszy lub równy.
- EN: **neutral drift**: Changes in inactive genes that do not alter program behaviour.
- EN: **levels-back**: How far back in the grid a node may connect.
- EN: **(1+4)-ES**: One parent, four offspring, the best or equal one wins.

## Sources

- [Cartesian Genetic Programming (tutorial, PPSN 2014)](<https://cs.ijs.si/ppsn2014/files/slides/ppsn2014-tutorial3-miller.pdf>) `miller-cgp-tutorial-2014` · by Julian F. Miller

---

AI Atlas revision 124 (2026-10-31) · HTML: https://aiatlasgraph.com/t/cartesiangp · index: https://aiatlasgraph.com/llms.txt · everything: https://aiatlasgraph.com/llms-full.txt · updated 2026-10-30
