# Generators

![](https://1947225869-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LZMLRvaju5sqPs7pYTX%2F-Ltv4uFdHxY7yt_MdVwX%2F-LrPm3PMEg2fQ14wqq1R%2Fgenerators1.png?generation=1574023185230025\&alt=media)

Generators are the logic pathways that create new potential solutions in a generative design approach. In other words, they are the engine of the algorithm - they give the rest of the program something to evaluate.

Generators can be very simple, for example, a function that outputs totally random designs; or they can be highly sophisticated, for example, a network model that learns over time. Regardless of their complexity level, what they do overall is generate new data in whatever form the user desires.

In the table example we saw earlier, the generator was the block of code that created the different table designs. In another example, a generator could spit out a series of floorplans.

In the simple Dynamo example below, the highlighted node acts as the generator and creates the cuboid in the image. It takes the input values and generates a design option using these variables.

When the values change and the programme is re-run, the generator node is called into action again to create a new design option. In a generative design process, this generator could be a single function or a series of functions pieced together that produce hundreds - or even thousands - of different options.

![](https://1947225869-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LZMLRvaju5sqPs7pYTX%2Fuploads%2Fgit-blob-e722d7b6329ff1c9d0f3d9c79e38bf47c946be64%2Fgenerators2.png?alt=media)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.generativedesign.org/02-deeper-dive/02-01_algorithms/02-01-02_generators.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
