plakhov: (Default)
Внезапно (для меня) оказывается, что CS-совместимый формальный аппарат, идеально применимый к задачам моделирования биологических систем, давно существует. Это старая добрая Сonservative logic.

Это модель вычислений, обладающая универсальной мощностью, и в то же время позволяющая выражать "законы сохранения" (и вообще концепцию "ресурсов") на самом базовом уровне.

Есть большие подозрения, что автоматы, построенные в такой модели, гораздо более естественным образом объединяются в иерархические системы, чем, например, классические конечные (DFA). И над ними проще запускать, я прошу прощения, эволюционные алгоритмы, т.к. консервативные автоматы (как это по-русски?) гораздо лучше выдерживают "малые изменения" без потери функциональности, и вообще маппинг внутренней структуры в вычислительную функцию у них более естественный и предсказуемый.

Очень надеюсь, что когда-нибудь найду время продемонстрировать это "на пальцах".
plakhov: (Default)
На выходных мы поехали на пикник. Там к нам приполз жук. Большой, красивый. Мы долго ходили вокруг него и рассматривали, размахивали руками, чуть ли не трогали.

Потом дочь убежала, и вернулась с пушистой игрушкой в руках. Жук метра за полтора заметил игрушку, и мгновенно (и весьма шустро) сбежал.

Портрет той самой игрушки:


Вот, а говорят, "примитивные", "автоматы", "инстинкты". Ну-ка, специалисты по computer vision, сумеете реализовать такое четкое распознавание угроз в реальном времени ?
plakhov: (Default)
(Это не научно-популярная запись, а вопрос тем, кто разбирается)
Существуют ли теории, согласно которым роль subj видится не столько в пользе для данного конкретного существа, сколько в пользе для скорости, с которой эти существа эволюционируют, и стабильности, с которой они наследуют свои фенотипические признаки?

Самый банальный пример того, о чем может идти речь.
Допустим, в хромосоме 0% молчащих участков. Тогда после кроссинговера потомство будет иметь один "сломанный" ген на каждую хромосому, где место разрыва пришлось на локус, в котором аллели папы и мамы не совпадают (это в предположении, что получающийся кентавр крайне редко работает "как надо"; я в этом не то чтобы совсем уверен, но не встречал обратных утверждений).

Теперь допустим, в хромосоме 80% молчащих участков, залитых "тождественными нулями". Тогда после кроссинговера потомство будет иметь в среднем в 5 раз меньше "сломанных" генов, чем в первом случае.

Т.е. просто количество "молчащих участков" регулирует относительную частоту, например, случаев, когда потомство рождается нежизнеспособным в силу того, что "отключился" жизненно важный ген.

(всё это к моему давнему и наивному вопросу о http://plakhov.livejournal.com/46540.html)
plakhov: (Default)
http://ivanov-petrov.livejournal.com/1425838.html
http://ivanov-petrov.livejournal.com/1426015.html
http://ivanov-petrov.livejournal.com/1426219.html

Например:

"Муравейники одного вида, расположенные рядом, часто образуют «федерацию». Если произносить неизбежно неточные человеческие аналогии – это «государство». В федерацию может входить несколько десятков, а то и сотен муравейников, население её – могие миллионы муравьев (в одном гнезде F.pratensis может быть до 500000 особей). Между муравейниками одной федерации идет обмен куколками, рабочие переносят куколок и молодых рабочих туда, где они могут потребоваться. Пропуском служит запах: запаховый паспорт один на всю федерацию, если к посту у входа в муравейник подойдет муравей того же вида, но из другой федерации (тем более – другого вида…) – его прогонят или убьют. <...> И вот самыми последними исследованиями выяснено, что в одном гнезде, в целостной муравьиной семье, могут обитать несколько видов муравьев. Вместе работая в одном муравейнике. Не находясь в отношениях рабства или социального паразитизма.

Виды группы F.rufa близки между собой, если пытаться – с неизбежными искажениями – переводить на «человеческий» язык – это столь же близко, как наш вид, кроманьонцы – и неандертальцы. Наш близкий вид был, видимо, нами и съеден, а у муравьев большое количество очень близких видов, таких вот муравьиных «неандертальцев», живут рядом друг с другом".

A.M.A.

Oct. 2nd, 2009 04:04 pm
plakhov: (Default)
Если кто-нибудь о чем-нибудь хотел меня спросить, или что-нибудь сказать, или о чем-нибудь поговорить, но повода не было, можете сделать это сейчас. А то я подумываю, не бросить ли ЖЖ нафиг в пользу RL. Да и вообще, жизнь коротка.

Изначально комментарии скрываются, но только на всякий случай (ну мало ли о чем вы там спрашивать собираетесь).

Ask me anything.
plakhov: (Default)
В фильме "Парк юрского периода" велоцирапторы представлены так:

Но с тех пор прошло почти двадцать лет, о динозаврах стало известно кое-что новое, и теперь их представляют себе так:
картинки дальше )
plakhov: (Default)
Первый пост о том, как простые численные эксперименты позволяют лучше прочувствовать не совсем интуитивные особенности биологической эволюции.


Бесчеловечные эксперименты над бабочками )

Жду комментариев, охотно отвечаю на вопросы.
plakhov: (Default)
А сколько мой журнал читает профессиональных биологов? Я хотел бы показать, как простой (с точки зрения программирования) численный эксперимент может демонстрировать одну чудесную закономерность в эволюции, которая, как оказывается, совсем не интуитивна. Это совершенно разная скорость выработки сложных адаптации в случае, если участвующие в ней гены находятся далеко (например, на разных хромосомах), и в случае, когда они тесно сцеплены в один "суперген". О том, насколько эта закономерность неинтуитивна, говорит, например, тот факт, что Докинз заметил различие этих двух случаев, написал о нем, но также написал, что оно "не имеет значения" - хотя оно, судя по цифрам, крайне важно (см. главу 13 в "Расширенном фенотипе"; там, где про бабочек, которые "учатся" маскироваться, садясь на ствол дерева). Кроме того, еще один весьма неинтуитивный факт относится к тому, от чего именно зависит различие скорости эволюции в двух этих случаях. Затеял я весь этот эксперимент всего лишь ради ответа вот на этот комментарий, но даже сам не ожидал, что именно увижу в итоге.

Насколько это вообще кому-то интересно? А то представить эксперимент в адекватном виде - все слова нужные написать, графики подготовить, tool причесать и выложить для скачивания и тп - довольно трудоемкое занятие (не статья, конечно, но все-таки). Хочется понять, есть ли в этом смысл.
plakhov: (Default)
А еще в отпуске я перечитал "Эгоистичный ген". В первый раз я читал эту книгу давным-давно, лет шесть назад, и, как теперь понимаю, тогда не мог воспринять ее правильно.

Вкратце, это знаменитая научно-популярная книга, написанная известным биологом (точнее, этологом) Ричардом Докинзом. Известен он, насколько я понимаю, даже не столько как биолог, сколько именно как популяризатор науки и один из самых непримиримых и яростных атеистов (особенно если ограничиться интересно пишушими и в целом вменяемыми личностями).

"Эгоистичный ген" отстаивает точку зрения на эволюцию, согласно которой единицей отбора является отдельный ген, а не целый организм (и уже тем более не популяция и не вид). Докинз и общими рассуждениями, и на конкретных примерах пытается доказать, что взгляд на животных и растения, как на "машины выживания", совместно используемые генами "в их личных целях", более продуктивен, чем знакомые по школьным учебникам биологии рассуждения о "благе вида", и даже чем "обыденное" представление об отборе, действующем на уровне отдельных особей. Такой способ взглянуть на проблему представляется автору более логичным, и он показывает, как с его помощью можно объяснить многие феномены, в том числе и такие, которые кажутся противоречащими подобному взгляду на мир, например, альтруистическое и социальное поведение животных. В этой же книге впервые появляется общеизвестное сейчас словечко "мем". Надо сказать, что, хотя именно в нем состоит самый заметный вклад книги в мировую культуру, обсуждение того, что сейчас называют "меметикой" занимает в ней лишь буквально несколько страниц. Я читал второе издание, в него добавлено несколько глав, в том числе интересный раздел об играх с ненулевой суммой (в частности, об iterated prisoner's dilemma), и о том, как эволюционно стабильные стратегии в таких играх могут приводить к появлению "добрых" по своей природе существ (несмотря на их изначально крайне эгоистичные мотивы).

На этом мое краткое введение заканчивается. Если вы ее не читали и не собираетесь, то остаток поста вас не заинтересует.

Если не читали, но собираетесь )

Если читали )

linkdump

May. 20th, 2009 08:27 pm
plakhov: (Default)
1) биологическое (точнее, химическое): Стало гораздо понятнее, как на Земле возникла жизнь (если точнее, как могла "самозародиться" РНК). Статья via [livejournal.com profile] andrzejn

2) программерское: Довольно простая структура данных, позволяющая представлять подмножество из n элементов некоторого очень большого (но конечного) объемлющего множества таким образом, что ответ на вопрос "принадлежит ли элемент данному подмножеству" может быть дан за строго константное время, и использующая при этом O(n) памяти. Перечитайте предыдущую фразу; лично до меня не сразу дошло, "а что здесь такого", и чем это лучше hash_set'а. via Bill Gasarch (там же ссылка на статью с улучшениями, и обсуждение того, насколько эта структура данных практически применима)

(поставил тэг gamedev, считайте это намеком вот на что)
plakhov: (Default)
Существуют ли обучающие основам современной теории эволюции компьютерные модели типа красно-белых шаров? Вот у нас есть популяция такого-то размера, в ней есть дикий тип, и есть такой-то процент "мутантов". Мутация дает такие-то изменения в выживаемости, такие-то в скорости размножения и т.п. Какова вероятность закрепления этой мутации, сколько поколений при этом пройдет? Чтобы можно было играть параметрами: вот, например, снижаем размер популяции, и все сильнее заметен эффект дрифта. Вот такое происходит, если признак рецессивный, а такое - если кодоминирование. А вот вам то же самое для существ, размножающихся делением; а вот для циклически меняющихся "внешних условий"; понятно, зачем понадобилось два пола и два набора хромосом? А вот мутации, которые уменьшают репродуктивный возраст; понятно, что такое педогенез? А вот два вида; видите циклы и то, насколько реальный график отличается от модели Лотки-Вольтерра? И т.п.

Ну, чтобы красиво было, с графиками, с конкретными именованными примерами настроек, достаточно разумно демонстрирующими те или иные эффекты. Кажется, что должно быть несложно такой визуализатор и самому написать, но ведь наверняка есть такое уже.

А то у меня что-то не складывается в голове стройная картина. В теории описана куча вполне переводимых на математический язык эффектов разного рода, но насколько сильно описываемый упрощенный средний (или, наоборот, предельный) случай отличается от того, что происходит в конкретных цифрах, и как соотносятся масштабы разных эффектов в разных случаях, я "не чувствую". Перечитать книжку и затем посчитать я могу, но долго это каждый раз и неэффективно.
plakhov: (Default)
Тираннозавр
Tyrannosaurus Rex

Перед вами T-Rex, самый известный хищник мезозоя. В скобках можно отметить, что крупные хищники того времени были похожи друг на друга, как огурцы, и отличить на вид "самого известного" от, скажем, аллозавра, жившего за 80 млн лет до того - это неспециалисту еще нужно постараться. Хотя аллозавры тираннозаврам даже не очень-то родственники (на таком же расстоянии от них по эволюционному дереву, как и современные курицы, только немного "в другую сторону"), основные черты конструкции те же: мощные ноги, гигантская пасть, хвост, чтобы ее уравновесить, "клюющая" поза, уменьшающая нагрузку на кости (фантастический Годзилла мог себе позволить стоять вертикально, но тут у нас вполне земное существо), и маленькие мерзкие "ручки", сложенные на груди. Ну, хорошая конструкция, добротная, пережила 130 миллионов лет, и за это время была "переизобретена" несколько раз. Для сравнения, чуть позже что-то вроде мыши превратилось во что-то вроде смеси свиньи и лошади, потом во что-то вроде гигантского медведя с копытами, потом перешло к водному образу жизни, стало чем-то вроде бегемота (а может, и не оно стало - на этот счет есть разные мнения), успело побыть морским драконом, потом китом, обмельчало, теперь (пока что) является дельфином, и все это случилось меньше, чем за 50М лет. А тут на протяжении всего мелового периода (это тот, что после юрского) доминируют одинаковые абсолютные машины-убийцы. Они уже умеют бегать по бездорожью со скоростью хорошего автомобиля, рвать зубами, и топтать ногами, а что еще нужно хищнику? Мало того: раз он рептилия, ему нужно совсем немного есть (раз в пять меньше, чем млекопитающему такого же размера), а это означает, что и голод ему не страшен.
дальше, много картинок )
plakhov: (Default)
Потрясающее фото (via [livejournal.com profile] malaya_zemlya)

plakhov: (Default)
Похоже, Лесли Валиант - великий ученый, хоть и неизвестный широкому кругу людей.

Я не так давно формулировал здесь вопрос об эволюции с точки зрения теории алгоритмической сложности. Оказывается, он тоже задался этим вопросом, но, в отличие от меня, сильно продвинулся в том, чтобы на него ответить. Его выводы изложены в этой статье 2007 года.

В основном это суровая математика, но если ваши исследования связаны с теорией эволюции, то раздел Discussion, на мой взгляд, стоит того, чтобы его прочитать в любом случае. Среди выводов:

- избыточность генетического кода принципиальна, без нее не удалось добиться evolvability даже для простых структур

- чтобы ответить на вопрос, насколько вероятно появление тех или иных конструкций в ходе эволюции, не имеет смысла изучать конкретные механизмы изменчивости: результат от них не зависит

- появление конкретных типов структур в ходе эволюции имеет очень предсказуемую "вероятность", которая поддается строгим оценкам. Слово "вероятность" взято в кавычки, т.к. она имеет всего два варианта поведения: или асимптотически стремится к нулю, или к единице

- сложные структуры не могут развиться в ходе эволюции, если fitness-функция не меняется; таким образом, сложность окружающего мира - результат множества последовательных "гонок", у каждой из которых была своя цель; биологам это, наверное, должно быть очевидно, а вот разработчикам "генетических алгоритмов" - вовсе нет

У Лесли еще много отличных статей на стыке биологии и теории вычислительной сложности. Например, интерпретация двух нейробиологических фактов с точки зрения computational complexity (до Валианта, как я понял, для них не существовало внятных объяснений). Мне очень нравится такой подход. Если однажды я все-таки решу уйти в монастырь заняться наукой, я хотел бы заниматься чем-то подобным.
plakhov: (Default)
После того, как я почитал книжки про теорию эволюции, меня стали раздражать слова "мем" и "меметический" (некоторое недоумение они вызывали еще с тех времен, когда я увлекался генетическими алгоритмами). Приз за самую долбанутость достается слову "мемокомплекс".

Речь не об использовании термина "мем" для характеристики всевозможных "преведов". Там оно, по-видимому, оправдано за отсутствием чего-либо другого. Скорее, о подобных высказываниях.

Очень странно, что эти мумбо-юмбо в речи используют вроде бы умные и вроде бы образованные люди. Почему они не видят, что это типичные "информационные поля" и "таинственная сила воды", только предназначенные для чуть менее невежественных людей?

Видимо, так. Упомянул в споре - и непосвященный отступит в страхе перед стоящей за ними масштабной областью знаний. Невдомек ему, что никакой содержательной науки за ними не кроется.

Науки

Aug. 14th, 2007 09:20 pm
plakhov: (Default)
1. Молекулярная биология - наука о кишечной палочке.
2. Когнитивная пихология - наука о второкурсниках и о белых мышах.
3. Математика - наука об устройстве математики.
4. Computer science - другая наука об устройстве математики. 

plakhov: (Default)
Длина человеческого генома - порядка 1010 бит (очень примерно). От некоторого первосущества, снабженного сопоставимым по своему устройству генетическим аппаратом, до нас с вами прошло порядка 1010 поколений (это еще более примерная оценка сверху). В каждом поколении на Земле обитало вполне конечное, ограниченное сверху число особей. Еще нам известно, что генетический код - Тьюринг-полный язык программирования. Итого мы имеем некоторый генетический алгоритм (в том смысле, в котором это выражение понимается в computer science), единицами отбора в котором являются программы на некотором экзотическом Тьюринг-полном языке. Начиная с нуля, этот алгоритм за O(N) поколений ограниченной мощности дает на выходе программу длины N=1010, обладающую интеллектом (если точнее, интеллектом обладает результат ее экспрессии, но для Тьюринг-полных языков это достаточно эфемерная разница). Тем, кто на практике занимался генетическими алгоритмами или даже computer science вообще, я думаю, не нужно объяснять степень недоумения, возникающую при осознании этого факта. Можно соотнести это, например, с теорией вычислительной сложности, да с P-NP проблемой хотя бы.

Ну и на более школьном уровне, если вдуматься, дела тоже обстоят интересно. Каким бы набором генов ни был снабжен конкретный человек, он остается человеком - с двумя руками, двумя ногами и головой. Эта особь в любом случае может научиться ходить, говорить, а часто и думать - то есть, на макроуровне, основные признаки вида всегда присутствуют. И опять же на макроуровне он наследует признаки родителей. Как, черт побери, так получилось? Да простится мне глупая и очень misleading аналогия, но "среднее арифметическое" двух ехе-файлов не только не будет проявлять смешанное поведение, но вообще не будет валидным ехе-файлом.

Еще пять лет назад я бы с твердой уверенностью сказал, что никакие существующие генетические алгоритмы даже и близко не показывают ни такую эффективность, ни такую устойчивость "фенотипа" при сохранении Тьюринг-полноты. Может, я что-то пропустил, и за это время все изменилось?

На всякий случай, чтобы не было holy war. Весь этот вопрос не имеет отношения к спорам креационистов с эволюционистами. Пока что, насколько понимаю, между наиболее интеллигентными представителями спор идет между "а почему да" vs "а почему бы и нет"; о менее разумных спорщиках умолчим. Но здесь неважно, кто из них прав. Мы видим механизм, принцип работы которого, вне зависимости от его происхождения, во-первых, даже с точки зрения чистой computer science непонятен, а во-вторых, вполне можно пытаться reverse engineer'ить.

Теперь уже несколько месяцев пытаюсь изучать генетику с теорией эволюции (учебники пока что). В следующем посте на эту тему собираюсь написать о том, какие неинтуитивные с точки зрения программиста факты (при этом переводимые на computer science язык) о механизмах эволюции успел узнать.

А сейчас все-таки рискну написать о своих дилетантских ощущениях. Пока что складывается такое подозрение, что, объясняя развитие на макроуровне и вместе с тем устойчивость фенотипа, большая часть биологов довольствуется описанием на качественном уровне каких-то частных механизмов. Если перевести их на язык и в парадигму computer science, то совершенно фантастический итоговый результат оказывается не объяснен (хотя какие-то подсказки, безусловно, можно получить).
plakhov: (Default)
Такой вопрос к специалистам. Хочу получить знания по генетике и молекулярной биологии. Мои текущие - на уровне википедии. Примерный желательный уровень - вузовский учебник. Конкретные области, которые интересуют - трансляция и транскрипция у прокариот и эукариот; известные механизмы обеспечения устойчивости к мутациям на низком уровне.

Что лучше всего для этого прочитать? Можно, конечно, заказать на Озоне учебников "от балды" (как я поступил с теорией эволюции); но если кто-то даст подсказку, какие конкретные книжки стоит читать, буду очень благодарен.
Page generated Sep. 22nd, 2017 02:41 am
Powered by Dreamwidth Studios