# Genetic Algorithm

**GA (genetic algorithm)** is similar to how biological genetics work in reality, where genes — your DNA — store information about the rest of your body. For example eye, skin and hair color, hair structure, body type, and height. In a GA, numbers represent various characteristics.

**Combining NFT with Ethereum smart contract allows us to breed horses (in a GA, it is called a crossover)**. It creates another unique token out of the other two, keeping some of the information (features) previous tokens had written in the smart contract.

Half of the father’s genome and the other half of the mother’s genome are set into a new, and unique offspring genome. The exact split of the genes can differ each time in the crossover, meaning that even two siblings will have unique genomes. Just like in real life.

The key here is understanding that representing a genome is as simple as storing a few numbers. The crossover is a piece of code that takes two numbers (parent genomes) as input and produces a single number as an output (child genome).&#x20;

**On the Ethereum blockchain***,* we can **store data** (like a genome), and **perform calculations** with that data **using Smart Contracts**.


---

# 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://zkrace.gitbook.io/whitepaper/technical-summary/genetic-algorithm.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.
