GADS (Generative Adaptive Dynamical Systems) is a theoretical object that defines the shape a search process which authors its own representational language must take to remain functional without collapsing under the consequences of its own actions. A system that takes this shape is a GADS.
Ordinary search operates within a representational language defined before the search begins. A GADS does something fundamentally different. Through its own activity, it creates new units of representation, reuses them, combines them into deeper structures, and changes the space through which future search proceeds. This gives the system capabilities that fixed representation cannot provide, but it also produces structural failure modes that the system must regulate from within.
To understand how this comes together, we begin with a foundational commitment: no central controller is permitted to direct the development of the system’s representational language. No process possesses a model of what that language should become, constructs representations on the system’s behalf, or repairs its internal structure toward a predetermined form. The representational language must instead arise from the consequences of the system’s own operations.
This commitment does not mean that a GADS is isolated from external reality. Each completed construction encounters the environment and receives a valuation based on that encounter. The valuation may be converted into differential survival internally or through an external selection process.
External valuation does not constitute central control because it does not coordinate the system’s internal changes. It supplies a difference in survival between completed constructions. One construction may be worth 10, another 5, and another 0. The valuation does not reach into the representation, identify which internal structure produced the result, repair an unsuccessful construction, or prescribe what should be constructed next.
External valuation supplies the difference against which adaptation occurs. The system must author the structural response to that difference for itself.
In practical terms, removing the central controller means that no part of the system can simply reach across it and modify or repair the representation somewhere else. All changes to the representational language arise through operations acting within bounded neighborhoods. Larger structures and system-wide consequences emerge as those operations interact over time. No process stands above the system with the authority to coordinate the development of its representation.
Together, these commitments establish the problem that GADS addresses. The theoretical object itself was not conceived in isolation. It was distilled from the development and study of the original MEGA framework.
MEGA came first as a working system in which the representational language could change alongside the population using it. Studying how its mechanisms interacted, where the system failed, and what allowed it to remain functional revealed a more general architecture beneath the particular implementation. GADS is the result of separating that architecture from the machinery through which it was first realized.
GADS can be understood independently of MEGA without being separated from its history. MEGA is the system through which the underlying dynamics were first discovered, while GADS describes the broader class of systems those dynamics define. Different implementations may use different computational structures as long as they preserve the relationships and functional roles required by the theoretical object.
Read the paper and explore the code
GADS Foundations develops the architecture and the problems its parts are meant to address.
Two public implementations make those ideas available for study: GADS_single runs one system, while GADS_network connects independent systems that can exchange self-authored representations through local interfaces. Their READMEs explain the mechanisms, fitness environments, and how to run them.