Представьте: у вас есть полная схема соединений мозга, и надо написать программу, которую одна клетка выполнит, чтобы построить этот мозг. Программа должна уместиться в геном — это примерно 10^10 бит, щедрая оценка, где вообще нет ничего лишнего, — и закончиться за время развития, максимум около года. И она обязана масштабироваться: от 302 нейронов C. elegans до 10^10 нейронов человека. Геномы разных видов отличаются меньше чем в сто раз, а количество нейронов — на восемь порядков. Значит, алгоритм должен расти сублинейно.
Первая очевидная стратегия — identity: каждой клетке дать уникальный идентификатор, а в геноме хранить список целей для каждого нейрона. Но найти клетку по ярлыку можно только слепым поиском: длина аксона на мишень растёт как O(n). Для человеческого мозга это примерно 500 км аксона на одну мишень. И геном не выдерживает: хранение списков целей требует n×m×log n бит, около 3×10^15 против 10^10. Стратегия упирается в обе стены. Биология её пробовала — хемоаффинная гипотеза Сперри, — но найденное разнообразие молекул вроде Drosophila Dscam1 работает для локального избегания, а не глобального поиска партнёров.
Вторая стратегия — guidepost — добавляет ориентиры. Конус роста идёт по маршруту: сначала к одному ориентиру, потом к другому, и не перебирает всё подряд. Время падает до O(n^(1/3)), потому что нейроны занимают трёхмерный объём, и прямое путешествие через него короткое. Но маршрут зависит от стартовой точки, поэтому каждому нейрону для каждой цели нужны свои инструкции. Если на путь нужно k ориентиров, геномная стоимость O(nmk log n) — ещё хуже, чем в первой стратегии.
Третья стратегия — coordinate — отказывается от внешней системы координат. Внешняя сетка не работает: клетка не может прочитать изнутри координаты, у неё нет линейки и начала отсчёта. Вместо этого адрес рождается при делении. Каждое деление добавляет один бит: одна дочерняя клетка получает 0, другая 1. После log2 n делений у каждой клетки уникальный двоичный адрес, и соседние клетки имеют похожие адреса. Биты соответствуют осям: лево-право, передне-заднее, медиально-латеральное. Правила связей превращаются в битовые маски: переверни первый бит — получишь контралатерального партнёра, переверни другой — партнёра по другой оси. Маска хранится один раз на тип клетки, а не на нейрон. Итоговая стоимость O(tm log n) ≈ 3×10^8 бит — спокойно влезает в геном, а путь остаётся O(n^(1/3)).
Те же масштабные ограничения объясняют, почему реальное развитие похоже на третью стратегию: иерархия делений, транскрипционные факторы, градиенты. Вывод обнадёживающий: дизайн мозга можно вывести не из разборки готовой схемы, а из вопроса, как геном обязан её задавать. Современное машинное обучение пока не умеет порождать большие функциональные сети из компактных описаний — биология умеет.