What: | Lecture |
When: | Sunday, 01 May 2011, 11:15–12:50 |
Where: | ПОМИ РАН |
Slides: | csseminar_lecture_010511.pdf |
Одной из задач в процессе разработки лекарств является задача поиска химических соединений, содержащих заданный фрагмент, в больших базах данных. Такие базы химических соединений содержат описание свойств, способы производства, результаты исследований, ссылки на статьи и другую связанную с данным веществом информацию. Сами молекулы задаются в виде своих структурных формул в виде помеченных графов. С формальной точки зрения задача поиска фрагмента химического соединения в другом соединении - это задача поиска изоморфного подграфа (subgraph isomorphism problem), которая является NP-полный. Обычно размер запроса (фрагмента молекулы) содержит не больше 20 вершин, а количество вершин в молекулах в базе около 100-200, и проверка наличия заданного фрагмента для конкретной молекулы занимает небольшое время (около 0.1-1 мс). Но количество молекул в современных базах данных достигает 40 млн., и поэтому явная проверка наличия изоморфного подграфа для каждого соединения в базе займет очень большое время. Для эффективного поиска используются различные критерии для отсеивания графов, которые заведомо не содержат заданный фрагмент. Одним из таких критериев является проверка на основе битовых отпечатоков
(fingerprints), в которых каждый бит соответствует какому-либо свойству графа.
В докладе будет рассмотрены все промежуточные задачи и основные алгоритмы, которые позволяют производить быстрый поиск химических соединений, а именно:
битовых отпечатковмолекул.