Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы выдвижения гипотез о механизмах сложных реакций.doc
Скачиваний:
53
Добавлен:
24.03.2015
Размер:
1.29 Mб
Скачать

3.2.1.3 Ограничения.

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

  • Ограничение на общее число атомов в генерируемой молекуле и на число атомов какого-либо типа (C, H, O, ...). Если такого рода ограничения не заданы, то программу возможно придется останавливать принудительно. В самом деле, если задана трансформация типа M–C + COM–C(O)–C и не задано максимальное число атомов или максимальное число атомов углерода (или кислорода), то программа будет "полимеризовать" CO, образуя M–[C(O)]n–C.

  • Пользователь задает максимальное число валентных электронов, максимальное координационное число и интервал возможных степеней окисления для каждого атома металла. При необходимости пользователь может воспользоваться соответствующими значениями, рекомендуемыми программой. Однако делать это не рекомендуется, так как в этом случае ограничения возможно будут слишком слабыми.

  • Молекулярность трансформаций элементарных реакций не должна превышать 2. Это ограничение не может быть изменено пользователем. Оно, по существу, отражает компромисс между химической и комбинаторной реалиями. При попытке занести в файл трансформацию с тремя реагирующими или образующимися фрагментами команда выполнена не будет.

  • Если пользователь предвидит, что с заданными трансформациями программа будет генерировать нежелательные молекулы, то он может сформулировать, какой именно фрагмент (подструктуру) следует запретить. Перед тем, как записать новое вещество в файл, программа будет проверять, не содержит ли оно запрещенную подструктуру. Если нежелательно появление целой молекулы, а не кого-либо фрагмента, можно запретить и целую молекулу. По мере того, как программа работает, она выводит на экран каждое новое вещество. Пользователь может в любой момент приостановить работу программы и запретить вещество или фрагмент.

  • Некоторые ограничения связаны с числом и величиной заряженных атомов в молекуле (например, число заряженных атомов в одной молекуле не должно превышать некоторого заданного значения). Аналогичные ограничения существуют и для радикальных реакций.

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

3.2.2. Идея алгоритма

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

Естественно, не любая трансформация применима не всегда. Так, трансформация T применима к паре веществ S1 и S2, если

  1. S1 и S2 содержат все фрагменты, описанные в T как "исходные вещества".

  2. Полученные продукты удовлетворяют ограничениям.

  3. Образующиеся продукты отличаются от S1 и S2; то есть вырожденные реакции исключаются, но один из продуктов может быть таким же как S1 или S2.

Аналогичные соображения справедливы для мономолекулярных реакций.