Ограничения. В программе, приведенной в листинге 20.2, реализованы три типа ограничений QDE в виде предикатов deriv( X

В программе, приведенной в листинге 20.2, реализованы три типа ограничений QDE в виде предикатов deriv( X, Y), sum( X, Y, 2), mplus ( X, Y) , Все пара­метры этих предикатов (X, Y и Z) представляют собой качественные состояния пере­менных. Рассмотрим каждое из этих ограничений.

• Ограничение deriv( X, Т). С качественной точки зрения Y - это производ­ная от X по времени. Проверка этого ограничения является очень простой — на­правление изменения переменной X должно соответствовать знаку переменной Y

• Ограничение mplus (X, Y). Переменная Y представляет собой монотонно воз­растающую функцию от X. Здесь X и Y имеют форму Dx:QmagX/DirX и Dy:QmagY/DirY При этом, во-первых, направления изменений должны быть согласованы: DirX = DirY. во-вторых, должны соблюдаться заданные соответ­ствующие значения. Метод проверки второго требования основан на использо­вании относительных качественных величин переменных X и Y (они являют­ся относительными применительно к парам соответствующих значений). На­пример, относительная качественная величина переменной level: zero. , top по отношению к top равна neg. Для каждой пары соответствующих значений качественные величины переменных х и у преобразуются в относительные ка­чественные величины. Результирующая относительная качественная величина переменной X должна быть равна таковой для переменной Y,

• Ограничение sum( XF Y, Z). Это ограничение соответствует выражению X + Y = 2, в котором все переменные (X, Y и Z) представляют собой качест­венные состояния переменных в форме Domain:Qmag/Dir, Этому ограничению суммирования должны соответствовать и направления изменений, и качест­венные величины. Во-первых, проверяется согласованность направлений изме­нений. Например, выражение

inc + std - inc

является истинным, а следующее выражение — • ложным: inc + std = std

Во-вторых, качественные величины должны быть согласованы с операцией суммирования. В частности, они должны быть согласованы по отношению ко всем заданным соответствующим значениям, выбранным среди значение" X, "tи Z. Ниже приведены три примера качественных величин, удовлетворяющих ограничению sum.


Глава 20. Качественные рассуждения



flow:zero + flow:inflow = flow:inflow

flow:zero..inflow + flow:zero..inflow • flow:inflow

flow:zero.,inflow + flow:гего..inflow = flow:гего..inflow

Но следующее выражение является ложным: flow:zero.inflow + flow:inflow= flow:inflow

Метод проверки согласованности качественных величин по отношению к соответ­ствующим значениям состоит в следующем. Вначале необходимо преобразовать за­данные качественные величины в относительные качественные величины (они явля­ются относительными применительно к соответствующим значениям). Затем необхо­димо проверить согласованность этих относительных качественных значений применительно к операции качественного суммирования. Рассмотрим следующий пример: sum! flow:zero..inflow/inc, flow:zero..inflow/dec, flow:inflow/std)

Во-первых, направления изменений соответствуют ограничению: inc+dec = std. Во-вторых, рассмотрим три соответствующих значения для операции суммирования, которая при любых условиях является действительной: correspond I sural Di:zero, D2:Land, D2:Land)]

где Dl и D2 - области определения, a Land - отметкав области определения D2. Применяя это выражение к области определения потока, получим следующее: correspond! sum! flcw:zero, flow:inflow, flow:inflow))

Являются ли качественные величины в ограничении sum согласованными с этими соответствующими значениями? Для проверки этого преобразуем три качественные величины в ограничении sum в относительные качественные величины следующим образом:

flow:zero..inflow соответствует 'pos'относительно flow:zero flow:zero..inflow соответствует 'neg 1 относительно flow:inflow flow:inflow соответствует 'гего' относительно flow:inflow

Теперь эти относительные качественные величины должны удовлетворять ограни­чению qsum [ pos, лед, zero). Такое утверждение является истинным.

Математические основы для этой процедуры проверки ограничения sum состоят в следующем. Предположим, что ограничение представлено в виде выражения su:n(X,Y,Z) с тремя соответствующими значениями (хО, уО, zC). Переменные X, Y и Z могут быть представлены в терминах их отличий от соответствующих значений та­ким образом:

X = хО т ЛХ, Y = уО + ДХ, Z = zO + AZ

В таком случае ограничение sum означает следующее:

хО + Дх + уО + AY - zO * дг

Поскольку х. О+ уО = zO, можно сделать вывод, что ДХ + AY = AZ. Знаки пере­менных ДХ, AY и Дг определяют относительные качественные величины переменных X, Y и Z применительно к переменным хО, уО и zO. Эти относительные качественные величины должны удовлетворять отношению qsum.