Матрица, связанная с разностью
В проверке моделей , области информатики , матрица границ различий (DBM) — это структура данных, используемая для представления некоторых выпуклых многогранников , называемых зонами . Эту структуру можно использовать для эффективной реализации некоторых геометрических операций над зонами, таких как проверка пустоты, включения, равенства, а также вычисление пересечения и суммы двух зон. Он, например, используется в средстве проверки моделей Uppaal ; где он также распространяется как независимая библиотека. [ 1 ]
Точнее, есть понятие канонической DBM; между каноническими DBM и зонами существует взаимно однозначное отношение, и на основе каждого DBM можно эффективно вычислить канонический эквивалент DBM. Таким образом, равенство зон можно проверить, проверив равенство канонических DBM.
Зона
[ редактировать ]Матрица границ разностей используется для представления некоторых выпуклых многогранников. Эти многогранники называются зоной . Теперь они определены. Формально зона определяется уравнениями вида , , и , с и некоторые переменные и константа.
Зоны изначально назывались регионами . [ 2 ] но в настоящее время это название обычно обозначает регион , особый вид зоны. Интуитивно регион можно рассматривать как минимальную непустую зону, в которой ограничены константы, используемые в ограничении.
Данный переменные, есть ровно возможны различные неизбыточные ограничения, ограничения, которые используют одну переменную и верхнюю границу, ограничения, в которых используется одна переменная и нижняя граница, и для каждого из упорядоченные пары переменных , верхняя граница . Однако произвольный выпуклый многогранник в может потребовать сколь угодно большого числа ограничений. Даже когда , может существовать сколь угодно большое количество неизбыточных ограничений , для некоторые константы. По этой причине ДБМ не могут быть расширены от зон до выпуклых многогранников.
Пример
[ редактировать ]Как указано во введении, мы рассматриваем зону, определяемую набором утверждений вида , , и , с и некоторые переменные и константа. Однако некоторые из этих ограничений либо противоречивы, либо избыточны. Мы сейчас приведем такие примеры.
- ограничения и противоречивы. Следовательно, когда найдены два таких ограничения, определенная зона пуста.
- ограничения и являются излишними. Второе ограничение подразумевается первым. Следовательно, когда в определении зоны обнаружены два таких ограничения, второе ограничение может быть удалено.
Мы также приводим пример, показывающий, как генерировать новые ограничения из существующих ограничений. Для каждой пары часов и , DBM имеет ограничение вида , где либо <, либо ≤. Если такое ограничение не может быть найдено, ограничение могут быть добавлены к определению зоны без потери общности. Но в некоторых случаях можно найти более точное ограничение. Сейчас будет приведен такой пример.
- ограничения , подразумевает, что . Таким образом, предполагая, что никакие другие ограничения, такие как или принадлежит определению, ограничению добавляется в определение зоны.
- ограничения , подразумевает, что . Таким образом, предполагая, что никакие другие ограничения, такие как или принадлежит определению, ограничению добавляется в определение зоны.
- ограничения , подразумевает, что . Таким образом, предполагая, что никакие другие ограничения, такие как или принадлежит определению, ограничению добавляется в определение зоны.
На самом деле, два первых случая, приведенных выше, являются частными случаями третьих случаев. Действительно, и можно переписать как и соответственно. И таким образом, ограничение добавленное в первом примере аналогично ограничению, добавленному в третьем примере.
Определение
[ редактировать ]Теперь исправим моноид которое является подмножеством реальной линии. Этот моноид традиционно представляет собой набор целых , рациональных , действительных чисел или их подмножество неотрицательных чисел.
Ограничения
[ редактировать ]Чтобы определить матрицу границ различий структуры данных , сначала необходимо задать структуру данных для кодирования атомарных ограничений. Кроме того, мы вводим алгебру для атомарных ограничений. Эта алгебра похожа на тропическое полукольцо с двумя модификациями:
- Вместо .
- Чтобы отличить " " и " ", набор элементов алгебры должен содержать информацию о том, является ли порядок строгим или нет.
Определение ограничений
[ редактировать ]Набор выполнимых ограничений определяется как набор пар вида:
- , с , которое представляет ограничение формы ,
- , с , где не является минимальным элементом , которое представляет ограничение формы ,
- , что означает отсутствие ограничений.
Набор ограничений содержит все выполнимые ограничения, а также следующее невыполнимое ограничение:
- .
Подмножество не может быть определен с использованием такого рода ограничений. В более общем смысле, некоторые выпуклые многогранники не могут быть определены, если упорядоченный моноид не имеет свойства наименьшей верхней границы , даже если каждое из ограничений в его определении использует не более двух переменных.
Операция над ограничениями
[ редактировать ]Чтобы сгенерировать одно ограничение из пары ограничений, примененных к одной и той же (паре) переменных, мы формализуем понятие пересечения ограничений и порядка над ограничениями. Аналогично, чтобы определить новые ограничения на основе существующих ограничений, необходимо также определить понятие суммы ограничений.
Порядок ограничений
[ редактировать ]Теперь мы определим отношение порядка над ограничениями. Этот порядок символизирует отношение включения.
Во-первых, набор рассматривается как упорядоченный набор, где < уступает ≤. Интуитивно этот порядок выбран потому, что набор, определенный формулой строго входит в набор, определяемый . Затем мы утверждаем, что ограничение меньше, чем если либо или ( и меньше, чем ). То есть порядок ограничений — это лексикографический порядок, применяемый справа налево. Обратите внимание, что этот заказ является общим заказом . Если имеет свойство наименьшей верхней границы (или свойство наибольшей нижней границы ), то оно также имеется в наборе ограничений.
Пересечение ограничений
[ редактировать ]Пересечение двух ограничений, обозначаемых как , тогда просто определяется как минимум из этих двух ограничений. Если имеет свойство наибольшей нижней границы, то также определено пересечение бесконечного числа ограничений.
Сумма ограничений
[ редактировать ]Даны две переменные и к которому применяются ограничения и , теперь мы объясним, как сгенерировать ограничение, удовлетворяющее . Это ограничение называется суммой двух вышеупомянутых ограничений и обозначается как и определяется как .
Ограничения как алгебра
[ редактировать ]Вот список алгебраических свойств, которым удовлетворяет набор ограничений.
- Обе операции ассоциативны и коммутативны ,
- Сумма является дистрибутивной по пересечению, то есть для любых трех ограничений равно ,
- Операция пересечения идемпотентна,
- Ограничение является идентификатором операции пересечения,
- Ограничение является тождеством операции суммирования,
Кроме того, над выполнимыми ограничениями справедливы следующие алгебраические свойства:
- Ограничение является нулем для операции суммирования,
- Отсюда следует, что множество выполнимых ограничений представляет собой идемпотентное полукольцо с как ноль и как единство.
- Если 0 является минимальным элементом , затем является нулем для ограничений пересечения выполнимых ограничений.
При невыполнимых ограничениях обе операции имеют один и тот же нуль, что . Таким образом, набор ограничений даже не образует полукольца, поскольку единица пересечения отлична от нуля суммы.
СУБД
[ редактировать ]Учитывая набор переменные, , DBM представляет собой матрицу со столбцом и строками, индексированными и записи являются ограничениями. Интуитивно, для столбца и ряд , значение на позиции представляет . Таким образом, зона, определяемая матрицей , обозначенный , является .
Обратите внимание, что эквивалентно , таким образом, запись по сути, по-прежнему является верхней границей. Однако заметим, что, поскольку мы рассматриваем моноид , для некоторых значений и настоящий фактически не принадлежит моноиду.
Прежде чем ввести определение канонической DBM, нам необходимо определить и обсудить отношение порядка к этим матрицам.
Закажите эти матрицы
[ редактировать ]Матрица считается меньшим, чем матрица если каждая из его записей меньше. Обратите внимание, что этот заказ не является полным. Учитывая два DBM и , если меньше или равно , затем .
Наибольшая нижняя граница двух матриц и , обозначенный , имеет в качестве введите значение . Обратите внимание, что поскольку – операция «суммы» полукольца ограничений, операция представляет собой «сумму» двух DBM, где набор DBM рассматривается как модуль .
Аналогично случаю ограничений, рассмотренному выше в разделе «Действие с ограничениями», наибольшая нижняя граница бесконечного числа матриц правильно определена, как только удовлетворяет свойству наибольшей нижней границы.
Определяется пересечение матриц/зон. Операция объединения не определена, и действительно, объединение зоны не является зоной вообще.
Для произвольного набора матриц, которые все определяют одну и ту же зону , также определяет . Отсюда следует, что, пока имеет свойство наибольшей нижней границы: каждая зона, определяемая хотя бы матрицей, имеет уникальную определяющую ее минимальную матрицу. Эта матрица называется канонической DBM .
Первое определение канонической DBM
[ редактировать ]Мы переформулируем определение канонической разностной связанной матрицы . Это DBM, в котором никакая меньшая матрица не определяет тот же набор. Ниже объясняется, как проверить, является ли матрица DBM, и как вычислить DBM из произвольной матрицы, чтобы обе матрицы представляли один и тот же набор. Но сначала приведем несколько примеров.
Примеры матриц
[ редактировать ]Сначала рассмотрим случай, когда имеются одни часы. .
Настоящая линия
[ редактировать ]Сначала мы даем каноническую DBM для . Затем мы вводим еще одну DBM, которая кодирует набор . Это позволяет найти ограничения, которым должна удовлетворять любая DBM.
Каноническая DBM множества вещественных есть . Он представляет собой ограничения , , и . Все эти ограничения выполняются независимо от значения, присвоенного . В оставшейся части обсуждения мы не будем явно описывать ограничения, обусловленные записями вида , поскольку эти ограничения систематически выполняются.
ДБМ также кодирует множество вещественных чисел. Он содержит ограничения и которые удовлетворяются независимо от значения . Это показывает, что в канонической DBM , диагональный вход никогда не превышает , поскольку матрица, полученная из заменив диагональную запись на определяет тот же набор и меньше, чем .
Пустой набор
[ редактировать ]Теперь мы рассмотрим множество матриц, каждая из которых кодирует пустой набор. Сначала мы даем каноническую DBM для пустого множества. Затем мы объясним, почему каждый из DBM кодирует пустой набор. Это позволяет найти ограничения, которым должна удовлетворять любая DBM.
Каноническая DBM пустого множества по одной переменной есть . Действительно, оно представляет собой множество, удовлетворяющее ограничению , , и . Эти ограничения невыполнимы.
ДБМ также кодирует пустой набор. Действительно, оно содержит ограничение что неудовлетворительно. В более общем плане это показывает, что ни одна запись не может быть если все записи не .
ДБМ также кодирует пустой набор. Действительно, оно содержит ограничение что неудовлетворительно. В более общем плане это показывает, что запись в диагональной линии не может быть меньше, чем если это не .
ДБМ также кодирует пустой набор. Действительно, он содержит ограничения и которые противоречивы. В более общем плане это показывает, что для каждого , если , затем и оба равны ≤.
ДБМ также кодирует пустой набор. Действительно, он содержит ограничения и которые противоречивы. В более общем плане это показывает, что для каждого , , пока не является .
Строгие ограничения
[ редактировать ]Примеры, приведенные в этом разделе, аналогичны примерам, приведенным в разделе «Примеры» выше. На этот раз они указаны как DBM.
ДБМ представляет набор, удовлетворяющий ограничениям и . Как упоминалось в разделе «Примеры», оба этих ограничения подразумевают, что . Это означает, что ДБМ кодирует одну и ту же зону. Собственно, это ДБМ этой зоны. Это показывает, что в любой DBM , для каждого , ограничение меньше ограничения .
Как поясняется в разделе «Примеры», константу 0 можно рассматривать как любую переменную, что приводит к более общему правилу: в любой DBM , для каждого , ограничение меньше ограничения .
Три определения канонического DBM
[ редактировать ]Как объяснялось во введении к разделу «Матрица границ различий» , каноническая DBM — это DBM, строки и столбцы которой индексируются , чьи записи являются ограничениями. Кроме того, оно следует одному из следующих эквивалентных свойств.
- нет меньших DBM, определяющих одну и ту же зону,
- для каждого , ограничение меньше ограничения
- учитывая ориентированный граф с краями и стрелки помечены , кратчайший путь от любого ребра до любого края это стрелка . Этот граф называется потенциальным графом ДБМ.
Последнее определение можно напрямую использовать для вычисления канонического DBM, связанного с DBM. Достаточно применить алгоритм Флойда – Уоршалла и сопоставить его с каждой записью. к графу кратчайший путь из к в графике. Если этот алгоритм обнаруживает цикл отрицательной длины, это означает, что ограничения невыполнимы и, следовательно, зона пуста.
Операции над зонами
[ редактировать ]Как говорилось во введении, основной интерес DBM заключается в том, что они позволяют легко и эффективно выполнять операции над зонами.
Сначала напомним операции, рассмотренные выше:
- тестирование на включение зоны в зоне делается путем проверки того, является ли каноническая DBM меньше или равно DBM ,
- DBM для пересечения набора зон представляет собой максимальную нижнюю границу DBM этих зон,
- проверка на пустоту зоны заключается в проверке того, состоит ли каноническая ДБМ зоны только из ,
- проверка того, является ли зона всем пространством, заключается в проверке того, состоит ли ДБМ зоны только из .
Опишем теперь операции, которые не рассматривались выше. Первые описанные ниже операции имеют ясный геометрический смысл. Последние становятся соответствующими операциям, более естественным для часовых оценок.
Сумма зон
[ редактировать ]двух Сумма Минковского зон, определяемая двумя DBM. и , определяется DBM чей запись . Обратите внимание, что поскольку – операция «произведения» полукольца ограничений, операция над DBM на самом деле не является операцией модуля DBM .
В частности, отсюда следует, что для перевода зоны по направлению , достаточно добавить DBM в DBM .
Проекция компонента на фиксированное значение
[ редактировать ]Позволять константа.
Учитывая вектор и индекс , проекция -й компонент к вектор . На языке часов, для , это соответствует сбросу -ые часы.
Проектирование -я компонента зоны к состоит просто из набора векторов со своими -й компонент . Это реализовано в DBM путем установки компонентов к и компоненты к
Будущее и прошлое зоны
[ редактировать ]Назовем будущее зоной и прошлая зона . Учитывая точку , будущее определяется как и прошлое определяется как .
Названия будущее и прошлое происходят от понятия часов . Если набор из часы присваиваются значениям , и т. д., тогда в их будущем набор заданий, которые они получат, будет будущим .
Учитывая зону , будущее являются объединением будущего каждой точки зоны. Определение прошлого зоны аналогично. Таким образом, будущее зоны можно определить как и, следовательно, может быть легко реализован как сумма DBM. Однако существует еще более простой алгоритм, применимый к DBM. Достаточно изменить каждую запись к . Аналогично, прошлое зоны можно вычислить, установив все записи к .
См. также
[ редактировать ]- Регион (проверка модели) – минимальная при включении зона, удовлетворяющая некоторым свойствам.
Ссылки
[ редактировать ]- ^ «Библиотека УПААЛ ДБМ» . Гитхаб . 16 июля 2021 г.
- ^ Дилл, Дэвид Л. (1990). «Допущения о времени и проверка параллельных систем с конечным состоянием». Методы автоматической верификации конечных систем . Конспекты лекций по информатике. Том. 407. стр. 197–212. дои : 10.1007/3-540-52148-8_17 . ISBN 978-3-540-52148-8 .
- Матрицы, связанные с разностями. Лекция № 20 «Продвинутая проверка моделей» Йост-Питер Катоен
- Перон, Матиас; Хальбвакс, Николас (2008). «Абстрактная область, расширяющая матрицы, связанные с разностью, с ограничениями неравенства» (PDF) . Верификация, проверка модели и абстрактная интерпретация . Конспекты лекций по информатике. Том. 4349. стр. 268–282. дои : 10.1007/978-3-540-69738-1_20 . ISBN 978-3-540-69735-0 .