С 1Ь 6 X № в химии и химической технологии. Том XXIV. 2010. № 1 (106)
УДК 510.662
М.С. Шишмарев, А.Н. Диев, JI.O. Хорошавин, А.Н. Шайкин Российский химико-технологический университет им. Д.И. Менделеева, Москва, Россия РЕАЛИЗАЦИЯ МЕТОДА МАСЛОВА
This paper describes the operator to obtain Favorable set. We developed the operator to implement the method of Maslov within our proposed model of logical inference. This implementation takes into account the possibility of joint application the method of Robinson and the method of Maslov. This enables us to accelerate the inference process significantly in the selection of heuristics, and parallel calculations.
В данной работе описан оператор получения благоприятного набора, который нами разработан с целью реализации метода Маслова в рамках предложенной нами модели логического вывода. Данная реализация учитывает возможность совместного применения методов Робинсона и Маслова, что дает возможность при подборе эвристик и распараллеливании значительно ускорить процесс вывода.
В рамках программной реализации модели логического вывода нами введен оператор Маслова, реализованный на языке программирования Delphi 7 в виде подключаемого модуля.
Для поиска вывода в исчислении предикатов существует ряд методов, среди которых выделим методы Робинсона [1] и Маслова [2]. В методе Робинсона на каждом шаге поиска вывода преобразуется некоторое множество дизъюнктов, в методе Маслова - множество благоприятных наборов (БН). Синтезу этих методов посвящена статья [3]. В данной работе опишем предложенный нами оператор получения БН и его программную реализацию.
Для дедуктивного вывода на введенной нами модели [4] выбирается один из квадратов. Для каждого кружка, связанного ребром с данным квадратом, выбираем по одному треугольнику, связанному с упомянутым кружком. Во-первых, такие треугольники можно выбрать, поскольку кружок, не соединенный ни с одним треугольником, свидетельствовал бы о том, что выбранный квадрат соответствует чистому дизъюнкту, а, следовательно, подлежал предварительному удалению вместе с соединенными с ним кружками и инцидентными им ребрами. Во-вторых, проверяем, что к выбранному набору треугольников оператор получения БН еще не применялся. В противном случае заметаем какой-нибудь треугольник другим треугольником, связанным с тем же кружком, так чтобы к выбранному набору треугольников оператор получения БН еще не приметался. Если выбранный набор треугольников является последним для данного квадрата, к которому оператор получения БН еще не применялся, то, после применения к нему оператора, выбранный квадрат удаляется. Также удаляются соединенные с ним кружки, соединенные с теми кружками треугольники и все инцидентные ребра. В-третьих, все кружки, соединенные с выбранными треугольниками, должны иметь допускающие унификацию кортежи переменных, приписанные соединяющим ребрам. При невозможности выбора квадрата с получением описанной унификации, делается заключение о неуспешной попытке вывода. При наличии такой унификации применяем предлагаемый оператор получения БН, а именно, вводим новый треугольник, соединяем с
9
С Яг в X № в химии и химичесгай технологии. Том XXIV. 2010. №1 (106)
ним все кружки, соединенные с выбранными треугольниками, кроме тех из них, которые соединены с выбранным квадратом.
Pre d i cate -O -H L -L -P
Clause£
Clause3 <X_3) (X_3,Y_3)
Pre d i cate -O -H L -L -P
Favs et3
Ravs et5 O)
Favs et6 (b)
Ravs et7 (b)
б)
В)
Predícate -C -H -L
Clause3 |cx_3) (Y_3) (X_3,Y_3)
Predícate -C -H -L
FavsetB (a)
Favset? (b)
FavsetS (a.Y_3)
Рис. 1. Изменение содержимого таблиц при применении оператора получения БН
Если это множество кружков пусто или содержит только кружки, соединенные с квадратами, которым не смежны никакие другие кружки, то вывод успешно завершен. Иначе, ребра, инцидентные новому треугольнику, помечаем кортежами переменных предикатов, соответствующих инцидентным этим ребрам кружкам с учетом унификации.
Для упрощения графа своевременно используем удаление фрагментов графа, избыточных для вывода, по аналогии с тем, как это делалось после применения оператора резольвирования [5], на основании связи между методом
С 1Ь 6 X № в химии и химической технологии. Том XXIV. 2010. № 1 (106)
резолюций и обратным методом. А именно, настройки программы (кнопка Simplify) позволяют выбирать различные варианты упрощения, в том числе удаление бланковых дизъюнктов, факторизацию и поглощение БН.
Бланковым мы называем дизъюнкт, содержащий только один предикат. Под удалением бланкового дизъюнкта понимается удаление в модели: квадрата, соответствующего бланковому дизъюнкту; ребра, инцидентного этому квадрату; кружка, инцидентного этому ребру; ребер, инцидентных этому кружку. Под факторизацией БН понимается устранение в БН предиката, если благоприятный набор имеет другой предикат, одноименный первому предикату с кортежем переменных, допускающим подстановку, сводящую этот кортеж к кортежу первого предиката. Под поглощением БН мы понимаем его удаление, если для этого БН найдется другой БН такой, что для каждого предиката второго БН в первом БН найдется одноименный предикат с кортежем переменных, к которому при некоторой подстановке можно свести кортеж предиката второго БН.
Предложенный нами оператор получения БН имеет программную реализацию. Для применения этого оператора в поле ввода вводится номер дизъюнкта, которому соответствует строка в таблице StringGridl. Оператор добавляет (с учетом унификации) в таблицу StringGrid2 сразу все БН, которые можно получить по выбранному дизъюнкту, после чего удаляет ту строку таблицы StringGridl, по которой он применяется.
На примере 2.23 из книги [6] показано, как работает оператор получения БН (рис. 1). На первом шаге было произведено предварительное удаление бланковых дизъюнктов, на втором - применили оператор по дизъюнкту 2, на третьем - по последнему дизъюнкту 3, после чего получился пустой БН 9 и появилось сообщение (рис. 2) о произведенных для его получения подстановках: Х_3 —» а, Y_3 —» b, Y_2 —» b.
Empty Favset9 >i_3/a|Y_3/b|V_2/b
I_Ш_I
Рис. 2. Сообщение о выводе пустого БН
Программа пока работает пошагово. На каждом шаге пользователь выбирает применяемый оператор: резольвирования или получения БН. При применении оператора резольвирования пользователь должен указать треугольник, к которому будет применяться оператор. В ходе применения оператора резольвирования происходят описанные выше добавления фрагментов графовой модели и удаляется фрагмент, связанный с использованным треугольником. При применении оператора получения БН пользователь должен указать квадрат, к которому будет применяться оператор. Тогда оператор получения БН будет применен сразу ко всем наборам треугольников, которые можно получить для указанного квадрата описанным выше способом. В ходе применения оператора получения БН происходят описанные выше добавления фрагментов графовой модели и удаляется фрагмент, связанный с использованным квадратом. После выполнения каждого шага осуществляется возможное упрощение графовой модели: удаляются фраг-
9
С 11 6 X И в химии и химической технологии. Том XXIV. 2010. № 1 (106)
менты графа, соответствующие образовавшимся, возможно, дизъюнктам-тавтологиям, чистым и бланковым дизъюнктам, упрощается граф с учетом факторизации и поглощения дизъюнктов и БН. После упрощения программа ожидает от пользователя выбора оператора для следующего шага.
Предложенная модель позволяет одновременно использовать как предложенный оператор получения резольвенты, имитирующий шаги вывода в исчислении резолюций, так и предложенный оператор получения нового БН, имитирующий шаги вывода в исчислении БН, что дает возможность при подборе эвристик и распараллеливании значительно ускорить процесс вывода.
Библиографические ссылки
1. A Machine Oriented Logic Based on the Resolution Principle/Robinson J. A. // Journal of the ACM, 1965. V.12. (Русский перевод: Машино-ориентированная логика, основанная на принципе резолюции // Кибернетический сб. Нов. сер. 7. М.: Мир, 1970).
2. Маслов С.Ю. Обратный метод установления выводимости в классическом исчислении/ С.Ю Маслов. // ДАН СССР, 1964. 159. № 1.
3. Давыдов Г.В. Синтез метода резолюций с обратным методом/ Г.В. Давыдов. // Зап. научн. сем. ЛОМИ АН СССР, 1971. 20.
4. Хорошавин JI.O. Модель логического вывода/ JI.O. Хорошавин, М.С. Шишмарев, А.Н. Диев, А.Н. Шайкин // Успехи в химии и химической технологии: Сб. науч. тр. [под ред. П.Д. Саркисова и В.Б. Сажина]; / РХТУ им. Д.И. Менделеева; М.: Изд-во РХТУ им. Д.И. Менделеева, 2010. Т. XXIV (настоящий сборник).
5. Диев А.Н. Реализация метода Робинсона/ А.Н. Диев, JI.O. Хорошавин, М.С. Шишмарев, А.Н. Шайкин. // Успехи в химии и химической технологии: Сб. науч. тр. [под ред. П.Д. Саркисова и В.Б. Сажина]; / РХТУ им. Д.И. Менделеева; М.: Изд-во РХТУ им. Д.И. Менделеева, 2010. Т. XXIV (настоящий сборник).
6. Достоверный и правдоподобный вывод в интеллектуальных системах / под ред. ВН. Вагина, Д. А. Поспелова. 2-е изд. М.: ФИЗМАТ ЛИТ, 2008.
УДК 541.12:665.612 Е В. Писаренко, В В. Фатеев
Российский химико-технологический университет им. Д.И.Менделеева, Москва, Россия.
ИЗУЧЕНИЕ КИНЕТИКИ РЕАКЦИИ СИНТЕЗА ДИМЕТИЛОВОГО ЭФИРА ИЗ МЕТАНОЛА
The reaction mechanism of dymethyl ether synthesis from methanol over new low temperature catalyst has been suggested. Kinetic model corresponding to the proposed mechanism has been developed. Unknown model parameters and parameter combinations in the chosen experimental region were estimated by least squares method. It was proved that developed kinetic model is adequate to experimental data.