• No results found

Bandwidth and Wavefront Reduction for Static Variable Ordering in Symbolic Reachability Analysis

N/A
N/A
Protected

Academic year: 2021

Share "Bandwidth and Wavefront Reduction for Static Variable Ordering in Symbolic Reachability Analysis"

Copied!
64
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Bandwidth and Wavefront Reduction for Static

Variable Ordering in Symbolic Reachability

Analysis

Nasa Formal Methods 2016

Jeroen Meijer

Jaco van de Pol

Formal Methods and Tools Group, University of Twente, the Netherlands

(2)

Table of Contents

1

Symbolic Reachability Analysis

2

Bandwidth and Wavefront Reduction

3

Results

(3)

Outline

1

Symbolic Reachability Analysis

2

Bandwidth and Wavefront Reduction

3

Results

(4)

A Petri net

p

4

p

2

p

5

p

3

p

1

t

1

t

3

t

2

t

4

t

5

t

6

(5)

Symbolic storage of all states

A set of states

Multiple transition relations

Decision diagrams as data structure

(6)

Storing the States in Decision Diagrams

p1

p2

p3

p4

p5

0

0

0

1

0

True

p

4

p

2

p

5

p

3

p

1

t

1

t

3

t

2

t

4

t

5

t

6

(7)

Storing the States in Decision Diagrams

p1

p2

p3

p4

p5

0

0

1

0

0

1

0

0

True

1

p

4

p

2

p

5

p

3

p

1

t

1

t

3

t

2

t

4

t

5

t

6

(8)

Variable Ordering

Alphanumeric order: 16 nodes

p1

p2

p3

p4

p5

0

1

0

1

0

1

0

1

0

1

0

1

0

0

1

True

0

Cuthill-McKee order: 12 nodes

p2

p3

p4

p5

p1

0

1

0

1

0

1

0

0

0

1

0

True

1

Permutation

π = (2, 3, 4, 5, 1)

(9)

Variable Ordering

Good variable orders save time and memory.

What are good heuristics for variable orders?

How do we get good variable orders?

(10)

Heuristics for Variable Ordering

Exploit

event locality

1

Place related variables near each other.

2

Change the bottom of the decision diagram as much as

(11)

Dependency Matrix

p

1

p

2

p

3

p

4

p

5

t

1

0

1

0

1

1

t

2

0

1

1

0

0

t

3

0

1

1

0

0

t

4

1

0

0

0

1

t

5

1

0

0

0

1

t

6

1

0

1

1

0

p

4

p

2

p

5

p

3

p

1

t

1

t

3

t

2

t

4

t

5

t

6

(12)

Dependency Matrix

p

1

p

2

p

3

p

4

p

5

t

1

0

1

0

1

1

t

2

0

1

1

0

0

t

3

0

1

1

0

0

t

4

1

0

0

0

1

t

5

1

0

0

0

1

t

6

1

0

1

1

0

p

4

p

2

p

5

p

3

p

1

t

1

t

3

t

2

t

4

t

5

t

6

(13)

Dependency Matrix

p

1

p

2

p

3

p

4

p

5

t

1

0

1

0

1

1

t

2

0

1

1

0

0

t

3

0

1

1

0

0

t

4

1

0

0

0

1

t

5

1

0

0

0

1

t

6

1

0

1

1

0

p

4

p

2

p

5

p

3

p

1

t

1

t

3

t

2

t

4

t

5

t

6

(14)

Measuring the Quality of the Order

span

The distance between the minimum and maximum nonzero of a

row. Event span is the sum of all distances.

p

1

p

2

p

3

p

4

p

5

span

t

1

0

1

0

1

1

4

t

2

0

1

1

0

0

2

t

3

0

1

1

0

0

2

t

4

1

0

0

0

1

5

t

5

1

0

0

0

1

5

t

6

1

0

1

1

0

4

event span:

22

(15)

Measuring the Quality of the Order

span

The

distance

between the minimum and maximum nonzero of a

row. Event span is the sum of all distances.

p

1

p

2

p

3

p

4

p

5

span

t

1

0

1

0

1

1

4

t

2

0

1

1

0

0

2

t

3

0

1

1

0

0

2

t

4

1

0

0

0

1

5

t

5

1

0

0

0

1

5

t

6

1

0

1

1

0

4

event span:

22

(16)

Measuring the Quality of the Order

span

The distance between the minimum and maximum nonzero of a

row. Event span is the

sum

of all distances.

p

1

p

2

p

3

p

4

p

5

span

t

1

0

1

0

1

1

4

t

2

0

1

1

0

0

2

t

3

0

1

1

0

0

2

t

4

1

0

0

0

1

5

t

5

1

0

0

0

1

5

t

6

1

0

1

1

0

4

event span:

22

(17)

Measuring the Quality of the Order (2)

weighted span (Siminiceanu et al., 2006)

moment =

Distance of the leftmost nonzero from the rightmost column

half the width of the matrix

weighted span = span · moment

weighted event span = sum of all weighted spans

p

1

p

2

p

3

p

4

p

5

span

mom.

w.s.

t

1

0

1

0

1

1

4

1.2

4.8

t

2

0

1

1

0

0

2

1.2

2.4

t

3

0

1

1

0

0

2

1.2

2.4

t

4

1

0

0

0

1

5

1.6

8

t

5

1

0

0

0

1

5

1.6

8

t

6

1

0

1

1

0

4

1.6

6.4

(18)

Measuring the Quality of the Order (2)

weighted span (Siminiceanu et al., 2006)

moment =

Distance of the leftmost nonzero from the rightmost column

half the width of the matrix

weighted span

= span ·

moment

weighted event span = sum of all weighted spans

p

1

p

2

p

3

p

4

p

5

span

mom.

w.s.

t

1

0

1

0

1

1

4

1.2

4.8

t

2

0

1

1

0

0

2

1.2

2.4

t

3

0

1

1

0

0

2

1.2

2.4

t

4

1

0

0

0

1

5

1.6

8

t

5

1

0

0

0

1

5

1.6

8

t

6

1

0

1

1

0

4

1.6

6.4

(19)

Measuring the Quality of the Order (2)

weighted span (Siminiceanu et al., 2006)

moment =

Distance of the leftmost nonzero from the rightmost column

half the width of the matrix

weighted span = span · moment

weighted event span

= sum of all weighted spans

p

1

p

2

p

3

p

4

p

5

span

mom.

w.s.

t

1

0

1

0

1

1

4

1.2

4.8

t

2

0

1

1

0

0

2

1.2

2.4

t

3

0

1

1

0

0

2

1.2

2.4

t

4

1

0

0

0

1

5

1.6

8

t

5

1

0

0

0

1

5

1.6

8

t

6

1

0

1

1

0

4

1.6

6.4

(20)

Span Reduction

Existing heuristic algorithms

weighted event span: not available?

event span: FORCE (Aloul, 2003) and Noack (1999, Petri nets only),

both subquadratic complexity.

Alphanumeric: WES = 32

p

1

p

2

p

3

p

4

p

5

t

1

0

1

0

1

1

t

2

0

1

1

0

0

t

3

0

1

1

0

0

t

4

1

0

0

0

1

t

5

1

0

0

0

1

t

6

1

0

1

1

0

FORCE: WES = 19

p

3

p

2

p

4

p

1

p

5

t

1

0

1

1

0

1

t

2

1

1

0

0

0

t

3

1

1

0

0

0

t

4

0

0

0

1

1

t

5

0

0

0

1

1

t

6

1

0

1

1

0

(21)

Span Reduction

Existing heuristic algorithms

weighted event span: not available?

event span: FORCE (Aloul, 2003) and Noack (1999, Petri nets only),

both subquadratic complexity.

Alphanumeric: WES = 32

p

1

p

2

p

3

p

4

p

5

t

1

0

1

0

1

1

t

2

0

1

1

0

0

t

3

0

1

1

0

0

t

4

1

0

0

0

1

t

5

1

0

0

0

1

t

6

1

0

1

1

0

FORCE: WES = 19

p

3

p

2

p

4

p

1

p

5

t

1

0

1

1

0

1

t

2

1

1

0

0

0

t

3

1

1

0

0

0

t

4

0

0

0

1

1

t

5

0

0

0

1

1

t

6

1

0

1

1

0

(22)

Span Reduction

Existing heuristic algorithms

weighted event span: not available?

event span: FORCE (Aloul, 2003) and Noack (1999, Petri nets only),

both subquadratic complexity.

Alphanumeric: WES = 32

p

1

p

2

p

3

p

4

p

5

t

1

0

1

0

1

1

t

2

0

1

1

0

0

t

3

0

1

1

0

0

t

4

1

0

0

0

1

t

5

1

0

0

0

1

t

6

1

0

1

1

0

FORCE: WES = 19

p

3

p

2

p

4

p

1

p

5

t

1

0

1

1

0

1

t

2

1

1

0

0

0

t

3

1

1

0

0

0

t

4

0

0

0

1

1

t

5

0

0

0

1

1

t

6

1

0

1

1

0

(23)

Outline

1

Symbolic Reachability Analysis

2

Bandwidth and Wavefront Reduction

3

Results

(24)

Origins

Sparse matrix solvers (decades old field of study >= 1960)

Bandwidth: proportional to memory usage

Wavefront: proportional to time usage

main obstacle

Only algorithms for

symmetric

matrices.

Dependency matrix is

asymmetric

.

(25)

Symmetrization (Reid, 2006)

Matrix A: asymmetric

p

1

p

2

p

3

p

4

p

5

t

1

0

1

0

1

1

t

2

0

1

1

0

0

t

3

0

1

1

0

0

t

4

1

0

0

0

1

t

5

1

0

0

0

1

t

6

1

0

1

1

0

Procedure

ˆ

A =

 0

A

A

T

0



Matrix ˆ

A: symmetric

t

1

t

2

t

3

t

4

t

5

t

6

p

1

p

2

p

3

p

4

p

5

t

1

0

0

0

0

0

0

0

1

0

1

1

t

2

0

0

0

0

0

0

0

1

1

0

0

t

3

0

0

0

0

0

0

0

1

1

0

0

t

4

0

0

0

0

0

0

1

0

0

0

1

t

5

0

0

0

0

0

0

1

0

0

0

1

t

6

0

0

0

0

0

0

1

0

1

1

0

p

1

0

0

0

1

1

1

0

0

0

0

0

p

2

1

1

1

0

0

0

0

0

0

0

0

p

3

0

1

1

0

0

1

0

0

0

0

0

p

4

1

0

0

0

0

1

0

0

0

0

0

p

5

1

0

0

1

1

0

0

0

0

0

0

(26)

Cuthill McKee

the algorithm

Start from the smallest vertex with minimum degree.

Perform breadth-first traversal.

Visit neighbors in increasing order of degree.

t

1

t

2

t

3

t

4

t

5

t

6

p

1

p

2

p

3

p

4

p

5

t

1

0

0

0

0

0

0

0

1

0

1

1

t

2

0

0

0

0

0

0

0

1

1

0

0

t

3

0

0

0

0

0

0

0

1

1

0

0

t

4

0

0

0

0

0

0

1

0

0

0

1

t

5

0

0

0

0

0

0

1

0

0

0

1

t

6

0

0

0

0

0

0

1

0

1

1

0

p

1

0

0

0

1

1

1

0

0

0

0

0

p

2

1

1

1

0

0

0

0

0

0

0

0

p

3

0

1

1

0

0

1

0

0

0

0

0

p

4

1

0

0

0

0

1

0

0

0

0

0

p

5

1

0

0

1

1

0

0

0

0

0

0

t

2

p

2

p

3

t

3

t

1

t

6

p

4

p

5

p

1

t

4

t

5

t

2

0

1

1

0

0

0

0

0

0

0

0

p

2

1

0

0

1

1

0

0

0

0

0

0

p

3

1

0

0

1

0

1

0

0

0

0

0

t

3

0

1

1

0

0

0

0

0

0

0

0

t

1

0

1

0

0

0

0

1

1

0

0

0

t

6

0

0

1

0

0

0

1

0

1

0

0

p

4

0

0

0

0

1

1

0

0

0

0

0

p

5

0

0

0

0

1

0

0

0

0

1

1

p

1

0

0

0

0

0

1

0

0

0

1

1

t

4

0

0

0

0

0

0

0

1

1

0

0

t

5

0

0

0

0

0

0

0

1

1

0

0

(27)

Cuthill McKee

the algorithm

Start from the smallest vertex with minimum degree.

Perform breadth-first traversal.

Visit neighbors in increasing order of degree.

t

1

t

2

t

3

t

4

t

5

t

6

p

1

p

2

p

3

p

4

p

5

t

1

0

0

0

0

0

0

0

1

0

1

1

t

2

0

0

0

0

0

0

0

1

1

0

0

t

3

0

0

0

0

0

0

0

1

1

0

0

t

4

0

0

0

0

0

0

1

0

0

0

1

t

5

0

0

0

0

0

0

1

0

0

0

1

t

6

0

0

0

0

0

0

1

0

1

1

0

p

1

0

0

0

1

1

1

0

0

0

0

0

p

2

1

1

1

0

0

0

0

0

0

0

0

p

3

0

1

1

0

0

1

0

0

0

0

0

p

4

1

0

0

0

0

1

0

0

0

0

0

p

5

1

0

0

1

1

0

0

0

0

0

0

t

2

p

2

p

3

t

3

t

1

t

6

p

4

p

5

p

1

t

4

t

5

t

2

0

1

1

0

0

0

0

0

0

0

0

p

2

1

0

0

1

1

0

0

0

0

0

0

p

3

1

0

0

1

0

1

0

0

0

0

0

t

3

0

1

1

0

0

0

0

0

0

0

0

t

1

0

1

0

0

0

0

1

1

0

0

0

t

6

0

0

1

0

0

0

1

0

1

0

0

p

4

0

0

0

0

1

1

0

0

0

0

0

p

5

0

0

0

0

1

0

0

0

0

1

1

p

1

0

0

0

0

0

1

0

0

0

1

1

t

4

0

0

0

0

0

0

0

1

1

0

0

t

5

0

0

0

0

0

0

0

1

1

0

0

(28)

Cuthill McKee

the algorithm

Start from the smallest vertex with minimum degree.

Perform breadth-first traversal.

Visit neighbors in increasing order of degree.

t

1

t

2

t

3

t

4

t

5

t

6

p

1

p

2

p

3

p

4

p

5

t

1

0

0

0

0

0

0

0

1

0

1

1

t

2

0

0

0

0

0

0

0

1

1

0

0

t

3

0

0

0

0

0

0

0

1

1

0

0

t

4

0

0

0

0

0

0

1

0

0

0

1

t

5

0

0

0

0

0

0

1

0

0

0

1

t

6

0

0

0

0

0

0

1

0

1

1

0

p

1

0

0

0

1

1

1

0

0

0

0

0

p

2

1

1

1

0

0

0

0

0

0

0

0

p

3

0

1

1

0

0

1

0

0

0

0

0

p

4

1

0

0

0

0

1

0

0

0

0

0

p

5

1

0

0

1

1

0

0

0

0

0

0

t

2

p

2

p

3

t

3

t

1

t

6

p

4

p

5

p

1

t

4

t

5

t

2

0

1

1

0

0

0

0

0

0

0

0

p

2

1

0

0

1

1

0

0

0

0

0

0

p

3

1

0

0

1

0

1

0

0

0

0

0

t

3

0

1

1

0

0

0

0

0

0

0

0

t

1

0

1

0

0

0

0

1

1

0

0

0

t

6

0

0

1

0

0

0

1

0

1

0

0

p

4

0

0

0

0

1

1

0

0

0

0

0

p

5

0

0

0

0

1

0

0

0

0

1

1

p

1

0

0

0

0

0

1

0

0

0

1

1

t

4

0

0

0

0

0

0

0

1

1

0

0

t

5

0

0

0

0

0

0

0

1

1

0

0

(29)

Cuthill McKee

the algorithm

Start from the smallest vertex with minimum degree.

Perform breadth-first traversal.

Visit neighbors in increasing order of degree.

t

1

t

2

t

3

t

4

t

5

t

6

p

1

p

2

p

3

p

4

p

5

t

1

0

0

0

0

0

0

0

1

0

1

1

t

2

0

0

0

0

0

0

0

1

1

0

0

t

3

0

0

0

0

0

0

0

1

1

0

0

t

4

0

0

0

0

0

0

1

0

0

0

1

t

5

0

0

0

0

0

0

1

0

0

0

1

t

6

0

0

0

0

0

0

1

0

1

1

0

p

1

0

0

0

1

1

1

0

0

0

0

0

p

2

1

1

1

0

0

0

0

0

0

0

0

p

3

0

1

1

0

0

1

0

0

0

0

0

p

4

1

0

0

0

0

1

0

0

0

0

0

p

5

1

0

0

1

1

0

0

0

0

0

0

t

2

p

2

p

3

t

3

t

1

t

6

p

4

p

5

p

1

t

4

t

5

t

2

0

1

1

0

0

0

0

0

0

0

0

p

2

1

0

0

1

1

0

0

0

0

0

0

p

3

1

0

0

1

0

1

0

0

0

0

0

t

3

0

1

1

0

0

0

0

0

0

0

0

t

1

0

1

0

0

0

0

1

1

0

0

0

t

6

0

0

1

0

0

0

1

0

1

0

0

p

4

0

0

0

0

1

1

0

0

0

0

0

p

5

0

0

0

0

1

0

0

0

0

1

1

p

1

0

0

0

0

0

1

0

0

0

1

1

t

4

0

0

0

0

0

0

0

1

1

0

0

t

5

0

0

0

0

0

0

0

1

1

0

0

(30)

Cuthill McKee

the algorithm

Start from the smallest vertex with minimum degree.

Perform breadth-first traversal.

Visit neighbors in increasing order of degree.

t

1

t

2

t

3

t

4

t

5

t

6

p

1

p

2

p

3

p

4

p

5

t

1

0

0

0

0

0

0

0

1

0

1

1

t

2

0

0

0

0

0

0

0

1

1

0

0

t

3

0

0

0

0

0

0

0

1

1

0

0

t

4

0

0

0

0

0

0

1

0

0

0

1

t

5

0

0

0

0

0

0

1

0

0

0

1

t

6

0

0

0

0

0

0

1

0

1

1

0

p

1

0

0

0

1

1

1

0

0

0

0

0

p

2

1

1

1

0

0

0

0

0

0

0

0

p

3

0

1

1

0

0

1

0

0

0

0

0

p

4

1

0

0

0

0

1

0

0

0

0

0

p

5

1

0

0

1

1

0

0

0

0

0

0

t

2

p

2

p

3

t

3

t

1

t

6

p

4

p

5

p

1

t

4

t

5

t

2

0

1

1

0

0

0

0

0

0

0

0

p

2

1

0

0

1

1

0

0

0

0

0

0

p

3

1

0

0

1

0

1

0

0

0

0

0

t

3

0

1

1

0

0

0

0

0

0

0

0

t

1

0

1

0

0

0

0

1

1

0

0

0

t

6

0

0

1

0

0

0

1

0

1

0

0

p

4

0

0

0

0

1

1

0

0

0

0

0

p

5

0

0

0

0

1

0

0

0

0

1

1

p

1

0

0

0

0

0

1

0

0

0

1

1

t

4

0

0

0

0

0

0

0

1

1

0

0

t

5

0

0

0

0

0

0

0

1

1

0

0

(31)

Cuthill McKee

the algorithm

Start from the smallest vertex with minimum degree.

Perform breadth-first traversal.

Visit neighbors in increasing order of degree.

t

1

t

2

t

3

t

4

t

5

t

6

p

1

p

2

p

3

p

4

p

5

t

1

0

0

0

0

0

0

0

1

0

1

1

t

2

0

0

0

0

0

0

0

1

1

0

0

t

3

0

0

0

0

0

0

0

1

1

0

0

t

4

0

0

0

0

0

0

1

0

0

0

1

t

5

0

0

0

0

0

0

1

0

0

0

1

t

6

0

0

0

0

0

0

1

0

1

1

0

p

1

0

0

0

1

1

1

0

0

0

0

0

p

2

1

1

1

0

0

0

0

0

0

0

0

p

3

0

1

1

0

0

1

0

0

0

0

0

p

4

1

0

0

0

0

1

0

0

0

0

0

p

5

1

0

0

1

1

0

0

0

0

0

0

t

2

p

2

p

3

t

3

t

1

t

6

p

4

p

5

p

1

t

4

t

5

t

2

0

1

1

0

0

0

0

0

0

0

0

p

2

1

0

0

1

1

0

0

0

0

0

0

p

3

1

0

0

1

0

1

0

0

0

0

0

t

3

0

1

1

0

0

0

0

0

0

0

0

t

1

0

1

0

0

0

0

1

1

0

0

0

t

6

0

0

1

0

0

0

1

0

1

0

0

p

4

0

0

0

0

1

1

0

0

0

0

0

p

5

0

0

0

0

1

0

0

0

0

1

1

p

1

0

0

0

0

0

1

0

0

0

1

1

t

4

0

0

0

0

0

0

0

1

1

0

0

t

5

0

0

0

0

0

0

0

1

1

0

0

(32)

Metrics

Alphanumeric

Bandwidth: 10

Profile: 76

t

1

t

2

t

3

t

4

t

5

t

6

p

1

p

2

p

3

p

4

p

5

t

1

0

0

0

0

0

0

0

1

0

1

1

t

2

0

0

0

0

0

0

0

1

1

0

0

t

3

0

0

0

0

0

0

0

1

1

0

0

t

4

0

0

0

0

0

0

1

0

0

0

1

t

5

0

0

0

0

0

0

1

0

0

0

1

t

6

0

0

0

0

0

0

1

0

1

1

0

p

1

0

0

0

1

1

1

0

0

0

0

0

p

2

1

1

1

0

0

0

0

0

0

0

0

p

3

0

1

1

0

0

1

0

0

0

0

0

p

4

1

0

0

0

0

1

0

0

0

0

0

p

5

1

0

0

1

1

0

0

0

0

0

0

Cuthill McKee

Bandwidth: 3

Profile: 29

t

2

p

2

p

3

t

3

t

1

t

6

p

4

p

5

p

1

t

4

t

5

t

2

0

1

1

0

0

0

0

0

0

0

0

p

2

1

0

0

1

1

0

0

0

0

0

0

p

3

1

0

0

1

0

1

0

0

0

0

0

t

3

0

1

1

0

0

0

0

0

0

0

0

t

1

0

1

0

0

0

0

1

1

0

0

0

t

6

0

0

1

0

0

0

1

0

1

0

0

p

4

0

0

0

0

1

1

0

0

0

0

0

p

5

0

0

0

0

1

0

0

0

0

1

1

p

1

0

0

0

0

0

1

0

0

0

1

1

t

4

0

0

0

0

0

0

0

1

1

0

0

t

5

0

0

0

0

0

0

0

1

1

0

0

(33)

Metrics

Alphanumeric

Bandwidth: 10

Profile: 76

t

1

t

2

t

3

t

4

t

5

t

6

p

1

p

2

p

3

p

4

p

5

t

1

0

0

0

0

0

0

0

1

0

1

1

t

2

0

0

0

0

0

0

0

1

1

0

0

t

3

0

0

0

0

0

0

0

1

1

0

0

t

4

0

0

0

0

0

0

1

0

0

0

1

t

5

0

0

0

0

0

0

1

0

0

0

1

t

6

0

0

0

0

0

0

1

0

1

1

0

p

1

0

0

0

1

1

1

0

0

0

0

0

p

2

1

1

1

0

0

0

0

0

0

0

0

p

3

0

1

1

0

0

1

0

0

0

0

0

p

4

1

0

0

0

0

1

0

0

0

0

0

p

5

1

0

0

1

1

0

0

0

0

0

0

Cuthill McKee

Bandwidth: 3

Profile: 29

t

2

p

2

p

3

t

3

t

1

t

6

p

4

p

5

p

1

t

4

t

5

t

2

0

1

1

0

0

0

0

0

0

0

0

p

2

1

0

0

1

1

0

0

0

0

0

0

p

3

1

0

0

1

0

1

0

0

0

0

0

t

3

0

1

1

0

0

0

0

0

0

0

0

t

1

0

1

0

0

0

0

1

1

0

0

0

t

6

0

0

1

0

0

0

1

0

1

0

0

p

4

0

0

0

0

1

1

0

0

0

0

0

p

5

0

0

0

0

1

0

0

0

0

1

1

p

1

0

0

0

0

0

1

0

0

0

1

1

t

4

0

0

0

0

0

0

0

1

1

0

0

t

5

0

0

0

0

0

0

0

1

1

0

0

(34)

Metrics

Alphanumeric

Bandwidth: 10

Profile: 76

t

1

t

2

t

3

t

4

t

5

t

6

p

1

p

2

p

3

p

4

p

5

t

1

0

0

0

0

0

0

0

1

0

1

1

t

2

0

0

0

0

0

0

0

1

1

0

0

t

3

0

0

0

0

0

0

0

1

1

0

0

t

4

0

0

0

0

0

0

1

0

0

0

1

t

5

0

0

0

0

0

0

1

0

0

0

1

t

6

0

0

0

0

0

0

1

0

1

1

0

p

1

0

0

0

1

1

1

0

0

0

0

0

p

2

1

1

1

0

0

0

0

0

0

0

0

p

3

0

1

1

0

0

1

0

0

0

0

0

p

4

1

0

0

0

0

1

0

0

0

0

0

p

5

1

0

0

1

1

0

0

0

0

0

0

Cuthill McKee

Bandwidth: 3

Profile: 29

t

2

p

2

p

3

t

3

t

1

t

6

p

4

p

5

p

1

t

4

t

5

t

2

0

1

1

0

0

0

0

0

0

0

0

p

2

1

0

0

1

1

0

0

0

0

0

0

p

3

1

0

0

1

0

1

0

0

0

0

0

t

3

0

1

1

0

0

0

0

0

0

0

0

t

1

0

1

0

0

0

0

1

1

0

0

0

t

6

0

0

1

0

0

0

1

0

1

0

0

p

4

0

0

0

0

1

1

0

0

0

0

0

p

5

0

0

0

0

1

0

0

0

0

1

1

p

1

0

0

0

0

0

1

0

0

0

1

1

t

4

0

0

0

0

0

0

0

1

1

0

0

t

5

0

0

0

0

0

0

0

1

1

0

0

(35)

De-symmetrization

Total order → partial order

t

2

< p

2

< p

3

< t

3

< t

1

< t

6

< p

4

< p

5

< p

1

< t

4

< t

5

t

2

< t

3

< t

1

< t

6

< t

4

< t

5

t

2

< p

2

< p

3

< t

3

< t

1

< t

6

< p

4

< p

5

< p

1

< t

4

< t

5

t

2

< t

3

< t

1

< t

6

< t

4

< t

5

∪ p

2

< p

3

< p

4

< p

5

< p

1

Example decision diagram

(36)

De-symmetrization

Total order → partial order

t

2

< p

2

< p

3

< t

3

< t

1

< t

6

< p

4

< p

5

< p

1

< t

4

< t

5

t

2

< t

3

< t

1

< t

6

< t

4

< t

5

∪ p

2

< p

3

< p

4

< p

5

< p

1

Example decision diagram

(37)

Result

Partial order

t

2

< t

3

< t

1

< t

6

< t

4

< t

5

∪ p

2

< p

3

< p

4

< p

5

< p

1

Alphanumeric: ES=22, WES=32

p

1

p

2

p

3

p

4

p

5

t

1

0

1

0

1

1

t

2

0

1

1

0

0

t

3

0

1

1

0

0

t

4

1

0

0

0

1

t

5

1

0

0

0

1

t

6

1

0

1

1

0

Cuthill McKee: ES=16, WES=19

p

2

p

3

p

4

p

5

p

1

t

2

1

1

0

0

0

t

3

1

1

0

0

0

t

1

1

0

1

1

0

t

6

0

1

1

0

1

t

4

0

0

0

1

1

t

5

0

0

0

1

1

(38)

Nodal Ordering

unknown symmetric graph algorithms

Algorithm

Package

Reducing type

Year

Cuthill McKee

Boost

bandwidth

1969

King

bandwidth, profile

1970

Sloan

profile, wavefront

1989

Cuthill McKee

ViennaCL

bandwidth

1969

adv. Cuthill McKee

bandwidth

GPS

bandwidth, profile

1976

known algorithms for span reduction

Noack1, Noack2 (for Petri nets).

FORCE

Referenties

GERELATEERDE DOCUMENTEN

Teeltmaatregelen die leiden tot een hoge productie kunnen soms een negatief effect op de houdbaarheid hebben... Op basis van houdbaarheidsonderzoek kunnen maatregelen genomen worden

i j ftien jaar geleden kwam een groep ouders, kinderen e n leerkrachten aan in Wezemaal (een dorp in het Hageland op een kwartiertje rijden van Leu­ veri) , op zoe k naar

t Maïs neemt cadmium veel minder goed op dan wor- men, en als een das meer maïs eet en minder wormen zullen de concentraties in de das over het algemeen teruglopen.. Zo kan

Similar to the WTLS problems, in general, structured total least squares (STLS) problems 11 have no analytic solution in terms of the singular value decomposition (SVD) of the

1 A group of scientists, led by Betsy Sparrow, an assistant professor of psychology at Columbia, wondered whether people were less likely to memorise information that could be

[r]

Kosten van IT, onafhankelijk van de gebruikte methode of model, dienen in organisaties waar de delingsmethode wordt gebruikt onderdeel van de vaste kosten te zijn.. Het

Karabatsos and Sheu proposed a Bayesian procedure (Appl. 28:110–125, 2004 ), which can be used to determine whether the property of an invariant ordering of the item-total