Андрей Райгородский много лет читает комбинаторику будущим биоинформатикам. На встрече клуба он привёл сравнение, в которое трудно поверить с первого раза.
Геном можно записать как очень длинную строку из букв, примерно миллиард символов. Чтобы понять, насколько родственны два организма, их строки сравнивают. Для этого их выравнивают: пишут одну под другой и вставляют пропуски так, чтобы похожие куски встали друг под другом. Способов вставить пропуски очень много, и нужно найти лучший.
Райгородский сказал, что этих способов больше, чем электронов, которыми можно плотно заполнить видимую Вселенную. Он сразу оговорился, что электрон не шарик и что он это понимает. Но если считать электрон шариком радиусом 10⁻¹³ сантиметра, шариков всё равно выйдет меньше.
🔎 Давайте проверим. Радиус видимой Вселенной около 4,4 · 10²⁸ см. Её объём делим на объём одного шарика и получаем примерно 10¹²⁵ шариков. Число с сотней с лишним цифр.
🧬 Теперь выравнивания. Для двух строк длины n их число в учебниках по биоинформатике считают через числа Деланнуа. Для двух строк из двух букв способов уже 13, для строк из трёх букв 63. Растёт это число примерно в 5,8 раза с каждой новой буквой.
Чтобы обогнать 10¹²⁵, хватает двух строк по 166 букв. Строчка из 166 букв короче этого абзаца. А для двух строк по миллиарду букв число выравниваний записывается примерно 766 миллионами цифр. Перебрать их нельзя, поэтому биоинформатики ищут лучшее выравнивание умными алгоритмами.
Попробуйте выписать все 13 выравниваний двух слов из двух букв, например «КТ» и «ОМ». Сколько у вас получилось?
🎥 Рассказ Райгородского — смотреть с этого места
🧩 Продолжить с задачами клуба