|     |     |
| --- | --- |
|  | ##### What was Picbreeder?<br>Picbreeder was a collaborative art application based on an idea called evolutionary art,<br>which is a technique that allows pictures to be bred almost like animals. For example,<br>you could evolve a butterfly into a bat by selecting parents that looked like bats.<br>This is a reconstruction of the [original site](https://web.archive.org/web/20160304023434/http://picbreeder.org/) using AI.<br>[Read the blog post.](https://pub.sakana.ai/picbreeder-vlm/)<br><br>

# Analyze Image DNA

Loading this image’s DNA…

This is the picture's **DNA**—the CPPN that paints it. The graph on the left is its structure;
the **intermediate pattern at each node** is shown as the node itself. **Click a node** to see its
output enlarged on the right and to reveal a ring of controls; **drag** empty space to pan, **drag the**
**zoom slider** (or pinch the canvas) to zoom, and **drag a link up/down** to change its weight. Every change re-renders instantly.

Click the node you want to link  → …  ( [cancel](https://pub.sakana.ai/picbreeder-vlm/breed/dna?g=h_butterfly#))

Fit−+drag to pan · double-click to add a node · drag a node to move it · drag its ⊕ handle onto another node to link · drag a link up/down to change its weight

weight 0.17 — drag to changeweight 2.56 — drag to changeweight 1.42 — drag to changeweight -0.45 — drag to changeweight -0.93 — drag to changeweight 2.07 — drag to changeweight 1.27 — drag to changeweight 0.57 — drag to changeweight -0.56 — drag to changeweight 2.23 — drag to changeweight -0.24 — drag to changeweight 0.07 — drag to changeweight 3.00 — drag to changeweight 0.00 — drag to changeweight 0.00 — drag to changeweight 0.00 — drag to changeweight 0.00 — drag to changeweight -2.02 — drag to changeweight 0.20 — drag to changeweight 2.91 — drag to changeweight -1.49 — drag to changeweight -0.10 — drag to changeweight 1.35 — drag to changeweight -2.86 — drag to changeweight -1.39 — drag to changeweight 1.22 — drag to changeweight -1.80 — drag to changeweight -2.08 — drag to changeweight -1.97 — drag to changeweight 0.23 — drag to changeweight -1.38 — drag to changeweight -2.00 — drag to changeweight -0.61 — drag to changeweight 0.41 — drag to changeweight -2.87 — drag to changeweight 0.50 — drag to changeweight -3.00 — drag to changeweight -0.29 — drag to changeweight 0.18 — drag to changeweight 0.13 — drag to changeweight 1.47 — drag to changeweight -0.44 — drag to changeweight -2.05 — drag to changeweight 0.44 — drag to changeweight -0.54 — drag to changeweight -1.65 — drag to changeweight -1.78 — drag to changeweight 2.82 — drag to changeweight -2.88 — drag to changeweight 2.54 — drag to changeweight -1.15 — drag to changeweight -1.28 — drag to changeweight -2.65 — drag to changeweight -1.57 — drag to changeweight -0.91 — drag to changeweight -0.92 — drag to changeweight -1.45 — drag to changeweight -1.21 — drag to changeweight -1.43 — drag to changeweight 1.14 — drag to changeweight 0.01 — drag to changeweight 0.29 — drag to changeweight -0.86 — drag to changeweight 1.37 — drag to changeweight 0.51 — drag to changeweight 0.09 — drag to changeweight 0.30 — drag to changeweight -2.72 — drag to changeweight -0.79 — drag to changeweight -2.94 — drag to changeweight -1.76 — drag to changeweight -0.04 — drag to changeweight -0.22 — drag to changeweight -0.09 — drag to changeweight 0.13 — drag to changeweight 0.29 — drag to changeweight 0.81 — drag to changeweight -0.36 — drag to changeweight -2.72 — drag to changeweight 1.24 — drag to changeweight 2.06 — drag to changeweight -0.84 — drag to changeweight 0.71 — drag to changeweight 2.10 — drag to changeweight 2.18 — drag to changeweight 1.82 — drag to changeweight -2.01 — drag to changeweight -1.45 — drag to changeweight 1.08 — drag to changeweight 0.06 — drag to changeweight -2.24 — drag to changeweight -0.80 — drag to changeweight -0.26 — drag to changeweight -1.34 — drag to changeweight -1.36 — drag to changeweight 0.68 — drag to changeweight 0.50 — drag to changeweight -0.92 — drag to changeweight 3.00 — drag to changeweight -0.80 — drag to changeweight -2.69 — drag to changeweight -3.00 — drag to changeweight 2.32 — drag to changeweight -2.03 — drag to changeweight 1.69 — drag to changeweight -1.66 — drag to changeweight 2.62 — drag to changeweight -0.96 — drag to changehue+drag onto another node to linksat+drag onto another node to linksig+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linksin+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to linkgau+drag onto another node to link

+3

-3

Border color = node kind: input gray color output (H/S/V). Links: positive negative (saturation = strength) disabled.

#### Final image

Color

**34** nodes · **108** active links

#### Selected node

Click a node in the graph to render its output here.

▶ Breed from this DNADownload DNASave PNGReset to original

### Instructions

- **Click a node** to select it—its output renders on the right and a ring of circular buttons appears:
  - `=` identity, `sin`, `cos`, `gau`ssian, `sig`moid—set the node's activation function.
  - `Lnk`—start a new link from this node, then click the target node.
  - `Edt`—open a panel to edit the node's incoming weights.
  - `Del`—delete the node and every link to or from it.
- **Click a link** for its ring: `Nod` (insert a node mid-link), `Del`, `±` (type a weight).
Or just **drag a link up/down** to slide its weight value (most weights lie between −3 and 3).
- **Drag a node** to move it—its links follow. **Drag the small ⊕ handle** on the node's edge onto another node to wire up a new link (a click on the handle does the same in two steps).
- **Double-click** empty space to add a new node (or double-click a link to split it with a node).
- **Drag** empty space to pan; **drag the zoom slider** in the toolbar (or pinch the canvas) to zoom; **Fit** re-centers everything.
- When you like the result, **Breed from this DNA** to evolve it further, or **Download** the genome.
