Описание программы качественного машинного моделирования
Программа качественного машинного моделирования, представленная в предыдущем разделе, главным образом основана на алгоритме QSIM ([84], [85]). Но в целях упрощения введены некоторые различия между программой, приведенной в листинге 20.2, и первоначальным алгоритмом QSIM. В частности, немного иначе трактуются временные интервалы, что позволяет несколько упростить таблицу переходов между качественными состояниями, реализованы не все типы ограничений, данная программа не вырабатывает новые отметки в процессе моделирования, а в алгоритме QSIM все это предусмотрено. Несмотря на эти различия, приведенное ниже описание преимуществ и недостатков в целом относится к методам машинного моделирования, основанным на использовании качественных дифференциальных уравнений.
Начнем с анализа некоторых преимуществ. Как уже было отмечено, задача формирования качественных моделей обычно проще по сравнению с количественными моделями, к тому же качественные модели в большей степени приемлемы для задач некоторых типов. Кроме того, качественное машинное моделирование по типу QSIM имеет существенное преимущество над числовым машинным моделированием в том, что используемый в нем интервал времени моделирования является адаптивным, тогда как в числовом машинном моделировании интервал времени обычно остается постоянным. Такая гибкость качественного моделирования может оказаться особенно удобной по сравнению с числовым моделированием на основе постоянного временного интервала в тех случаях, когда поведение моделируемой системы резко изменяется. В качестве иллюстрации подобной ситуации снова рассмотрим ванну. До тех пор
Часть II. Применение языка Prolog а области искусственного интеллет
пока уровень воды остается ниже края (top), система ведет себя в соответствии с ограничениями, заданными в модели, а после того как уровень достигает края, может начаться переполнение и переход в другую рабочую область. В связи с этим резко изменяются законы функционирования модели. Поэтому в процессе моделирования важно точно определить тот момент, когда уровень воды достигает края воды. Е методе QSIM событие, связанное с достижением переменной своей отметки, определяется как качественное изменение, поэтому программа моделирования автоматически фиксирует именно тот момент времени, когда Level=top. С другой стороны, в программе числового моделирования с постоянным временным интервалом вероятность того, что уровень будет точно равен высоте края ванны в один из зафиксированных моментов времени, весьма мала. Более вероятно то, что следующее моделируемое значение уровня будет либо ниже края, либо (что недопустимо) немного выше.
Теперь рассмотрим некоторые проблемы, возникающие в процессе моделирования по методу QSIM. На первый взгляд кажется вполне обоснованным утверждение, что качественное моделирование является более экономичным с вычислительной точки зрения по сравнению с числовым моделированием. Но в действительности, как это ни парадоксально, на практике может оказаться истинным обратное. Причина этого состоит в недетерминированности качественного моделирования. Даже а рассматриваемой простой модели ванны формируются три разных варианта поведения, а при использовании более сложных моделей количество возможных вариантов поведения часто растет экспоненциально с увеличением количества переходов между состоянием, что может привести к комбинаторному взрыву. При подобных обстоятельствах метод качественного моделирования становится фактически неприемлемым.
В примере с ванной недетерминированность была обусловлена недостаточным объемом информации в модели. Но все три обнаруженные варианта поведения были совместимыми с моделью. Можно действительно найти такие ванны, при заполнении которых водой происходят события, соответствующие трем качественным вариантам поведения, обнаруженным данной программой машинного моделирования. Поэтому вполне оправданно то, что результаты, полученные с помощью этой программы, разветвляются по трем направлениям. Но при использовании машинного моделирования по .методу QSIM возможен также более проблематичный вид комбинаторного ветвления. Моделирование с помощью такого метода может иногда приводить к формированию вариантов поведения, которые не соответствуют какому-либо из конкретных количественных аналогов качественной модели. Такие варианты поведения являются просто неправильными; они несовместимы с заданной качественной моделью. Эти варианты формально называются фиктивными вариантами поведения (spurious behaviour).
В качестве примера рассмотрим простую колебательную систему, состоящую из скользящего блока и пружины (рис. 20.9). Предполагается, что коэффициент трения между блоком и поверхностью равен нулю. Допустим, что первоначально, в момент времени tO, пружина растянута на свою остаточную длину (X •= zerc) и блок движется с некоторой начальной скоростью vC вправо. После этого значение X возрастет до предела и пружина потянет блок назад, вызывая отрицательное ускорение блока, до тех пор, пока блок не остановится и не начнет движение в противоположном направлении. Затем блок пересечет нулевую отметку с некоторой отрицательной скоростью, достигнет крайней позиции слева и возвратится в положение X - zero. Поскольку трение отсутствует, можно предположить, что в этот момент времени скорость блока снова будет равна vC. В дальнейшем весь этот цикл будет повторяться. Результирующий вариант поведения представляет собой устойчивые колебания.
Проверим эту модель с помощью программы машинного моделирования (см. листинг 20.2). Количественная модель этой системы выглядит так:
А**У. = Ь
Глава 20. Качественные рассуждения
где X — положение блока, А — его ускорение, m — масса, к — коэффициент упругости пружины. Соответствующая качественная модель приведена в листинге 20.5.
пЛАААЛг
Рис. 20.9. Схема механической системы, состоящей из скользящего блока и пружины, е которой отсутствует трение между блоком и поверхностью опоры
Листинг 20.5. Качественная модель системы, состоящей из блока и пружины
landmarks! х
landmark ks( a,
minf, zero, i n fЬ
* Положение блока % Скорость влока % Ускорение блока
correspond; x:zero, a:zero). [ X, v, A]) :-V) |
legalstatet derive У., .,, deriv[ v, A),
MinusA = Й: ,
sum( A, MinusA, a:zero/std), mplus( X, MinusA).
% MinusA = -A
% Пружина тянет блок назад
initial{ [ к:zero/inc, v:vO/std, a:zero/dec]).
Вызовем эту модель на выполнение щего запроса:
?- initial I S), simulate! S, Beh, 11).
Сформированный вариант поведения Beh соответствует ожидаемому вплоть до состояния 8, как показано ниже. [ x:minf..zero/inc, v:zero..vO/inc,a:zero..inf/dec]
После этого варианты поведения разветвляются в трех направлениях. В первой ветви поведение развивается следующим образом:
[x: zero/inc,v:vO..inf/std,а:гего/dec)
В данном случае скорость достигает начального значения скорости vO еще до того, как X становится равным нулю. В тот момент, когда X = zero, скорость уже больше vO. Создается впечатление, что при этом возникает ситуация, невозможная с физической точки зрения, поскольку суммарная энергия в системе возрастает, а сам этот вариант поведения выглядит как возрастание интенсивности колебаний. Во второй ветви за состоянием 8 следуют такие переходы между состояниями:
В данном случае блок достигает позиции X = zero при значении скорости меньше vO. При этом суммарная энергия в системе становится меньше, чем в начальном
из начального состояния с помощью следую-
Часть II. Применение языка Prolog в области искусственного интеллекта
состоянии, поэтому создается впечатление, что колебания затухают. А в третьей ветви за состоянием 8 следуют переходы [к : zero/inc, v:vO/std,a:zero/dec]
Этот вариант развития событий соответствует ожидаемому варианту с устойчивыми колебаниями.
Возникает вопрос: является ли появление этих двух непредвиденных вариантой поведения только следствием отсутствия в качественной модели необходимой информации, или проблема заключается в самом алгоритме машинного моделирования? Можно показать, что в действительности эта модель, хотя и является качественной, содержит достаточно информации, чтобы допускать формирование только варианта с устойчивыми колебаниями. Поэтому остальные два варианта поведения, с возрастающими и затухающими колебаниями, являются математически несовместимыми с данной моделью. Такие варианты называются фиктивными. Недостаток, который приводит к появлению этих вариантов, заключается в алгоритме моделирования. В связи с этим сразу же возникает вопрос о том, почему же нельзя исправить этот дефект в самом алгоритме! Но сложность решения такой задачи состоит в том, что это — не простой дефект, а сложная вычислительная проблема. Для решения укапанной проблемы необходимо найти способ проверки соответствия качественных вариантов поведения всем ограничениям, налагаемым моделью. Алгоритм моделирования по методу QSIM предусматривает проверку совместимости с ограничениями отдельных состояний, а не всех последовательностей этих состояний в целом. Несмотря на то что удалось найти много способов усовершенствования этого алгоритма, позволяющих устранить значительную часть фиктивных вариантов поведения, полное решение этой проблемы еще не обнаружено.
Зная об этом недостатке моделирования по методу QSIM, можем ли мы гарантировать получение приемлемых результатов моделирования? Доказана теорема [84], согласно которой метод QSIM гарантирует выработку всех качественных вариантов поведения, совместимых с моделью. Поэтому неправильные результаты применения этого метода ограничиваются лишь противоположными случаями — при использовании метода QSIM наряду со всеми правильными могут вырабатываться и неправильные варианты поведения, несовместимые с моделью (т.е. фиктивные варианты поведения). На рис. 20.10 показаны отношения между рассматриваемыми уровнями абстракции - обыкновенными дифференциальными уравнениями и их решениями на количественном уровне, с одной стороны, а также качественными дифференциальными уравнениями и качественными вариантами поведения, вырабатываемыми с помощью метода QSIM на качественном уровне, с другой. Те сформированные варианты поведения, которые не представляют собой абстракции каких-либо количественных решений, являются фиктивными.
Практическая значимость такой "односторонней" правильности метода QSIM состоит в следующем. Предположим, что программа машинного моделирования, в которой реализован алгоритм QSIM, сформировала некоторые качественные варианты поведения на основании рассматриваемой модели. Нам известно, что это множество вариантов является полным в том смысле, что в моделируемой системе не существуют какие-либо иные варианты поведения, которые еще не включены в состав этих результатов. Мы знаем, что любые другие варианты не могут возникнуть. Но у нас нет гарантии того, что все сформированные варианты поведения моделируемой системы действительно возможны.
Один из способов устранения фиктивных вариантов поведения состоит в том, чтобы ввести в модель дополнительные ограничения, но при том условии, что должна быть сохранена правильность этой модели. Обычно такая задача является непростой, но в случае механической системы, состоящей из блока и пружины, ее решить несложно. Известно, что энергия в этой системе должна быть постоянной, поскольку отсутствуют потери энергии под действием трения, а также не происходит поступление энергии в систему. Совокупная энергия представляет собой сумму кинетической
Глава 20. Качественные рассуждения
и потенциальной энергии, поэтому ограничение, соответствующее закону сохранения энергии, может быть выражено следующим образом:
1 1
- mv2 + - кх' = const.
2 2
где п. — масса блока, а к •— коэффициент упругости пружины. Но в данном случае достаточно применить упрощенную версию этого ограничения. А именно, из приведенной выше формулы сохранения энергии следует, что при X = 0 справедливо выражение V2 = vO2. Эквивалентное ограничение состоит в том, что если V = vO, то X = 0, а если X = 0, то V = vO или V = -vO. При использовании приведенной ниже модификации модели системы, состоящей из блока и пружины {см. листинг 20.5), фиктивные решения не вырабатываются.
legalstatel [ X, V, А]) :-
derivf X, Vj,
deriv( v. A),
MimisA •= а ;_,
sum( A, MinusA, a:zero/std>P % MinusA = -A
mplus( X, KinusA), % Пружина тянет блок назад
energy[ X, VI. % Слабое ограничение сохранения энергии
energy! X, V) :-
V = v:vO/_, !, У. = x:zero/_ % Если V=vO, то переменная X
% должна окть равна zero
X
x:zero/_, !, V = v:minf..zero/_
% Здесь переменная V % должка Сыть равна -vO
True.
% В прстквном случае X имеет значение, отличное от zero, % и на переменную V не налагаются какие-либо ограничения
ODE
Q3 {фиктивное решение)
DE1
-V-»- S1
DE2
!-*■ S2
ЭЕЗ
S?
Рис. 20.10. Качественные абстракции дифференциальных уравнений и их решений, где QDE — качественная абстракция трех дифференциальных уравнений, DEI, DE2 и DE3. a S1. S2 и S3 - решения этих трех дифференциальных уравнений. Качественные варианты поведения Ql, Q2 и 03 выработаны как решения уравнений QDE; Q1 — качественная абстракция SI, Q2 - абстракция 52 и S3, Q3 - фиктивный вариант, поскольку он не яеяястся абстракцией решения какого-либо из соответствующих дифференциальных уравнений
Часть II. Применение языка Prolog в области искусственного интеллекта
Резюме
■ Решения, полученные в рамках "теоретической" физики, часто содержат гораздо больше числовых данных, чем требуется в повседневной жизни, поэтому в подобных случаях более подходящими являются здравый смысл, качественные рассуждения и "обыденные физические представления".
■ Качественное теоретическое моделирование и качественные рассуждения обычно рассматриваются как абстракция количественного теоретического моделирования и количественных рассуждений. Числа заменяются их знаками (положительными или отрицательными), символическими значениями (иногда называемыми отметками) или интервалами, вместо точных значений времени применяются символические обозначения моментов времени и интервалов, а производные по времени упрощенно представляются в виде направлений изменения (возрастающее, уменьшающееся или постоянное). Конкретные функциональные зависимости могут быть заменены менее определенными, такими как монотонные зависимости.
■ Задача создания качественных моделей является более простой по сравнению с созданием количественных моделей. В связи с недостаточно высокой числовой точностью качественные модели не всегда позволяют получить достаточно точное решение, но в целом являются более подходящими для решения задач диагностики, функциональных рассуждений и проектирования на основе "исходных принципов", например законов физики.
■ При проведении качественных рассуждений арифметические операции упрощенно представляются с помощью качественных арифметических действий. Примером может служить качественное суммирование, в котором учитываются лишь положительные и отрицательные знаки, а также нулевыезначения — pos, zero и neg. Как правило, результаты качественных арифметических действий являются недетерминированными.
■ Качественные дифференциальные уравнения. (Qualitative Differential Equation -QDE) представляют собой абстракцию обыкновенных дифференциальных уравнений. QSIM — это алгоритм качественного моделирования, предназначенный для моделей, которые определены с помощью качественных дифференциальных уравнений. Основная предпосылка, лежащая в основе моделирования по методу QSIM, состоит в том, что кривые, на основании которых разработана модель, являются гладкими - в пределах одной и той же рабочей области, значения переменных могут изменяться только непрерывно.
■ Сложность обеспечения правильного качественного моделирования состоит в том, что вырабатываемые при этом результаты являются полными, но не всегда правильными. Можно сравнительно легко добиться того, чтобы программа моделирования выработала все варианты поведения, совместимые с заданными качественными дифференциальными уравнениями. С другой стороны, гораздо сложнее обеспечить формирование только тех вариантов поведения, которые являются совместимыми с заданными качественными дифференциальными уравнениями. Эта проблема известна как проблема выработки фиктивных вариантов поведения.
■В этой главе рассматривались следующие понятия:
• качественные рассуждения;
• качественное теоретическое моделирование;
• здравый смысл и обыденные физические представления;
• качественные абстракции;
• отметки;
Глава 20, Качественные рассуждения
качественные арифметические операции;
качественная операция суммирования;
качественное дифференциальное уравнение (Qualitative Differential Equation • -QDE);
монотонные функциональные ограничения;
качественное значение, качественное состояние переменной;
качественное машинное моделирование;
алгоритм QSIM;
применение предположения о гладкости кривых в качественном моделировании динамических систем;
непрерывный переход между качественными состояниями;
фиктивный вариант поведения.