A Symbolic Algorithm for Maximum Flow in O-1 Networks* {

Report 3 Downloads 66 Views
A Symbolic

Algorithm

for

Maximum

Flow

in O-1 Networks*

Gary D. Hachtel Fabio Somenzi Department of Electrical and Computer Engineering University of Colorado at Boulder, 80309

Abstract We

an

network. tion

matching

of newly

of

than

it

main

augmenting

edge

edges

graphs The

finding

problem

each

layer

possible

can

enforced

of the

network

0

=lm = 10 : = 01 3 = 11

han-

(more sets

is

a O-1

enumerait

(implicitly)

Disjointness

for

priority

trace

in

explicit

Therefore,

previously

to

flow

avoids

network.

was is

maximum

and

the

idea

paths.

defined

the

is symbolic

and

larger

edges).

disjoint

for

algorithm

nodes

much

1036

algorithm

The

of the

dle

1

ZWCODING:

present

by

than

of

fJ

E(x,y)

edge-

solving

with

#=o

3

2

+

an

the

help

functions.

pl-sq pl -=%1

1 Introduction Sizeis a significant of VLSI

difficulty

systems.

relations

of

When

finite

state

ous,

that

the

ers.

This

phenomenon

emerged

graphs

a class

graph

algorithms,

ically,

that

Binary

ing

for

this

and

flow

large

graphs

mum

flow

we

flows.

Augmenting-path

times,

whereas

based

on

Key MPM

in

push

flow

lel

by This

quired

in

This

the

layered

are

us

with

all

sink,

to

way

paths.

of

edges ed~=s

connecting from layer

selected

the

edges

*This

work

MIP-9115432

at

Dinits’s

al-

from the

all

least

that

layered

source

the

in

traces

network

is

traced

paths

in may

We

die

Some

paths they

the

was and

the

right-pot

supported SRC

from

backward

ent network. in

contract

part

by

$03.00 @ 1993 IEEE

characteristic

=

the

z

=

(Z I ,...,

builds A

=

[log2(l

The

NSF/DARPA

Flow.

the

case

name

the

and

Figure

1.

(:Yl,

the

[9,

6]

encoding

function

of

.E(z,

relation

The

be to

the

In

this

to the

y)

that

V x V H

E

:

of the The

of

of

the

E,

are

the

vectors

vertices

relation

>: {O, l}” flow

of

binary graph

is represented

are

functions

we have

path

{(O,

{O,

1}.

the

minimum

represented are

O-1 network

case,

H

relation,

by their

by

the

a lmaximal

2), (2,

1), (1, 3)}

{(O,

leads

rela-

by BDD’s

by the

flow

cut

characteristic

represented

is illustrated

flow

BDD

relation

circle

on an edge

A black

dot

assume

that

is

is not

shown indicates

indicates all

an

dangling

A Symbolic

shown

below

in the

this

figure,

network.

bold

[21.

edges

in

1), (1, 2), (2, 3)}. to

the

maximum

but In

this

the

BDD

BDD

for the

the open

complement attribute. an E edge without E edge with the complement attribute. We edges

go to

the

Algorithm

Given a network N = (E(a, y), sat), F(m, ~), the maximum flow flow function

92-DJ-206.

6

1),(1,3),(0,2),(2,3)}.

edge

3

v)

. . . . ~n)

edge

the

of interest

a simple

augmenting

collide

sets

characteristic

{(O,

MIP-

algorithms

edge

(u,

encodings

then

for

The

grant

through

else.

=

tbe

All

flOW

from

drained

binary

switching

if

O

and-y

over Vl)l,

other

being

comes

be

flow

of the

1

{

of O-1 networks,

paths

of

can

function:

functions.

a subnet-

subset

and

function

ic~)

ranging

n

tion,

source

a layer

a. length-n

E(z, y) : {O, l}n In

re-

403

1063-6757/93

G

and

source.

right-potent.

Maximum

Representation

with

(V, E),

of the

paralbe

into

maximum

working

encodes

characteristic

can

Iayer m – 1 to layer m is matched to a subset m to layer m + 1 that were previously selected.

form

by

vertices

variables

backwards.

because

a path

O-1

layer.

conventional

form

A flow

paths

flow

of that

13(u, v)=

edge-matching

the

the

Graph

convert

and

propagate

Edge-disjoint

process.

for

{o, 1}.

algorithm

sets

on

sink.

Network

the

aug?nent-

traversed

node

reaches is

Symbolic can

network.

the

on

all out

serially. are

maximal

it

the are

the that

of

layered

path

netin

that edges

symbolic

maximal

MPM

maximal

Others

nodes one

compute

augmentation.

to

source.

idea

property selected

We

[10]

potential

the

set

every

source

layered

edge-disjoint over

built,

that

the

the

the

If to

1: A Simple

the

2

all is

Key

minimum

oj

a series

is

of

potential

blocking)

guarantee

at

procedure

work

sets

of the

use

way

advantage

network

Since

however,

The

pre-

it.

Several

solving

to

to

efficient

edge-disjoint

layer

towards the

other

the

or

efficiently

phase,

of

of minimum

(or

each

a path

extended

traced

flow

the

the

each

node

rnawirncd has

by

for

allows

are

enumeration.

one

is on

pull

nodes

paths

Once

maxi-

algorithm is

implemented

at

is an

a maximal

edge-disjoint

predecessor

if

Our

very

the

conservation

not.

Figure

max-

to

paths

Its

the

a maximal

eap licit

problems,

and

tracing

with

to find

traced

it

method

paths

without

augmenting

closest

the

for

do

identify

from

dealing

All

for applied

Algorithms flow

have check-

[5].

algorithm

maintain

pl+wrs.yl

those

model

circuits

algorithms

algorithm

contribution

augmentations of not

represent algorithms

be

Iic

symbolTypically,

[7, 4],

can

has

syrnbo

stored

to

graph

either

augmentations is to

main

paths.

used

that

0(lV13 ),

in

Dinits’s

maximal

Our ing

runs

algorithm

then

on

call

henceforth).

ideas

and

based

there

functions.

arc

edges).

methods

which

are

symbolic

10 36

paths.

algorithm

work

a

networks

preflow-based

augmenting

sets

pl-s=yo

numercomput.

Thus

edge

of sequential

O-1

so

largest

shall

verification

present

are

the

we

symbolic

machine

than

even

design

transition

often

eoplosion.

[2]

in the the

are

characteristic

(BDD’s)

in

(more

[8],

their

arise

represent

which and

optimization

problem

gorithm

node

state

problem

on

as state

Efficient

finite

paper

imum

(MPM

of

Diagrams

testing

In

the

that

to

states

stored

algorithms

functions.

devised

be

graph

graphs

used the

is known

terms

Decision

[3],

cannot

of

in

the are

machines,

where

is,

characteristic been

with

graphs

l-node.

for

Maxflow

Icl = IvI = n, and a problem is formulated as

Procedure

maximumflow(s(a),

F(z, 1

y)

=

fOr(i=O;

2

;

(1,

3

t(Y),

new

i++)

Y))

{

D6

(z),

~(c,

y)

flow

reached(z))

=forward.traverse

= reached(z).

UZOUJ)

E(z,

.,.,’

~(Y));

{

F(c,

y)

E(z,

g));

=minterm.count(

return

,.,,,. ,,,,.,

{

(E(Z>Y), F(a,v)! ~(~), (1 ❑ T.NOZ’J3EACHABJ7E)

if

E(C,

zero;

. ?eached(y);

v));

t=s

1 4

{U(z,

y),

S(Z,

(E(z, for

y),

(j

=

y))

=makexpotent-ntwk

F(z,

l;j

y),

s(z),

i(y),

r);

< MAX-SWEEPS;

j + +)

{

r’ npush_flow

5

(E(z, if 6

(r

y),

(U(a,

v),

S(C,

(s(z), Next

} }

F(t3,

Next

g),

s(r),

i(y),

2, U(z,y),

T-NOT-REACHABLE)

~

y))

i(Y), Sweep

S(o,

y));

break;

?ls?wO

=update_rpotent_ntwk

~> u(~>Y),

S(*,

newl

new3

newz

Y)); Figure

3:

Edge

Partitioning

in

a Right

Potent

Network.

Phase

} 8.

Eventually, the

Figure

2: Pseudo-Code

for

Procedure

MAXIMLTM_FLOW.

the

augment

the

maximal

amount.

Because erated For

follows. Maximize:

x

algorithms

network. we

set

the

● the

edges

(z,

edge) ● the

or

y

flow

can

either . F’(y,

edge

are

used

4. There

can

the

be

tain to

7. The in

least

each

is on

partitioned

right

2,

a sequence

of

(BFS).

stored 4),

such

from

from

into

y)

the

As

vertex the

process

tion

that

that

found

from

augmenting

...,

the

what

5)

for

the

of the Hence,

layered

the

and

the

the

procedure

is

reachable

to

find

the St

and

of

Lines

useful thus

5 and

source

along

may

of Line

sets make

U]

6 constitute are

the

decremented

new

layered

one

our

op.

of we

the shall

symbolic

traditional

BDD

algo.

algorithms.

backward

Given

=

with

y),

the

excepthe

augmenting

(2, 1),

F’(z,

and

y),

new’(z),

first

O, 1, . . . .

toward

2, the

edge,

J3(c,

~~=o

i

directed

Section

start-

vertices

new-,

edges

one

graph,

the

analysis,

flow,

=

=

reached(z)

=

d?(z)

=

new--’(z)

. F’(z,

y)

two

newi(z),

the

. neru’’’-l

layers

are

(y)

by

all

the

from

still

set

6 is called

sweep, in

network

order

no

3)},

joint

404

are

edges

the are

that

augmenting

no

selected l)},

edges

the and

(1, 3)

bad

paths

could

the

been have

the

t$xcluded Layer

In

are

in

selected selected been

3),

3. by

sink,

vertices

this

edge

from

case,

(3, 6)

the

1 the

in we

is always

In

edges

are of

is nei-

right-potent

useful

instead from

it

partition

to In

the m,

forward_traverse,

(2, 4)}.

found

all

layer

which

2, which

Layer

{(2,

each

Pro.

working

newrn

new’”

Figure found

to

in

sink.

edges

sets

path

is thus

useful

reaches {(O,

if

and

in

i a

end

First,

S-,

new

construct

this

sets in

and

vertices

new no

the

set

However,

to To

operations.

U-

concepts

the

6 has

selected,

which

and

For

every

source. need

Second,

sets, from

these

the we

from

reachable. edge

in

property.

two

prunes

remaining

nor

Note

potent.

still

ther

useful

to

selected

illustrate

There

it

from

potent

nR(y)

.

Network

vertex

paths,

right

t is not

flow,

right

augmenting

t,

vertex

{(1,

of

sink

Since

layer

Potent

edges

y)

y)

every

useful

the

initial

network.

and

of

E(z,

U~(!Z,

Right

has

6 E new3. useful

+

performs

the and

We

assume

con-

set that

of edges

z)

forward.traverse,

which

useful

newm+l.

deletes

3y(V’’(z,y))

make~potent.ntwk

mrtices

8 to

UB(y,

=

a path

from

. m.

=

the

to

network

cedure

are

y)

a maximal

layered

of the calls

the

of

reached(z)

y)

call

backward

and

network

and

Building

After

propa-

S1.

paths.

sweep,

n-L,

in

(2, 3).

most sizes

of a given

example

has

and

new(-+’)(z)

S1 edges

which

by propagate-right-potency,

remains

1), (1, 3)},

the

storing

reachability

the

gen-

shortest.

Network and

existing

a

as follows.

3.2

edges,

flow

to In

(O, 2)

u --l(z,

any

builds

the

(2,

BFS

all

to

by

originally

Because

which the

a traversal vertices,

of an

useful.

for

Layered

step

phase

Nevertheless,

than

and be

implementations

). to

claim.

graphs

of source

CJq.,y)

edges.

augments

a

efficient

analogous

also 2),

such

layer, will

are

ordinary

0(IV13

proportional

the

augmenting

of

time

exist more

some point

generated

typically

make

?lR(c)

the most innova. priority junctions

from

is

there

each

paths

complexity

require

i-th

uB(a,

computations.

path

time

set

edges,

or

them.

the

{(O,

=0,

amount

any

Procedure

and

the

for

we perform

is

in

is true.

make_rpotent_ntwk

vertices

S[

sense

by

was

the

network

augmenting

cannot

the

are

path

edges.

symbolic

successive

edge)

y through

S1+l

routines contain In particular, over

E S’,

phase

at

in this

forward

a result

established

with

(Line

paths

point,

on

Ut (o, y)

y)

(non-saturated

in the

Z)lz.

sets

(c,

backward

by Procedures

loops

the If

current

enormously

The

i

of the

BDD’s

a given

forward source

start

existing

Building

source

that:

to

all

the

that

are

reached

‘(z).

sweeps

forward-traversal,

ing

The

in new

a path

edges).

potent to

is

one

push_flow

procedure

augment

network

through

the

edge-disjoint find

are

(Line

Y). F’(c,

algorithms,

at

paths

this

in Figure

Search

network

E(c,

ntwk. These our algorithm.

replace

edge-disjoint

6. At

In

layered

the

5. Procedure these

the

steps:

of BFS

(selected

supplied

called

t,through

sink

are

property

classic

exists

layer

lS’+l(y,

exhausted

of

to

in

through

First

y)

are