차이경계행렬
Difference bound matrix컴퓨터 과학 분야인 모델 체크에서 차이 바운드 매트릭스(DBM)는 영역이라 불리는 일부 볼록한 폴리토페스를 나타내기 위해 사용되는 데이터 구조다.이 구조는 두 구역의 합계와 교차점 및 교차점 계산과 같은 구역에 대한 일부 기하학적 연산을 효율적으로 구현하기 위해 사용될 수 있다.예를 들어, 그것은 Uppaal 모델 체커에서 사용된다. 그곳에서 그것은 독립 도서관으로도 배포된다.[1]
더 정확히 말하면, 표준 DBM의 개념이 있다; 표준 DBM과 구역 사이에는 일대일 관계가 있고 각 DBM으로부터 표준 등가 DBM을 효율적으로 계산할 수 있다.따라서 표준 DBM의 동일성을 확인함으로써 구역의 동일성을 시험할 수 있다.
구역
차이 바운드 행렬은 볼록한 폴리토페스의 어떤 종류를 나타내기 위해 사용된다.그 다층동물들은 존이라고 불린다.그들은 이제 정의되었다.Formally, a zone is defined by equations of the form , , and , with and 변수 및 c 상수.
구역은 원래 지역이라고 불렸지만,[2] 오늘날 이 이름은 보통 특별한 종류의 구역인 지역을 의미한다.직관적으로, 영역은 제약조건에서 사용되는 상수가 경계를 이루는 최소 비빈 영역으로 간주될 수 있다.
개의 변수를 지정하면 n(+ 1) n1)의 서로 다른 비중복 제약 조건 단일 변수와 상한 값을 사용하는 } 제약 조건, 각 변수마다 n ( + )가 있다. 2}}의 쌍, ) 에 대한 상한 값 R ^{의 임의 볼록 폴리토프는 임의적으로 많은 수의 제약 조건을 요구할 수 있다= 일 때도 i i}_{ 상수에 대해 임의로 수의 비중복 제약이 있을 수 있다DBM을 구역에서 볼록폴리스로 확장할 수 없는 이유다.
예
As stated in the introduction, we consider a zone defined by a set of statements of the form , , and , with 및 }}개의 변수와 상수.그러나 그러한 제약조건들 중 일부는 모순적이거나 중복적이다.우리는 이제 그런 예를 든다.
- 제약 조건 3 과(와) 4 4은(와) 모순된다.따라서 두 가지 그러한 제약조건이 발견되면 정의된 구역은 비어 있다.
- 제한조건 3 및 x 4 은(는) 중복된다.첫번째가 암시하는 두 번째 제약조건.따라서 두 개의 그러한 제약조건이 구역의 정의에서 발견될 때 두 번째 제약조건은 제거될 수 있다.
우리는 또한 기존 제약조건으로부터 새로운 제약조건을 생성하는 방법을 보여주는 예를 제시한다.각 시계 x 및 DBM에는 x + c 형식의 제약 조건이 있으며 여기서 \p \}은} 또는 }이다.그러한 제약조건을 찾을 수 없는 경우, x 2+ 을(를) 구역 정의에 일반성의 손실 없이 추가할 수 있다.그러나 경우에 따라서는 좀 더 정밀한 제약을 발견할 수 있다.이제 그런 예가 주어질 것이다.
- 제약 조건 - 3 은(는) + 6 을(를) 함축함Thus, assuming that no other constraint such as or belongs to the definition, the constraint is added to the zone definition.
- 제약 조건 3 + 은 x 1 x_ 6을 암시한다따라서 ≤ 5 또는 < 6 같은 다른 제약 조건이 정의에 속하지 않는다고 가정하면, 제약 조건 1 {\이 영역 정의에 추가된다.
- 제한조건 + + 3(\ x + 은는) 1 x 을 함Thus, assuming that no other constraint such as or belongs to the definition, the constraint is added to the zone definition.
실제로 위의 두 가지 첫 번째 사례는 세 번째 경우의 특정한 경우다. ≤ 및 x - { - 3 - 3 { + { + 3 {{ + + + + + + + + + + + + x x x x x x x x x x x x x x x x x x x x x x + + x x x x x +따라서 첫 번째 예에 추가된 x x + 은 세 번째 예에 추가된 제약조건과 유사하다.
정의
이제 실제 라인의 하위 집합인 모노이드, ,+) 스타일을(를) 수정한다.이 모노이드(monoid)는 전통적으로 정수, 이성, 현실 또는 비 음수의 부분집합이다.
제약
데이터 구조 차이 바인딩 매트릭스를 정의하기 위해서는 먼저 원자 제약 조건을 인코딩하는 데이터 구조를 제공해야 한다.게다가, 우리는 원자 제약에 대한 대수학을 도입한다.이 대수학(大學)은 다음과 같이 두 가지 수정으로 열대 세미링과 유사하다.
- ℝ 대신 임의로 주문한 모노이드를 사용할 수 있다.
- 과 "을(를) 구별하기 위해 대수 원소 집합에는 순서가 엄격한지 여부를 나타내는 정보가 포함되어야 한다.
제약 조건의 정의
만족스러운 제약조건의 집합은 형태 쌍들의 집합으로 정의된다.
- , ) , with M m\\M }m 형식의 구속조건을 나타낸다
- , ) m M{\가) 있는 경우 서 m{\ 은(는) 형식의 제약조건을 나타내는 M}의 최소 요소가 아니다
- ,) 제약이 없음을 나타낸다.
제약조건 집합에는 만족스러운 제약조건이 모두 포함되어 있으며 다음과 같은 불만족스러운 제약조건도 포함되어 있다.
- ,- )
부분 집합 { q {\in \ \{\2}}\}}}}은(는) 이러한 종류의 제약 조건을 사용하여 정의할 수 없다.보다 일반적으로, 순서의 모노이드에 최소 상한 속성이 없는 경우, 비록 정의의 제약조건이 각각 최대 두 개의 변수를 사용하더라도, 일부 볼록한 폴리토프는 정의할 수 없다.
제약조건에 대한 작업
동일한 (페어) 변수에 적용되는 제약조건 쌍으로부터 단일 제약조건을 생성하기 위해 제약조건과 제약조건에 대한 질서의 교차 개념을 공식화한다.마찬가지로, 기존 제약조건으로부터 새로운 제약조건을 정의하기 위해서는 제약조건의 합계의 개념도 정의되어야 한다.
제약조건순서
우리는 이제 제약에 대한 주문 관계를 정의한다.이 순서는 포용 관계를 상징한다.
먼저 세트{< , } 을(를) 순서 세트로 간주하며 < ≤보다 열등하다.때문에 집합을 x의<>에 의해 정의한 요리{\displaystyle x<, 요리}은 집합 x≤ c{x\leq c\displaystyle}로 정의된은 직관적으로, 있습니다. 이 질서 우리들은 그때 제약 조건은(≺ 1, m1){\displaystyle(\prec_{1},m_{1})}(≺ 2, m2){\displaystyle(\prec보다 작은 있다고 말한다로 선택된다. _{2}, < m 1}{2}} 또는 ( 1= 2 }} 및 1 }}{1이(가) 2 {\1}보다 작으면{1}즉, 제약에 관한 순서는 오른쪽에서 왼쪽으로 적용되는 사전 순서다.이 주문은 총 주문이라는 점에 유의하십시오. 에 최소 상한 속성(또는 최대 하한 속성)이 있는 경우 제약 조건 집합에도 해당 속성이 있다.
제약 조건의 교차점
그런 다음 (1, ) , m 2) { (≺ 2, 2 ) {\로 표시된 두 제약조건의 교차점은 간단히 두 제약조건의 최소값으로 정의된다 이(가) 가장 큰 하한 속성을 갖는 경우 제약 조건의 교차점도 정의된다.
제약 조건의 합
Given two variables and to which are applied constraints and , we now explain how to generate the constraint satisfied by . This constraint is called the sum of the two above-mentioned constraint, is denoted as and is defined as .
대수로서의 제약조건
다음은 제약조건 집합에 의해 충족되는 대수적 속성의 목록이다.
- 두 수술 모두 연관성이 있고 상호 작용하지만
- Sum is distributive over intersection, that is, for any three constraints, equals _
- 교차로 운영은 공전점이고
- 제약 조건 ,) 은 교차로 작업에 대한 ID,
- 제약 조건 , ){\은(는) 합계 작업에 대한 ID,
더욱이 다음과 같은 대수적 속성은 만족스러운 제약조건을 지탱한다.
- 제약 조건 ,) )}은 합계 작업에 대한 0이다.
- 만족스러운 제약조건 집합은 무의미한 의미 부여로서, ,∞ ) 은 0으로, (, 0) 은 통일로 한다.
- 0이 의 최소 요소인 경우 (, 0) 은 만족 가능한 제약 조건보다 교차로 제약 조건의 0이다.
불만족스러운 제약조건에 대해, 두 작업 모두 0이 동일하며, 이는 , -) 이다따라서 교차점의 정체는 합계의 0과 구별되기 때문에 제약조건 집합은 심지어 반사를 형성하지 않는다.
DBMs
변수 인 x 1,…, 이 주어진DBM은 열과 행이 ,x , x 로 색인된 행렬이며, 항목은 제약 조건이다.직관적으로 열 과 행 에 대해 위치, R)의값 m은 C R + 을 나타낸다Thus, the zone defined by a matrix , denoted by , is
+ 은(는) - R 과는 동일하므로 항목 m)은여전히 본질적으로 상한이다.단, R{\의 일부 값에 대해 M 을(를 고려하므로 C- 은 실제로 모노이드에 속하지 않는다는 점에 유의하십시오.
표준 DBM의 정의를 도입하기 전에, 우리는 그 행렬에 대한 주문 관계를 정의하고 논의할 필요가 있다.
그 행렬에 따라 주문하십시오.
매트릭스 은 각 항목이 작은 경우 매트릭스 D {\보다 작은 것으로 간주된다.이 주문은 총계가 아니라는 점에 유의하십시오.Given two DBMs and , if is smaller than or equal to , then .
The greatest-lower-bound of two matrices and , denoted by , has as its entry the value 은(는) 제약 조건의 의미에 대한 sumsum » 작업이므로, operation은(는) DBMs 집합이 모듈로 간주되는 두 DBM의 «sum »이다.
위의 "제한조건에 대한 작동" 섹션에서 고려한 제약조건의 경우와 유사하게, 이(가) 최대 하한 특성을 만족하는 즉시 무한히 많은 행렬의 최대 하한선이 정확하게 정의된다.
행렬/구역의 교차점을 정의한다.노조 운영이 규정되어 있지 않고, 실제로 구역의 연합은 일반적으로 구역이 아니다.
For an arbitrary set of matrices which all defines the same zone , also defines . It thus follow that, as long as has the greatest-lower-bound property, 적어도 행렬에 의해 정의되는 각 구역에는 이를 정의하는 고유한 최소 행렬이 있다.이 행렬은 의 표준 DBM이라고 불린다
표준 DBM의 첫 번째 정의
우리는 표준적인 차이 바인딩 매트릭스의 정의를 다시 설명한다.더 작은 매트릭스가 동일한 세트를 정의하지 않는 DBM이다.아래에서는 매트릭스가 DBM인지 여부를 확인하는 방법과, 그 외 두 매트릭스가 동일한 세트를 나타내도록 임의 매트릭스에서 DBM을 계산하는 방법에 대해 설명한다.하지만 먼저 몇 가지 예를 들어보자.
행렬의 예
먼저 단일 시계 x 스타일 x_가 있는 경우를 고려한다
진짜 라인
먼저 에 대한 표준 DBM을 제공하고 다음 R {\ {R을(를) 인코딩하는 다른 DBM을 소개한다 이렇게 하면 모든 DBM이 만족해야 하는 제약조건을 찾을 수 있다.
의 세트의 정준 DBM이 진짜인지((≤, 0)(<>, ∞)(<>, ∞)(≤, 0)){\displaystyle \left({\begin{배열}{2}(\leq ,0)&,(<>,\infty)\\(<>,\infty)&,(\leq ,0)\end{배열}}\right)}. 그것은 나타내는 제약 조건 0≤ 0+0{\displaystyle 0\leq 0+0}, x1≤ 0+∞{\displaystyle x_{.1}\leq}0+\infty, + 및 + + 0 0 0.이러한 제약조건은 모두 1 }에 할당된 값과 독립적으로 충족된다 나머지 논의에서는 그러한 제약조건이 체계적으로 충족되기 때문에 형식 ,의 입력으로 인한 제약조건을 명시적으로 설명하지 않을 것이다
DBM ,)(,)(,∞)( , )&(<,\inftyend)})도 리얼의 집합을 암호화하고 있다.제한조건 < + 및 < x + 을(를) 포함하며 x 의 값에서 독립적으로 충족된다이것은 표준 DBM 에서대각선 입력을 , 0) D에 의해 대각선 입력을 교체하여 D {\displaystyle D}에서 얻은 행렬이 동일한 을 정의하고 D {\ 보다 작기 때문에 대각 입력이 결코( never, 보다 크지 않음을 보여준다.
빈 세트
우리는 이제 빈 세트를 모두 암호화하는 많은 행렬을 고려한다.우리는 먼저 정식 DBM을 빈 세트로 준다.그리고 나서 우리는 각각의 DBM이 빈 세트를 암호화하는 이유를 설명한다.이를 통해 모든 DBM이 만족해야 하는 제약조건을 찾을 수 있다.
빈 세트의 정준 DBM이 넘는 하나의 변수,(<>, − ∞)(<>, − ∞)(<>, − ∞)){\displaystyle \left({\begin{배열}{2}(<>,-\infty)&,(<>,-\infty)\\(<>,-\infty)&,(<>,-\infty)\end{배열}}\right)}. 사실, 그것은 집합 제약 조건은 0<0만족을 나타내는((<>, − ∞) 있다. − ∞{\displaystyle 0<, 0-\infty}, < 1 - }, < 0 - {\1}, <0- 제약조건은 만족스럽지 못하다.
DBM ,)( ,- )(,)( , )도 빈 세트를 암호화한다실제로 불만족스러운 제약조건 < 0 - 을(를) 포함하고 있다.보다 일반적으로, 이것은 모든 항목이 -) - ) {\displaystyle - ∞)}이 아니면 어떤 항목도 - ∞) 일 수 없다는 것을 보여준다
DBM ,)(,) ( ,) ( ,- 1 )&(,\}\right도 빈 세트를 암호화한다.실제로 불만족스러운 1< - 1 을(를) 포함하고 있다.보다 일반적으로, 이것은 대각선의 항목이 , ) 보다 작을 수 없다는 것을 보여준다 (,-) {\
DBM ,)(< , ) , -)(, {\{arrayrig}\rig}\rig}\rig}}})도실제로 0< x + 과( x {- 1 {\}\ -1이(가) 모순되는 제약조건을 포함하고 있다.More generally, this show that, for each , if , then and are both equal to ≤.
DBM ,,)(,- )(, ) ){lq ,1rig}\rig}\}\rig}\righ}\right)도 빈 세트를 암호화한다실제로 모순되는 0 + 1 및 - 2{\}을를) 포함하고 있다.More generally, this show that for each , , unless is .
엄격한 제약 조건
이 절에 제시된 예는 위의 예시 절에 제시된 예시와 유사하다.이번에는 DBM으로 주어진다.
그 DBM(<>, ∞)(<>, ∞)(<>, ∞)(≤, 0)(≤, 3)(≤, 3)(<>, ∞)(≤, 0)){\displaystyle \left({\begin{배열}{lll는}(\leq ,0)&,(<>,\infty)&,(<>,\infty)\\(<>,\infty)&,(\leq ,0)&,(\leq ,3)\\(\leq ,3)&,(<>,\infty)&,(\leq ,0)\end{배열}}\right)}레((≤, 0).집합 제약 조건을 만족시킨 영화를 제공한다. ≤ 3 + 3 .그를 보려면 아래 예제 단원에서 언급했듯이 둘 다 그러한 제약 조건의 x1≤ 6{\displaystyle x_{1}\leq 6}. 그것은 DBM((≤, 0)(≤, 6)(<>, ∞)(<>, ∞)(≤, 0)(≤, 3)(≤, 3)(<>, ∞)(≤, 0)){\displaystyle \left({\begin{배열}{lll는}(\leq ,0)&,(\leq ,6)&을 의미한다는 것을 암시한다.앰프,(<>,\infty)\ ,0leq 이(가) 같은 영역을 인코딩한다.사실, 그것은 이 구역의 DBM이다.This shows that in any DBM , for each , the constraint is smaller than the constraint .
As explained in the Example section, the constant 0 can be considered as any variable, which leads to the more general rule: in any DBM , for each , the constraint is smaller than the constraint .
표준 DBM의 세 가지 정의
차이 바인딩 매트릭스 섹션의 도입부에서 설명했듯이, 정식 DBM은( ,, )에 의해 행과 열이 인덱싱되는 DBM이다더욱이, 그것은 다음의 동등한 특성들 중 하나를 따른다.
- 동일한 영역을 정의하는 더 작은 DBM은 없다.
- for each , the constraint is smaller than the constraint
- given the directed graph with edges and arrows labelled by , the shortest path from any edge to any b 은(는 화살표 b ) {\ 이 그래프를 DBM의 전위 그래프라고 한다.
마지막 정의는 DBM과 연관된 표준 DBM을 계산하는 데 직접 사용할 수 있다.플로이드-워셸 알고리즘을 그래프에 적용하기에 충분하며, 각 항목 )(a을(를) 그래프에서 a에서 b까지의 최단 경로에 연결한다.이 알고리즘이 음의 길이의 주기를 감지하면 이는 제약조건이 만족스럽지 못하여 구역이 비어 있다는 것을 의미한다.
구역 작업
도입부에 언급된 바와 같이, DBM의 주요 관심사는 구역에서의 운영을 쉽고 효율적으로 구현할 수 있도록 하는 것이다.
우리는 먼저 위에서 검토된 작업을 상기한다.
- 에 1 구역 Z 2 {\ {1}의 표준 DBM이 Z 2 {\}}의 DBM보다 작거나 같은지 않은지 시험함으로써 수행된다
- 구역 집합의 교차점에 대한 DBM은 해당 구역의 DBM 중 가장 낮은 경계다.
- 구역 비움 테스트는 구역의 표준 DBM이 ( , ,-) 로만 구성되어 있는지 확인하는 것이다
- 구역이 전체 공간인지 여부를 테스트하는 것은 구역의 DBM이 (, ) {\으로만 구성되어 있는지 확인하는 데 있다
우리는 이제 위에서 고려되지 않은 운영을 설명한다.아래에 설명된 첫 번째 연산은 명확한 기하학적 의미를 갖는다.마지막 것은 시계 평가에 더 자연적인 운영과 일치하게 된다.
구역 합
The Minkowski sum of two zones, defined by two DBMs and , is defined by the DBM whose entry is . Note that since isbmproduct » DBM에 대한 제약조건의 의미 부여 작업 +은(는) 실제로 DBM 모듈의 작업이 아니다.
특히, Z 방향으로 을(를) 번역하기 위해서는 의 DBM을 의 DBM에 추가하면 충분하다
고정 값에 대한 구성 요소 투영
을(를) 상수로 한다.
Given a vector , and an index , the projection of the -th component of to is the vector - , , + 1,n ) 시계 언어에서 = {\} -th클럭을 재설정하는 것과 일치한다
영역 의 -th 구성 요소를 d 에 투영하는 것은 Z 의 벡터 집합에 그 i -th 구성 요소를 d 에 투영하는 것이다This is implemented on DBM by setting the components to and the components to
구역의 미래 및 과거
Let us call the future the zone and the past the zone . Given a point , the future of is defined as , and the past of → 은는 P +{ →} {\ P로 정의된다
미래와 과거라는 이름은 시계의 개념에서 유래한다. 시계 세트를 x }, 2 {\2}} 등)에 할당하면, 향후 할당 는 x→ 의 미래다
영역 을를) 지정하면 의 미래는 영역의 각 지점의 미래 결합이다.한 구역의 과거 정의는 비슷하다.따라서 구역의 미래는 + 로 정의될 수 있으며, 따라서 DBM의 합으로 쉽게 구현될 수 있다. 그러나 DBM에 적용하기 위한 더 간단한 알고리즘이 있다.It suffices to change every entries to . Similarly, the past of a zone can be computed by setting every entries to .
참고 항목
- 지역(모델 검사) – 구역, 포함이 미미하고 일부 특성을 만족하는 구역
참조
- ^ "UPPAAL DBM Library". 16 July 2021.
- ^ Dill, David L (1990). "Timing assumptions and verification of finite-state concurrent systems". Lecture Notes in Computer Science. 407: 197–212. doi:10.1007/3-540-52148-8_17. ISBN 978-3-540-52148-8.
- 주스트-피터 카토엔 고급모델 점검 20위 차등행렬 강의
- Péron, Mathias; Halbwachs, Nicolas (2008). "An Abstract Domain Extending Difference-Bound Matrices with Disequality Constraints" (PDF). Lecture Notes in Computer Science. 4349: 268–282. doi:10.1007/978-3-540-69738-1_20. ISBN 978-3-540-69735-0.