logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·31.10.26
← Back to news

Could a computer scientist build a brain?

Original article
stankerstjens.github.io|32 points|19 comments|by ogundipeore|Aug 15, 2026

Could a Computer Scientist Build a Brain?

Author: Zador
Affiliation: Cold Spring Harbor Laboratory
Contact: kerstje@cshl.edu

How does a biological system transform a single cell into a complex, wired brain using only the instructions encoded within a genome? To answer this, we can reframe the biological process as a rigorous engineering challenge.

The Engineering Goal: Create a program that a single cell can execute to autonomously construct a fully functional brain.

The Fundamental Constraints

For this program to be viable, it must adhere to two strict physical limits:

  1. Storage: It must be compact enough to fit within a genome.
  2. Latency: It must execute quickly enough to complete within the window of biological development.

A computer scientist—even one devoid of biological training—would immediately see why certain intuitive approaches fail. Specifically, the following strategies are computationally feasible at scale impossible:

  • Storing a specific coordinate for every single synapse.
  • Allowing axons to search for their targets via random, blind exploration.

Because of these scaling limits, the "correct" algorithmic solutions naturally converge toward the strategies that evolution has actually implemented. This suggests that the architecture of neural development is not merely a result of historical accident (contingency), but is driven by computational necessity.

While previous thought experiments suggested that biologists might struggle to understand a microprocessor or fix a radio, this perspective offers a more optimistic path: we may be able to reverse-engineer the brain's design by analyzing how a genome must specify it.


The Scaling Challenge

Imagine providing a programmer with a complete connectome (a wiring diagram) and asking them to write the code to build it. The constraints are:

  • Instruction Set: ≈1 GB\approx 1 \text{ GB}≈1 GB (the size of a genome).
  • Runtime: ≈1 year\approx 1 \text{ year}≈1 year (the developmental window).

The algorithm must be scalable across vastly different biological complexities:

OrganismNeuron Count (nnn)Feasibility of Simple Encoding
C. elegans10210^2102Feasible
Fruit Fly10510^5105Infeasible
Mouse10810^8108Infeasible
Human101010^{10}1010Infeasible

Graph showing Genome Size vs Brain Size. The x-axis represents neurons (10^2 to 10^{12}) and the y-axis represents genome size (10MB to 10GB). A dashed line separates the 'feasible' region (where an adjacency matrix fits) from the 'infeasible' region. C. elegans is in the green feasible zone; humans are far into the infeasible zone.

The Adjacency Matrix Problem: The simplest way to encode connectivity is an adjacency matrix requiring n2n^2n2 bits.

  • For C. elegans, n2n^2n2 is small enough to fit in the genome.
  • For humans, n2n^2n2 would require a genome size far exceeding biological reality.

Therefore, larger brains must use a different, more compressed strategy.


Interdisciplinary Implications

This approach formalizes the genome as a set of instructions for construction rather than a static description of the final product—a view shared by pioneers like Turing, von Neumann, Waddington, and Brenner.

Why this matters:

  • For Neuroscientists: It identifies which molecular mechanisms are "hard" computational requirements and which are flexible.
  • For Theorists: It frames biological growth as a solution to a complex, unsolved computational problem.
  • For AI/ML Researchers: Modern ML relies on massive weight matrices or enormous training sets. Biology, however, generates functional networks from compact descriptions. Studying this could lead to new AI algorithms.

Defining the "Developmental Program"

The programmer cannot manually place neurons or solder connections. Instead, the process is distributed and recursive.

The Programmer's Requirements:

  • Load the instruction set into the initial zygote.
  • Define the initial state of the cell.
  • Ensure the program can run independently in every daughter cell.

The Execution Logic:

Each cell runs the same code and can only access local information:

  1. Its own internal state.
  2. Molecular signals from immediate neighbors.
def cell_behavior(internal_state, neighbor_signals):
    if should_divide(internal_state, neighbor_signals):
        divide()
    if should_migrate(internal_state, neighbor_signals):
        migrate_to_target()
    if should_wire(internal_state, neighbor_signals):
        extend_growth_cone()
        if target_reached():
            form_synapse()

The Mathematics of Scale

To understand the magnitude of the task, consider the human brain:

  • Number of neurons: n≈1010n \approx 10^{10}n≈1010
  • Average connections per neuron: m≈104m \approx 10^4m≈104
  • Total connections: n×m≈1014n \times m \approx 10^{14}n×m≈1014

To describe how the cost of these operations grows as the brain size nnn increases, we use Big-O notation, O(f(n))O(f(n))O(f(n)). This allows us to ignore constant factors and focus on the growth rate. For example, an O(n2)O(n^2)O(n2) cost (like the adjacency matrix) becomes prohibitively expensive as nnn reaches 101010^{10}1010.