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

2.2. Программа mechem

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

[известные регенты] X + Y

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

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

При формировании каждого механизма программа осуществляет перебор возможных продуктов каждой стадии, а затем самих стадий. Поиск механизмов осуществляется в порядке усложнения механизмов. В начале программа ищет механизмы с одним гипотетическим веществом, затем с двумя, с тремя и т. д. Кроме того, при некотором фиксированном числе гипотетических веществ программа сначала ищет механизмы с меньшим числом стадий.

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

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

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

Рассмотрим использование программы MECHEM на примере реакции гидрохлорирования ацетилена.

Вначале задаются реагенты (C2H2, HCl, M) и продукты (винилхлорид) и указывается максимальная валентность каждого атома: C(4), H(1), Cl(1), M(2). затем вводятся ограничения. В нашем случае мы решили для начала использовать ограничение на стехиометрию итоговой реакции:

C2H2+ HClCH2=CHCl

Такое ограничение не является обязательным (скорее наоборот), оно использовано, чтобы привести все рассматриваемые здесь примеры “к общему знаменателю”.1

Затем мы просто запустили программу и получили один единственный механизм, состоящий из реакции, которую мы считаем итоговой. Программа не использовала катализатор M, так как ей никто не сказал, что это нужно сделать. Мы решили исправить эту ошибку и попросили программу использовать катализатор в следущем эксперименте. Для этого добавили ограничение, что атом металла M должен участвовать в каждой реакции. С этими двумя ограничениями запустили программу снова, и она возвратила нам 45 механизмов (попробуйте их перечислить!). Конечно, в них было много химических ошибок. Посмотрим, какие интермедиаты придумала программа:

M–CH=CH

M=C=CH2

MH–CCH

H–M–Cl

H–M–CH=CH–Cl

H–M–CH=C

H–M–CHCl–CH

M–CH2–C

Cl–M–CH=CH2

Cl–M–CH2–CH

M–CHCl–CH2

HM–CCl=CH2

M–CH2–CHCl

M=C=CH–CH=CH2

M=CH–CH2Cl

H–M–CH2–CCl

H–M–CC–CH=CH2

CH–M–CH

CHCl–M–CH2

CH2=CH–M–CCH

M=CCl–CH3

CH2=CH–M–CH=C

M=CH–C–CH=CH2

CH2=CH–C–M–CH

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

(1)

1. M + HCl –(1)H–M–Cl 2. HCCH + H–M–Cl –(1)H–M–CH=CHCl 3. H–M–CH=CHCl –(1)M + CH2=CHCl

(2)

1. M + HCl (0)H–M–Cl 2. HCCH + H–M–Cl –(1)H–M–CH=CHCl 3. HCl + H–M–CH=CHCl –(1)CH2=CHCl + H–M–Cl

(3)

1. M + HCl –(1)H–M–Cl 2. HCCH + H–M–Cl –(1)Cl–M–CH=CH23. Cl–M–CH=CH2–(1)M + CH2=CHCl

(4)

1. M + HCl (0)H–M–Cl 2. HCCH + H–M–Cl –(1)Cl–M–CH=CH23. HCl + Cl–M–CH=CH2–(1)CH2=CHCl + H–M–Cl

(5)

1. HCCH + M –(1)2. HCl +–(1)3.–(1)M + CH2=CHCl

(6)

1. HCCH + M(0)2. HCCH +–(1)3. HCl +–(1)CH2=CHCl +

(7)

1. HCCH + M –(1)M=C=CH22. HCl + M=C=CH2–(1)M=CCl–CH33. M=CCl–CH3–(1)M + CH2=CHCl

(8)

1. HCCH + M –(1)M=C=CH22. HCl + M=C=CH2–(1)M=CH–CH2Cl 3. M=CH–CH2Cl –(1)M + CH2=CHCl

(9)

1. HCCH + M –(1)M=C=CH22. HCl + M=C=CH2–(1)Cl–M–CH=CH23. Cl–M–CH=CH2–(1)M + CH2=CHCl

(10)

1. HCCH + M –(1)M=C=CH22. HCl + M=C=CH2–(1)H–M–CCl=CH23. H–M–CCl=CH2–(1)M + CH2=CHCl

(11)

1. HCCH + M(0)M=C=CH22. HCCH + M=C=CH2–(1)M=C=CH–CH=CH23. HCl + M=C=CH–CH=CH2–(1)CH2=CHCl + M=C=CH2

(12)

1. HCCH + M –(1)H–M–CCH 2. HCl + H–M–CCH –(1)H–M–CCl=CH23. H–M–CCl=CH2–(1)M + CH2=CHCl

(13)

1. HCCH + M(0)H–M–CCH 2. HCl + H–M–CCH –(1)H–M–CCl=CH23. HCCH + H–M–CCl=CH2–(1)CH2=CHCl + H–M–CCH

(14)

1. HCCH + M –(1)H–M–CCH 2. HCl + H–M–CCH –(1)H–M–CH=CHCl 3. H–M–CH=CHCl –(1)M + CH2=CHCl

(15)

1. HCCH + M(0)H–M–CCH 2. HCl + H–M–CCH –(1)H–M–CH=CHCl 3. HCCH + H–M–CH=CHCl –(1)CH2=CHCl + H–M–CCH

(16)

1. HCCH + M(0)H–M–CCH 2. HCCH + H–M–CCH –(1)CH2=CH–M–CCH 3. HCl + CH2=CH–M–CCH –(1)CH2=CHCl + H–M–CCH

(17)

1. HCCH + M(0)H–M–CCH 2. HCCH + H–M–CCH –(1)H–M–CC–CH=CH23. HCl + H–M–CC–CH=CH2–(1)CH2=CHCl + H–M–CCH

Стехиометрическое число, равное нулю означает, что соответствующая стадия участвует в формировании катализатора и не входит в каталитический цикл.

В этих семнадцати механизмах не фигурируют такие частицы как H+иCl, так как программа генерирует сначала более простые механизмы. Если бы мы ввели ограничения, исключающие эти механизмы,или потребовали получить механизмы с большим числом веществ и стадий, то эти ионы рано или поздно появились бы.