Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Любая одна функция приводит точку к локальному минимуму, а две функции — к дерганию между их локальными минимумами.
ГА не подходит по той же причине почему и метод отжига :) Конечно, все для этого есть и можно это делать. Но результата не будет — не найдут эти алгоритмы ничего. Я наверно напишу про это отдельную статью на хабре, как ответвление этого цикла статей.
Почему? Если кратко — то потому что это все ОПТИМИЗИРУЮЩИЕ алгоритмы, а что оптимизировать каждый раз не известно. Вот я построил вам целевую функцию — можете оптимизировать. Но на самом деле незачем — т.к. и простой поиск найдет и даже по скорости вряд ли уступит.
Задача тут другая. Вот дальше мы будем образовывать водородные связи не между одной парой нуклеотидов, а между 2-5 парами… и все нужно искать подходящую целевую функцию, старую выкинь и растери. Что тут дадут оптимизирующие алгоритмы? Ничего, они будут искать фигню, т.к. не будут знать как поменялись условия. И так постоянно, шаг за шагом — нужно уточнять целевую функцию. А это не математическая задача, а задача моделирования. Мы хотим шаг за шагом строить все более точную и точную модель, того что имеем. А когда построим не нужны нам будут эти оптимизирующие алгоритмы, т.к. мы поймем что происходит в био. процессе. Понятно излагаю?
Выше я описал две целевые функции
1. locScore = (r1 + r2 + r3 + a1 + a2 + a3)
2. if (maxR > maxA) { locScore = maxR; } else { locScore = maxA; }
Знаете ли вы как их объединить в одну? Т.е. скажем если 5 раз применяли первую целевую функцию, затем 5 раз применяли вторую и получили некий результат (понижение «энергии»). То надо, чтобы функция полученная после объединения, после ее применения 5 раз давала бы такой же результат как если применять первую и вторую по очереди. Возможно ли это?
Часть №4. Биовычисления по сворачиванию. Как оценить ход сворачивания односпиральной РНК?