19.11.2014 Views

На правах рукописи

На правах рукописи

На правах рукописи

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

элементам, что может быть очень принципиально при обработке больших баз<br />

химических данных.<br />

Третий способ организации наборов фрагментных дескрипторов состоит<br />

в использовании хеш-таблиц (hash tables), под которыми понимается структура<br />

данных, позволяющая ассоциировать ключи (keys) с соответствующими значениями<br />

(values) [314, 315]. Хеш-таблицы позволяют эффективно осуществлять<br />

операцию поиска по таблице (lookup), которая для данного ключа (в данном<br />

случае, кода фрагмента) находит соответствующее значение (в данном случае,<br />

значение фрагментного дескриптора). Операция поиска по таблице осуществляется<br />

путем преобразования ключа (в данном случае, кода фрагмента) при помощи<br />

хеш-функции (hash function) в хеш-код (hash code), т.е. целое число, используемое<br />

как индекс в массиве, позволяющем определить местоположение<br />

участка памяти (bucket), содержащего искомое значение. Таким образом, оказывается<br />

возможным найти значение фрагментного дескриптора путем преобразования<br />

кода фрагмента (в сущности, имени фрагментного дескриптора) в<br />

хеш-код, позволяющий найти положение элемента массива, содержащего все<br />

значения дескрипторов. Однако, поскольку размер такого массива обычно значительно<br />

меньше максимального возможного значения хеш-кода, положение<br />

искомого элемента массива находят как остаток от деления хеш-кода на размер<br />

массива. Эта операция, к сожалению, может приводить к столкновениям данных<br />

(collisions), когда разные ключи указывают на один элемент массива, однако<br />

теория программирования указывает на эффективные способы устранения<br />

столкновений данных (collision resolution) за счет некоторого усложнения<br />

структур данных и алгоритмов работы с ними<br />

Интересная модификация хеш-таблицы, предназначенная для проведений<br />

исследований QSAR, т.н. молекулярная голограмма (molecular hologram), разработана<br />

для целочисленных фрагментных дескрипторов [153]. Для получения<br />

молекулярной голограммы для химического соединения каждый найденный<br />

внутри химической структуры фрагмент кодируется при помощи линейной нотации<br />

SLN (SYBYL Line Notation) [316], потом код фрагмента переводится в<br />

32-битный хэш-код, называемый fragment integer ID при помощи алгоритма<br />

93

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!