hellmaus: (Мыш)
Первое серьезное приложение математики к морфогенезу сделал Алан Тьюринг, более известный своей ролью в появлении компьютеров.  Модели Тьюринга - реакционно-диффузионные системы - включают в себя несколько веществ - морфогенов, которые способны к диффузии каждый со своей скоростью, и химические реакции их синтеза и распада. Ключевой момент здесь - часть реакций распада и синтеза морфогенов должна катализироваться ими самими и другими морфогенами. 
Эта модель впервые дала математическое объяснение превращению однородного яйца в зародыш, у которого различаются голова и хвост, верх и низ. Так же она описывает пятнистые и полосатые узоры на шкурах, расположение листьев, сегментацию насекомых и другие повторяющиеся структуры:
(онлайн-реализация простенькой реакционно-диффузионной системы, с которой можно поиграться и посмотреть на получившиеся паттерны)
Однако за полвека с выхода статьи Тьюринга в его модели остались открытыми важные вопросы. Например:
 - можно ли получить с помощью реакционно-диффузионной системы любой паттерн? Если нет, то какие можно?
 - как такие системы могут эволюционировать?
 - как обеспечить устойчивость ракционно-диффузионной системы к помехам?
 Вакуленко же берет свою модель генных сетей и доказывает следующие приятные вещи:
  - любую реакционно-диффузионную систему можно эмулировать генными сетями с любой необходимой точностью
  - генные сети могут порождать любые паттерны
  - если выполняется "принцип свободы", то настройка генной сети на новый паттерн может быть сделана быстрым (время работы линейно зависит от сложности паттерна) жадным алгоритмом - то есть эволюция справится
  - опять же если выполняется "принцип свободы" и генная сеть устроена по модульному принципу (например, как безмасштабная), то малое усложнение паттерна достигается малым изменения сети, причем старый паттерн с большой вероятностью сохранится как промежуточная стадия развития (да, это почти биогенетический закон!) 
  - по сложности паттерна можно оценить количество генов в сети, необходимое для его порождения. 

Часть 1
Часть 2

Продолжение следует.
hellmaus: (Default)
Читая обзор Вакуленко, остро понимаю, что наш биофаковский курс математики был непонятно зачем. Для решения задач устойчивости и эволюции генных сетей Сергей привлекает самые разные математические инструменты:
- теорию графов
- теорию алгоритмов, особенно ее понятия вычислительной сложности и NP-полноты
- Булеву алгебру
- теорию нейронных сетей
- Пфаффовы функции
- Марковские процессы
и многие другие. Ничему из этого нас на биофаке не учили. Мне знакомы только теория графов (касались ее в курсе Python-программирования на ФББ) и теория алгоритмов (из популярной книги Пенроуза "Новый ум короля"). 
И что же дает теория алгоритмов для биологии?
Дает она строгий ответ на загадку избыточной сложности биологических систем. 
Сначала Вакуленко доказывает, что создание работающей генной сети в общем случае - сложная задача, NP-полная. То есть время ее решения будет расти экспоненциально от количества входных данных, например, параметров, которые генная сеть должна стабилизировать. (Одна из известных NP-полных задач - задача коммивояжера: даны города и расстояния между ними, надо найти кратчайший путь, проходящий через все города по одному разу) Хуже того, эта задача построения генной сети-стабилизатора в общем случае не обязательно имеет решение. Для задач построения генных сетей с другими функциями алгоритмические решения вовсе неизвестны. 
Получается, что сложные биологические структуры быстро появиться не могут? Только в общем случае. Ситуацию спасает условие, названное Вакуленко "принцип свободы": если регуляторных генов в сети в несколько раз больше, чем "выходов" (структурных генов), то во-первых, существует много решений, во-вторых, существует быстрый и "жадный" алгоритм, с большой вероятностью находящий какое-нибудь из них. Быстрый алгоритм в данном случае - с линейной зависимостью времени работы от объема входных данных. "Жадный" - значит работающий пошагово и улучшающий решение на каждом шагу.
То есть избыточно сложная генная сеть легче и быстрее подгоняется под новые задачи, чем простая и экономная. 
Если "принцип свободы" не выполняется, такая сеть опять-таки не жилец.

Часть 1

Часть 3
hellmaus: (Мыш)
Что-то в журнале стала сплошная политика. Надо про что-нибудь поприятнее написать. Например, про науку.

Я еще три года назад жаловался, что в молекулярной биологии нет хороших математических теорий с достойной предсказательной силой. Все настолько плохо, что биологи даже радиоприемник починить не могут. Тогда мы в обсуждении уперлись в то, что продукты эволюции, будь то генные сети или прошивки для ПЛИС, устроены принципиально не так, как творения инженеров. Причем биологи (например, я), интуитивно понимают это отличие, а сформулировать строго не могут. Злые физики упрекают их за это в "витализме".

Однако прогресс идет, и есть на свете математики, которые над этим успешно работают. Одного из них зовут Сергей Вакуленко, работает он в питерском институте проблем машиноведения РАН, и я как раз дочитал его громадный обзор (pdf). (скоро выложу русский перевод). Кстати, он неожиданно приятно пишет. Например, с него станется завершить обзор фразой "поэтому предсказать Конец Света невозможно по фундаментальным причинам".

Вкусность первая: у него есть строгое математическое определение жизнеспособности. Любой организм рано или поздно умирает. Любой самый процветающий вид может через десяток миллионов лет вымереть, не оставив потомков. Поэтому жизнеспособность определяется для последовательности размножающихся систем (клеток, особей..) через вероятность выживания: если при времени, стремящемся к бесконечности, она стремится к числу больше нуля - система жизнеспособна. Если к нулю - нет. Определение, кстати, не его, а из книги 1984 года, но современные биологи с ним в массе незнакомы.

Вкусность вторая: этого определения автору хватает, чтобы описать важные ограничения на структуру и эволюцию живого. Для начала, он доказывает, что система, размножающаяся без мутаций - не жилец. Далее, если количество регуляторных генов чем-то жестко ограничено - тоже не жилец. Поэтому сложность генных регуляторных сетей со временем растет, даже если все, что от них требуется - это противостоять случайностям внешней среды. Даже такая мелочь, как распределение количества связей генов, важна! Если новые связи равновероятно образуют все гены - сеть не жилец. У жизнеспособных генных сетей вероятность появления у гена новой связи пропорциональна количеству тех связей, которые у него уже есть. Поэтому реальные генные сети оказываются примером безмасштабных сетей

Page generated Sep. 22nd, 2017 02:37 am
Powered by Dreamwidth Studios