Метка «теория игр» - 2

Тут недавно был такой пост Правила разработки сложных систем. История одного проекта, где автор описывает как он удачно «копался» в одном проекте, а потом все выкинул и переписал с нуля.

Я попробую рассказать обратную историю. Тут около месяца назад я не удачно попытался представить демо версию одной своей разработки (см. Часть №7. RNAInSpace — программное обеспечение для полуавтоматического конструирования РНК в пространстве).

Оказалось, что у скачивающих не работает один модуль, ответственный за показ графики. В двух словах проект RNAInSpace — это программное обеспечение для полуавтоматического конструирования РНК в пространстве. Обеспечивает 3D визуализацию структуры РНК, позволяет её изменять и с помощью связи с модулем RNAWorld позволяет автоматизировать некоторые этапы сворачивания РНК.

Чтобы войти в тему — я тут написал некоторое множество статей:
От белков к РНК, Мат. критерии, Как уменьшить число поворотов цепи?, Как оценить ход сворачивания односпиральной РНК?, Ограничение оптимизирующих методов в играх с противником и без, Одна фундаментальная проблема, Введение в сворачивание многоспиральных РНК

Но эту статью можно обсуждать и не зная предметной области, кстати заодно проверим можно ли судить о качестве ПО не зная семантики предметной области (я утверждаю, что можно).

Так вот эта 3D визуализация (модуль RNAInSpaceDisplay) и не работала на некоторых компьютерах. Для реализации графики я использовал существующий проект VMD 1.8.7.

Ниже история о том как я адаптировал VMD 1.8.7 под свои нужды.

Читать полностью »

В предыдущих частях От белков к РНК, Мат. критерии, Как уменьшить число поворотов цепи?, Как оценить ход сворачивания односпиральной РНК?, Ограничение оптимизирующих методов в играх с противником и без, Одна фундаментальная проблема, Введение в сворачивание многоспиральных РНК я рассказал основы к предлагаемому мной кибернетико-геометрическому подходу для задачи сворачивания РНК. Повторю формулировку задачи:

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

Здесь я расскажу о практике, чтобы каждый мог попробовать что это такое. Мной было разработано ПО для расчета того, о чем я рассказывал. Здесь я даю ссылку на демо версию. И объясняю, что вы сможете увидеть. Ведь лучше один раз увидеть, чем 100 раз услышать :)

Читать полностью »

Итак, в прошлых частях мы разобрались как сравнительно просто сворачивать спирали РНК. Теперь нам предстоит понять, как вообще сворачивается РНК. То РНК, которые мы взяли в виде примера имеет три спирали. Две из них L1 и L2 можно свернуть независимо. А вот с третьей проблемы. Эта третья состоит из концов РНК, и при ее сворачивании начинаю двигать наши свернутые спирали L1 и L2. Во-первых, при этом они мешают друг другу, и следовательно и сворачиванию третьей спирали. Во-вторых, возможно образование около десятка разнообразных псевдосимметричных структур — спирали L1, L2 могут по разному располагаться по отношению к сворачиваемым концам РНК.

Здесь мы попробуем разобраться как эти проблемы решить.

Читать полностью »

В этой статье мы рассмотрим как свернуть одну спираль в РНК. Для понимания нужно прочитать все предыдущие части От белков к РНК, Мат. критерии, Как уменьшить число поворотов цепи?, Как оценить ход сворачивания односпиральной РНК?, Ограничение оптимизирующих методов в играх с противником и без. Если ранее у нас все шло как по маслу, то здесь мы столкнемся с серьезной проблемой. Может кто-то подскажет как её решить.

Читать полностью »

Эта статья короткое ответвление от цикла статьей по биовычислениям:
От белков к РНК, Мат. критерии, Как уменьшить число поворотов цепи?, Как оценить ход сворачивания односпиральной РНК?

В этих статьях задача сворачивания РНК представлена в новом свете — как задача теории игр. Но традиционно эта задача сейчас решается с применением различных стахостических оптимизирующих методов. А к ним относятся методы основанные на методе Монте-Карло, метод отжига, генетические алгоритмы, искусственные нейронные сети, Q-обучение, и все те которые представляют задачу как энергетическую поверхность в которой ищут экстремумы.

Казалось бы сама физика велит использовать эти методы в таких задачах как сворачивание РНК/белков. Здесь мы посмотрим почему это сильно проблемно.

Читать полностью »

Программа Zen обыграла в го профессионального игрока 9 дана с форой в 4 камня17 марта были сыграны две партии в го между программой Zen19, созданной японским программистом Ёдзи Одзимой и профессиональным игроком Такэмия Масаки, обладателем 9 дана, одним из лучших игроков мира. В первой партии, с форой в 5 камней, программа победила с преимуществом в 11 очков, во второй — с форой всего в 4 камня ей удалось опередить Масаки на 20 очков. В го каждый камень форы соответствует очередному уровню мастерства, таким образом, сейчас Zen имеет 5-й дан. После матча Такэмия Масаки признался, что не ожидал такого высокого уровня от компьютера. Zen работала на мини-кластере из четырёх компьютеров (dual 6-core Xeon X5680/4.2 GHz, 6-core Xeon W3680/4 GHz и два 4-core i7 920/3.5 GHz), соединённых гигабитной сетью.
Читать полностью »

Итак, если еще не устали от цикла «Hello, RNA World» — ловите последнею статью сезона :)

В прошлой статье я обосновал, почему следует (или хотя бы целесообразно) отказаться от оценки энергии как целевой функции. Если кто не в курсе — целевая функция, это такая придуманная нами функция, по которой можно оценить приближаемся мы к поставленной нами цели или нет, т.е. «правильно» сворачивается РНК или нет.

Если энергия — это мало репрезентативная цель, тогда что более стабильно/чётче указывает куда двигаться? Если бы у нас была абсолютно формализованная и точная цель — это уже означало бы, что мы задачу решили, т.к. сама формализация целевой функции — есть не что иное как полноценное понимание процесса.

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

Читать полностью »

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

Но вначале хочу обратиться к специалистам в этой области:

Вначале развею возможное недопонимание: я любитель, и не занимаюсь этой темой профессионально. Я заметил, что тут есть специалисты в этой теме. Странно, что я не читаю ваших статей, а вы читаете мои. Очень надеюсь, что эта ситуация поменяется. Я хочу почитать ваши статьи, и желательно написанные простым языком, и где вы даете ответы, а не отправляете в известном направлении в гугл. Просто у меня есть некий негативный опыт, когда только начинал ряд специалистов, которых удавалось находить в интернете делали умный вид и не помогали словом, и делом — а отправляли в указанном направлении. Здесь я пытаюсь рассказать свой маленький опыт — но может это позволит кому-то легче стартовать.

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

Я даю произвольную (реально существующую) первичную последовательность до 100 нуклеотидов. Указываю все водородные связи которые нужно образовать. Вы на выходе даете мне файл .pdb, в котором третичная структура из указанной первичной последовательности и где образованы все требуемые водородные связи. Ни каких других требований.

Прошу или показать, что это просто или ответственно подтвердить, что эта задача скажем за неделю (или другой разумный срок) — не решается.

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

И снова моей аудитории, которая не является специалистами: важно поверить, что это легко, и не обязательно знать физику, биологию, и сложную математику — надеюсь вы умеете программировать и этого достаточно. Выше кстати, задача, которую мы и будем решать… но не все сразу. По плюсам — я понял что Вы читаете. Но неужели все понятно и нет вопросов? Если что жду комментариев, даже самых наивных. Пора делать эту область исследований хотя бы простой по описанию, а не скрывать ее за не нужными тонами сложностей.

Читать полностью »

Это продолжение статьи Часть №1. Введение в биовычисления по сворачиванию. От белков к РНК. Здесь мы опишем ковалентные и водородные связи математически. Посмотрим какие углы мы будем вращать у РНК для сворачивания. И прикоснемся к вопросу «а в чем трудность то?»

Читать полностью »

Сразу надо сказать, что буду излагать вопрос о биовычислениях с определенной кибернетико-геометрической точки зрения. Это мое название и это направление не распространено. Уверен, что так будет легче понять тем кто не в теме этой биологической проблематики. Те кто уже в теме — готов и с вами подискутировать и показать почему традиционные методы не пригодны с точки зрения кибернетического подхода (но в этой статье не вы моя аудитория — уж извините, но уверен и вам она будет полезна как расширение мировоззрения на проблематику).

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

Но эта задача в общем виде не решена. Это как нерешенные задачи в математике, только с биологическим контекстом (см. парадокс Левинталя). Биологи могут лишь с определенной погрешностью увидеть путем биоэкспериментов состояние в уже свернутом состоянии, но проследить как это происходит пока не возможно. Но все это кроме того очень дорого. Почему и занимаются компьютерными вычислениями — это дешево, даже не смотря на то, что используется тысячи компьютеров в распределенных проектах.

Но введения хватит, далее с корабля на бал…

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js