Grid

and

Hypercube

Spanners

Arthur

L.

Liestman

Thomas

C.

Shermer

School

of

Computing

Science

Simon

Fraser

University

Burnaby

B.C.

Canada

Abstract

A

t-spanner

of

a

network

is

a

subnetwork

in

which

every

two

nodes

that

were

connected

by

an

edge

in

the

original

network

are

connected

by

a

path

of

at

most

t

edges

in

the

subnetwork

We

present

t-spanners

with

small

maximum

or

average

degree

for

multi-dimensional

grids

and

hypercubes

We

show

how

to

construct

small

maximum

degree

for

d-dimensional

grids

for

d

small

maximumdegree

for

the

d-dimensional

hypercube

and

constant

average

degree

for

d-dimensional

grids

We

also

present

t-spanners

of

minimum

average

degree

for

grids

This

research

was

supported

by

the

Natural

Sciences

and

Engineering

Research

Council

of

Canada

under

Grants

No

and

Introduction

and

Definitions

The

hypercube

and

the

multidimensional

grid

are

among

the

more

popular

topologies

used

for

constructing

parallel

computers

One

drawback

to

these

structures

is

their

relatively

high

degree

at

each

vertex

In

this

paper

we

consider

substructures

of

grids

and

hypercubes

which

have

small

degree

These

substructures

called

spanners

have

the

property

that

the

edges

removed

from

the

original

structures

are

effectively

replaced

by

a

short

path

in

the

substructure

This

is

distinct

from

a

related

technique

in

the

literature

graph

embedding

in

which

a

logical

network

is

mapped

onto

another

host

network

-LRB-

See

for

example

-LSB-

-RSB-

-RRB-

A

network

is

represented

by

a

connected

simple

graph

G

-LRB-

V

E

-RRB-

A

spanning

subgraph

S

-LRB-

V

-RRB-

of

G

is

a

t-spanner

if

for

any

edge

-LRB-

a

b

-RRB-

of

G

there

is

a

path

from

a

to

b

in

S

with

t

or

fewer

edges

-LSB-

-RSB-

The

value

t

is

known

as

dilation

-LRB-

or

stretch-factor

-RRB-

By

this

definition

any

t-spanner

is

also

a

-LRB-

t

k

-RRB-

spanner

for

any

k

To

avoid

confusion

we

will

use

the

term

t-spanner

to

indicate

a

spanner

with

dilation

t

which

does

not

also

have

dilation

less

than

t

Our

goal

is

to

construct

for

a

given

network

small

dilation

spanners

with

low

maximum

-LRB-

or

average

-RRB-

degree

The

maximum

degree

of

S

is

denoted

and

the

average

degree

is

denoted

ffi

Another

important

measure

of

the

quality

of

a

spanner

is

congestion

that

is

the

amount

of

traffic

expected

across

edges

of

S.

Given

an

assignment

of

paths

in

S

corresponding

to

edges

in

G

the

congestion

of

an

edge

under

that

assignment

in

S

is

the

number

of

paths

that

use

that

edge

-LRB-

including

the

edge

itself

-RRB-

The

congestion

of

S

denoted

is

the

maximum

congestion

of

any

edge

in

S

where

is

minimized

over

all

assignments

of

paths

For

example

removing

a

single

edge

from

any

complete

graph

Kn

on

n

vertices

gives

a

of

Kn

with

In

this

paper

we

are

concerned

with

spanners

of

multidimensional

grids

and

hypercubes

Due

to

the

structure

of

grids

and

hypercubes

there

are

no

t-spanners

for

even

t.

Thus

is

the

smallest

nontrivial

dilation

which

may

be

achieved

by

a

spanner

It

will

be

convenient

to

describe

some

of

our

constructions

on

infinite

grids

and

then

to

consider

only

a

finite

part

of

the

construction

An

infinite

d-dimensional

grid

denoted

G

-LRB-

d

-RRB-

has

the

vertex

set

V

Zd

Its

edges

are

between

pairs

of

vertices

whose

labels

differ

by

in

exactly

one

position

that

is

vertex

-LRB-

ik

id

-RRB-

is

connected

to

exactly

those

vertices

-LRB-

ik

id

-RRB-

and

-LRB-

ik

id

-RRB-

where

k

d

A

finite

d-dimensional

grid

denoted

nd

is

the

induced

subgraph

of

G

-LRB-

d

-RRB-

on

vertices

-LRB-

id

-RRB-

with

ik

nk

for

k

d.

To

avoid

confusion

we

will

insist

that

nk

for

each

k

A

d-dimensional

hypercube

is

a

finite

d-dimensional

grid

nd

with

nk

for

k

d

We

use

the

term

d-cube

to

denote

the

d-dimensional

hypercube

Peleg

and

Schaffer

-LSB-

-RSB-

investigated

the

existence

and

constructability

of

sparse

spanners

for

various

classes

of

graphs

They

are

interested

in

the

number

of

edges

in

spanners

and

only

indirectly

with

the

degrees

of

the

vertices

In

particular

they

show

that

to

determine

for

a

given

graph

G

and

integers

t

m

whether

G

has

a

t-spanner

with

m

or

fewer

edges

is

NP-complete

Richards

and

Liestman

-LSB-

-RSB-

began

the

investigation

of

degree-constrained

spanners

by

studying

these

substructures

in

pyramids

Peleg

and

Ullman

-LSB-

-RSB-

constructed

a

of

the

d-cube

with

average

degree

-LRB-

They

prove

average

degree

for

even

d

and

for

odd

d

but

a

closer

analysis

gives

as

the

bound

for

all

d

-RRB-

In

Section

we

present

our

results

concerning

the

existence

of

for

both

grids

and

hypercubes

We

show

that

there

are

for

both

finite

and

infinite

grids

with

maximum

degree

and

congestion

We

also

show

that

for

higher

dimensions

there

are

for

both

finite

and

infinite

d-dimensional

grids

with

maximum

degree

d

and

congestion

We

show

that

there

is

a

of

the

d-dimensional

hypercube

with

maximum

degree

dd

e

and

congestion

d.

Finally

we

show

that

there

is

a

for

both

finite

and

infinite

d-dimensional

grids

with

average

degree

ss

for

large

d

In

Section

we

present

our

results

on

t-spanners

for

larger

t

in

grids

We

show

how

to

construct

t-spanners

of

infinite

grids

with

minimum

average

degree

This

construction

yields

spanners

with

congestion

t

which

we

show

to

be

optimal

for

t

-LRB-

mod

-RRB-

We

also

construct

t-spanners

for

finite

grids

with

average

degree

and

congestion

approximating

that

of

the

infinite

construction

In

this

section

we

describe

how

to

construct

of

multidimensional

grids

with

small

maximum

degree

Before

describing

the

constructions

for

higher

dimensions

we

illustrate

several

aspects

of

our

constructions

by

considering

the

case

of

dimensions

Figure

Brick

of

infinite

grid

of

Grids

Theorem

There

exists

a

for

the

grid

with

and

PROOF

To

construct

a

for

we

begin

by

describing

a

for

G

-LRB-

-RRB-

One

such

may

be

constructed

from

G

-LRB-

-RRB-

by

removing

edges

between

-LRB-

-RRB-

and

-LRB-

-RRB-

where

-LRB-

mod

-RRB-

This

of

G

-LRB-

-RRB-

illustrated

in

Figure

has

degree

at

all

vertices

so

ffi

The

length

three

paths

corresponding

to

each

missing

edge

of

the

original

grid

may

all

be

oriented

in

the

same

direction

-LRB-

say

to

the

left

in

the

figure

-RRB-

to

achieve

It

is

often

more

convenient

to

describe

the

construction

of

a

spanner

by

specifying

the

edges

retained

rather

than

the

edges

deleted

from

the

original

grid

The

above

spanner

can

be

constructed

by

including

edges

between

every

pair

of

vertices

-LRB-

-RRB-

and

-LRB-

-RRB-

and

then

adding

edges

between

pairs

of

vertices

-LRB-

-RRB-

and

-LRB-

-RRB-

where

-LRB-

mod

-RRB-

A

of

the

finite

grid

can

be

simply

obtained

by

taking

the

induced

subgraph

of

the

infinite

on

the

vertices

of

This

finite

also

has

An

example

of

such

a

spanner

is

shown

in

Figure

Note

specifically

that

any

of

the

missing

edges

along

the

border

of

the

finite

grid

correspond

to

a

path

of

length

within

the

spanner

Observe

also

that

some

of

the

vertices

of

the

spanner

have

degree

less

than

Thus

ffi

However

for

large

grids

ffi

ss

ab

Figure

Brick

of

finite

grid

In

the

infinite

grid

it

was

possible

to

orient

all

of

the

length

three

paths

corresponding

to

a

missing

edge

in

the

same

direction

to

achieve

However

in

the

of

Figure

it

is

necessary

to

orient

some

of

the

paths

in

the

opposite

direction

increasing

the

congestion

to

Consider

a

missing

edge

along

one

side

-LRB-

the

left

for

example

-RRB-

of

In

the

path

assignment

for

the

infinite

grid

this

edge

corresponded

to

a

path

lying

outside

of

the

induced

subgraph

The

endpoints

of

this

missing

edge

have

lower

degree

in

the

induced

subgraph

By

adding

the

missing

edges

along

this

side

of

as

shown

in

Figure

we

obtain

a

with

and

It

is

possible

to

obtain

of

grids

with

lower

average

degree

Although

we

address

this

issue

more

thoroughly

in

Section

an

example

of

such

a

spanner

allows

us

to

illustrate

a

potential

difficulty

in

obtaining

finite

spanners

from

infinite

spanners

A

different

of

G

-LRB-

-RRB-

can

be

constructed

by

including

edges

between

every

pair

of

vertices

-LRB-

-RRB-

and

-LRB-

-RRB-

and

then

adding

edges

between

pairs

of

vertices

-LRB-

-RRB-

and

-LRB-

-RRB-

where

-LRB-

mod

-RRB-

This

of

G

-LRB-

-RRB-

illustrated

in

Figure

has

Some

of

its

vertices

have

degree

while

others

have

degree

In

fact

among

any

vertices

-LRB-

-RRB-

-LRB-

-RRB-

and

-LRB-

-RRB-

two

have

degree

while

one

has

degree

Thus

ffi

for

this

of

G

-LRB-

-RRB-

Further

this

has

Figure

Long

brick

of

infinite

grid

To

obtain

a

of

the

finite

grid

we

begin

by

taking

the

induced

subgraph

of

the

infinite

on

the

vertices

of

An

example

is

shown

in

Figure

Note

that

some

of

the

missing

edges

along

the

border

of

the

finite

grid

do

not

correspond

to

a

path

of

length

within

the

current

spanner

Thus

this

is

not

a

Consider

any

such

missing

edge

The

corresponding

length

path

in

the

infinite

lies

outside

of

the

induced

subgraph

Each

of

its

endpoints

have

lower

degree

in

the

induced

subgraph

and

we

can

therefore

add

the

missing

edge

without

increasing

In

particular

by

adding

edges

between

vertices

-LRB-

-RRB-

and

-LRB-

-RRB-

where

-LRB-

mod

-RRB-

and

between

vertices

-LRB-

-RRB-

and

-LRB-

-RRB-

when

-LRB-

-RRB-

-LRB-

mod

-RRB-

we

obtain

a

with

The

completed

is

illustrated

in

Figure

In

later

constructions

we

will

often

be

required

to

make

such

local

corrections

along

the

borders

of

finite

grids

Note

that

the

above

construction

gives

a

with

and

with

ffi

ss

for

large

grids

of

d-dimensional

Grids

Theorem

There

exists

a

for

the

d-dimensional

grid

nd

with

d

and

PROOF

To

construct

a

of

the

infinite

d-dimensional

grid

G

-LRB-

d

-RRB-

include

only

the

edges

between

vertices

-LRB-

xi

xd

-RRB-

and

-LRB-

xi

xd

-RRB-

where

xi

x

-LRB-

i

-RRB-

modd

-LRB-

mod

-RRB-

ab

Figure

Long

brick

of

finite

grid

-LRB-

Note

that

in

this

section

our

use

of

modd

differs

from

the

usual

mod

function

in

that

kd

mod

d

is

assumed

to

be

d

rather

than

-RRB-

To

show

that

this

is

a

note

that

if

the

edge

between

vertices

-LRB-

xi

xd

-RRB-

and

-LRB-

xi

xd

-RRB-

in

nd

is

missing

in

our

structure

then

xi

x

-LRB-

i

-RRB-

modd

-LRB-

mod

-RRB-

Consider

the

values

of

x

-LRB-

i

-RRB-

modd

and

x

-LRB-

i

-RRB-

modd

If

x

-LRB-

i

-RRB-

modd

x

-LRB-

i

-RRB-

modd

-LRB-

mod

-RRB-

then

vertex

-LRB-

xi

xi

xd

-RRB-

is

connected

to

vertex

-LRB-

xi

xi

xd

-RRB-

and

vertex

-LRB-

xi

xi

xd

-RRB-

is

connected

to

vertex

-LRB-

xi

xi

xd

-RRB-

Further

we

know

that

-LRB-

xi

xi

xd

-RRB-

and

-LRB-

xi

xi

xd

-RRB-

are

adjacent

since

xi

-LRB-

x

-LRB-

i

-RRB-

modd

-RRB-

-LRB-

mod

-RRB-

Thus

the

connection

is

achieved

by

taking

one

step

up

in

the

next

-LRB-

modd

-RRB-

dimension

crossing

the

parallel

dimension

i

edge

and

returning

from

the

higher

dimension

If

x

-LRB-

i

-RRB-

modd

x

-LRB-

i

-RRB-

modd

-LRB-

mod

-RRB-

then

a

similar

path

is

found

by

stepping

down

in

the

next

dimension

The

congestion

of

this

is

From

the

above

description

it

is

clear

that

each

spanner

edge

in

a

particular

dimension

say

i

is

used

in

paths

corresponding

to

edges

in

the

original

grid

One

is

for

the

edge

itself

while

another

is

for

the

parallel

missing

dimension

i

edge

at

distance

in

dimension

i

The

other

two

are

for

the

two

missing

dimension

-LRB-

i

-RRB-

mod

d

edges

which

are

incident

on

the

endpoints

of

the

dimension

i

edge

To

construct

a

of

nd

begin

by

taking

the

induced

subgraph

of

the

infinite

on

the

vertices

of

nd

As

before

we

need

to

make

local

corrections

along

the

Figure

of

infinite

grid

borders

Consider

a

missing

dimension

i

edge

on

a

-LRB-

d

-RRB-

dimensional

face

of

the

finite

spanner

This

edge

is

added

if

it

corresponded

-LRB-

in

the

above

assignment

-RRB-

to

a

path

of

length

extending

beyond

the

finite

grid

In

that

case

there

must

have

been

dimension

i

edges

incident

on

the

two

endpoints

of

the

missing

edge

that

were

lost

when

the

infinite

spanner

was

restricted

to

the

finite

vertex

set

Thus

adding

the

edge

does

not

increase

the

degree

of

the

vertices

Furthermore

congestion

is

not

increased

A

dimensional

slice

of

a

of

the

infinite

grid

is

depicted

in

Figure

The

square

vertices

indicate

connections

to

the

layer

above

while

the

round

vertices

are

connected

to

the

layer

below

of

d-dimensional

Hypercubes

A

different

construction

gives

an

improvement

for

hypercubes

Theorem

There

exists

a

for

the

d-dimensional

hypercube

with

dd

e

and

d.

PROOF

To

construct

a

of

the

d-cube

include

only

the

following

edges

Connect

each

vertex

-LRB-

xi

xd

-RRB-

with

to

vertex

-LRB-

-LRB-

xi

-RRB-

mod

xd

-RRB-

for

all

odd

i.

Connect

each

vertex

-LRB-

xi

xd

-RRB-

with

to

vertex

-LRB-

-LRB-

xi

-RRB-

mod

xd

-RRB-

for

all

even

i.

Observe

that

each

vertex

-LRB-

xd

-RRB-

is

connected

to

-LRB-

xd

-RRB-

Vertices

with

have

degree

dd

e

while

vertices

with

have

degree

e

thus

dd

e

Since

all

of

the

dimension

edges

are

present

in

the

structure

any

missing

edge

of

the

d-cube

say

between

-LRB-

xd

-RRB-

and

-LRB-

xd

-RRB-

corresponds

to

a

path

through

neighboring

vertices

-LRB-

-LRB-

-RRB-

mod

xd

-RRB-

and

-LRB-

-LRB-

-RRB-

mod

xd

-RRB-

Thus

the

structure

is

a

of

the

d-cube

The

congestion

of

this

is

d

In

the

above

assignment

of

paths

each

dimension

edge

is

used

in

-LRB-

at

most

-RRB-

d

paths

one

for

the

edge

itself

and

once

for

each

missing

edge

at

one

of

its

endpoints

Vertices

with

are

missing

d

dd

e

bd

c

edges

while

vertices

with

are

missing

d

e

c

edges

Thus

since

each

dimension

edge

is

in

paths

corresponding

to

bd

c

c

d

missing

edges

d.

The

hypercube

construction

compares

favorably

with

the

Peleg

and

Ullman

construction

-LSB-

-RSB-

which

yields

a

of

average

degree

-LRB-

We

consider

the

Peleg

and

Ullman

construction

to

use

the

Hamming

code-derived

dominating

sets

in

the

hypercube

-LRB-

from

the

proof

of

their

Lemma

-RRB-

rather

than

the

minimum

dominating

sets

whose

construction

is

not

specified

-RRB-

An

exact

analysis

then

shows

that

our

construction

will

produce

spanners

with

smaller

average

degree

for

d

Thus

for

many

practical

sizes

our

construction

may

be

preferred

Since

the

Peleg

and

Ullman

construction

gives

a

of

the

d-cube

with

average

degree

ffi

bounded

by

a

constant

for

arbitrary

dimension

d

it

is

natural

to

search

for

a

construction

with

maximum

degree

bounded

by

a

constant

We

show

below

that

no

such

construction

can

exist

Recall

that

each

edge

in

the

d-cube

connects

a

pair

of

vertices

whose

labels

differ

by

in

exactly

one

position

Thus

there

is

a

natural

correspondence

between

an

edge

and

a

dimension

that

is

the

position

in

which

the

labels

differ

We

refer

to

two

edges

which

correspond

to

the

same

dimension

as

parallel

Observation

Let

e

be

an

edge

of

the

d-cube

between

some

pair

of

vertices

and

which

is

missing

from

a

S

There

must

be

a

length

path

of

edges

f

f

from

to

in

S

such

that

e

and

are

parallel

and

f

and

f

are

parallel

For

each

edge

e

of

the

d-cube

missing

from

a

we

choose

one

such

path

P

-LRB-

e

-RRB-

with

middle

edge

M

-LRB-

e

-RRB-

For

each

edge

e

in

the

spanner

let

M

-LRB-

e

-RRB-

e.

Thus

M

-LRB-

e

-RRB-

is

defined

for

each

edge

e

in

the

hypercube

and

M

-LRB-

e

-RRB-

is

always

parallel

to

e.

Let

d

-LRB-

v

-RRB-

denote

the

degree

of

vertex

v

in

the

spanner

Observation

An

edge

e

-LRB-

-RRB-

in

a

can

be

M

-LRB-

f

-RRB-

for

at

most

max

-LRB-

d

-LRB-

-RRB-

d

-LRB-

-RRB-

-RRB-

other

edges

f

Let

C

-LRB-

e

-RRB-

be

the

number

of

edges

f

for

which

e

is

M

-LRB-

f

-RRB-

C

-LRB-

e

-RRB-

jff

jM

-LRB-

f

-RRB-

egj

Observation

An

edge

e

between

vertices

and

in

a

has

C

-LRB-

e

-RRB-

max

-LRB-

d

-LRB-

-RRB-

d

-LRB-

-RRB-

-RRB-

Theorem

There

is

no

constant

maximum

degree

which

suffices

for

of

hypercubes

of

arbitrary

dimension

d.

PROOF

This

is

now

proved

by

simple

counting

The

d-cube

has

n

nodes

It

also

has

d

sets

of

parallel

edges

or

a

total

of

edges

A

with

maximum

degree

has

at

most

n

edges

These

edges

are

divided

among

the

d

dimensions

by

the

pigeonhole

principle

the

dimension

i

with

the

least

number

of

edges

of

the

spanner

will

have

at

most

=d

edges

Let

Ci

denote

the

sum

of

C

-LRB-

e

-RRB-

for

all

edges

e

in

dimension

X

Since

there

are

edges

of

the

hypercube

in

this

dimension

by

Observation

we

must

have

that

Ci

However

by

Observation

and

the

degree

constraint

CX

-LRB-

=d

-RRB-

-LRB-

=d

-RRB-

Thus

by

choosing

d

such

that

=d

-LRB-

i.e.

d

-RRB-

we

can

not

cover

all

edges

in

dimension

i.

Therefore

for

any

we

can

choose

a

d

-LRB-

e.g.

-RRB-

for

which

a

d-cube

does

not

have

a

with

maximum

degree

Constant

Average

Degree

of

d-dimensional

Grids

Theorem

There

exists

a

for

the

d-dimensional

grid

nd

with

ffi

ss

for

large

d.

abcd

Figure

Construction

of

infinite

PROOF

We

begin

by

constructing

a

of

the

infinite

d-dimensional

grid

G

-LRB-

d

-RRB-

with

ffi

for

large

d.

To

do

this

we

use

the

Peleg

and

Ullman

-LSB-

-RSB-

of

the

d-cube

with

average

degree

for

large

d.

To

aid

in

visualizing

the

construction

we

first

consider

the

case

A

simple

spanner

of

the

is

shown

in

Figure

We

use

this

spanner

for

To

span

we

add

a

mirror-image

copy

of

the

original

spanner

to

span

the

additional

square

of

the

grid

The

result

is

shown

in

Figure

By

adding

mirror-images

repeatedly

in

each

horizontal

direction

we

obtain

one

row

of

the

brick

of

Figure

as

shown

in

Figure

If

we

now

repeatedly

add

mirror-images

of

this

structure

in

each

vertical

direction

we

get

a

different

brick

which

is

shown

in

Figure

The

resulting

of

the

infinite

grid

G

-LRB-

-RRB-

has

ffi

with

some

vertices

of

degree

and

others

of

degree

Each

vertex

of

has

degree

or

in

the

of

Figure

In

the

infinite

spanner

the

degree

of

that

vertex

is

doubled

Each

of

its

incident

edges

corresponds

to

a

particular

dimension

and

is

duplicated

-LRB-

in

the

opposite

direction

-RRB-

when

the

adjacent

mirror-image

copy

is

added

in

that

dimension

There

is

a

natural

correspondence

between

vertices

of

the

infinite

dimensional

grid

G

-LRB-

-RRB-

and

the

vertices

of

the

finite

grid

Each

vertex

-LRB-

-RRB-

is

similar

to

vertices

-LRB-

-RRB-

where

-LRB-

mod

-RRB-

and

-LRB-

mod

-RRB-

with

the

same

degree

and

direction

of

neighbors

In

fact

the

vertices

can

be

broken

into

equivalence

classes

with

the

same

spatial

density

Since

two

of

the

equivalence

classes

have

vertices

of

degree

and

the

other

two

have

vertices

of

degree

the

average

degree

of

the

infinite

is

A

of

the

finite

grid

can

be

obtained

by

taking

the

induced

subgraph

of

the

infinite

on

the

vertices

of

Note

that

in

this

case

it

is

not

necessary

to

add

border

edges

The

average

degree

of

the

resulting

is

ss

We

can

mimic

this

construction

in

higher

dimensions

Begin

with

a

single

copy

of

the

Peleg

and

Ullman

d-cube

spanning

Add

mirror-images

repeatedly

in

each

direction

of

each

dimension

to

obtain

a

of

the

infinite

d-dimensional

grid

G

-LRB-

d

-RRB-

The

vertices

of

this

can

be

broken

into

equivalence

classes

with

the

same

spatial

density

each

corresponding

to

a

vertex

of

the

d-cube

A

vertex

in

such

a

class

has

double

the

degree

of

the

corresponding

vertex

of

the

d-cube

Since

the

d-cube

has

average

degree

the

constructed

infinite

has

average

degree

for

any

d

A

of

the

finite

d-dimensional

grid

nd

can

be

obtained

by

taking

the

induced

subgraph

of

the

infinite

on

the

vertices

of

nd

The

average

degree

of

the

resulting

is

ss

for

large

d.

Note

that

it

may

be

possible

to

improve

the

average

degree

by

taking

the

induced

subgraph

on

a

different

set

of

vertices

The

above

construction

could

be

carried

out

for

any

t-spanner

of

any

finite

d-dimensional

grid

with

maximum

degree

and

average

degree

ffi

to

obtain

a

t-spanner

of

the

infinite

d-dimensional

grid

G

-LRB-

d

-RRB-

with

maximum

degree

and

average

degree

Grid

t-Spanners

In

this

section

we

turn

our

attention

to

spanners

of

larger

dilation

Our

goal

is

to

construct

for

each

dilation

t

t-spanners

with

small

average

degree

for

grids

Lower

Bound

on

Average

Degree

Throughout

this

section

we

consider

a

t-spanner

S

of

a

two-dimensional

grid

G

where

t

is

finite

We

use

S

-LRB-

e

-RRB-

to

denote

the

length

of

the

shortest

path

in

S

between

the

endpoints

of

the

edge

e

We

define

the

dual

D

-LRB-

G

-RRB-

of

a

two-dimensional

grid

G

to

be

a

graph

with

one

vertex

per

unit

square

of

G

with

an

edge

between

vertices

of

D

-LRB-

G

-RRB-

corresponding

to

squares

of

G

that

share

an

edge

Figure

shows

part

of

a

grid

with

its

dual

shown

with

dashed

edges

In

this

dual

mapping

Figure

A

grid

and

its

dual

most

edges

e

of

G

have

corresponding

dual

edges

D

-LRB-

e

-RRB-

in

D

-LRB-

G

-RRB-

D

-LRB-

e

-RRB-

is

that

edge

of

D

-LRB-

G

-RRB-

which

is

between

the

vertices

corresponding

to

the

two

squares

of

G

sharing

the

edge

e

The

only

edges

which

do

not

have

duals

are

those

edges

on

the

border

of

a

finite

grid

Note

that

for

infinite

grids

this

is

a

true

duality

D

-LRB-

D

-LRB-

G

-RRB-

-RRB-

G

and

D

-LRB-

D

-LRB-

e

-RRB-

-RRB-

e.

Given

a

spanner

S

of

a

grid

G

define

the

skeleton

SK

-LRB-

S

-RRB-

of

the

spanner

S

to

be

a

graph

with

the

vertex-set

of

D

-LRB-

G

-RRB-

and

containing

all

dual

edges

D

-LRB-

e

-RRB-

such

that

e

is

not

in

S

A

spanner

and

its

skeleton

are

shown

in

Figure

Each

connected

component

of

the

skeleton

SK

-LRB-

S

-RRB-

gives

rise

to

a

tile

of

S

A

tile

T

is

the

collection

of

grid

squares

corresponding

to

the

vertices

of

a

component

SKi

of

SK

-LRB-

S

-RRB-

SKi

is

called

the

skeleton

of

tile

T

and

denoted

SK

-LRB-

T

-RRB-

Each

tile

is

therefore

a

polyomino

-LRB-

connected

set

of

grid

squares

-RRB-

Tiling

properties

of

polyominoes

have

been

well

studied

-LRB-

e.g.

-LSB-

-RSB-

-LSB-

-RSB-

-LSB-

-RSB-

-RRB-

We

let

NT

denote

the

number

of

squares

in

T

VT

denote

the

vertices

of

the

grid

which

are

on

T

and

ST

denote

the

subgraph

of

S

induced

by

VT

A

tile

its

skeleton

and

its

induced

subgraph

are

shown

in

Figure

A

tree

tile

is

a

tile

whose

skeleton

is

a

tree

A

tile

is

termed

infinite

if

it

contains

an

infinite

number

of

squares

Lemma

All

tiles

in

S

are

tree

tiles

PROOF

Suppose

that

T

is

a

tile

of

S

which

is

not

a

tree

tile

This

means

that

SK

-LRB-

T

-RRB-

which

Figure

A

grid

spanner

and

its

skeleton

Figure

A

tile

its

skeleton

and

induced

subspanner

Figure

T

is

not

a

tree

tile

by

definition

is

connected

must

contain

a

cycle

C

This

implies

that

ST

contains

at

least

two

components

one

inside

C

and

one

outside

C

as

illustrated

in

Figure

where

C

is

shown

dashed

These

two

components

are

also

separate

in

S

The

dual

of

any

edge

e

in

C

bridges

these

two

components

and

is

missing

from

S.

Thus

S

-LRB-

e

-RRB-

and

S

is

not

a

t-spanner

for

any

finite

t.

Lemma

The

maximum

number

of

squares

that

can

be

contained

by

a

cycle

of

m

edges

in

a

grid

is

bm

-LRB-

m

-RRB-

PROOF

Let

C

be

a

cycle

of

m

edges

and

R

be

the

smallest

rectangle

of

the

grid

-LRB-

possibly

C

-RRB-

enclosing

C

as

in

the

example

of

Figure

The

rectangle

R

contains

every

square

that

C

contains

and

will

not

have

more

edges

than

C.

Thus

we

need

only

show

that

the

lemma

holds

for

rectangles

of

m

-LRB-

or

fewer

-RRB-

edges

An

by

rectangle

has

-LRB-

-RRB-

edges

and

contains

s

squares

Therefore

we

are

interested

in

maximizing

where

bm

and

and

are

integers

The

maximum

is

achieved

when

bbm

bm

and

dbm

b

-LRB-

m

-RRB-

Thus

the

maximum

s

is

bm

-LRB-

m

-RRB-

For

the

proof

of

the

following

lemma

we

need

the

following

definitions

-LRB-

from

-LSB-

-RSB-

-RRB-

a

branch

of

a

tree

T

at

vertex

v

is

a

maximal

subtree

of

T

having

v

as

a

leaf

-LRB-

-RRB-

vertex

The

weight

of

Figure

A

cycle

and

its

enclosing

rectangle

v

is

the

maximum

number

of

edges

in

any

branch

at

v

A

vertex

is

a

centroid

vertex

of

T

if

it

has

the

minimum

weight

It

is

known

that

every

tree

has

either

one

centroid

vertex

or

two

adjacent

centroid

vertices

-LRB-

see

-LSB-

-RSB-

-RRB-

Lemma

Every

tile

T

of

a

t-spanner

S

of

a

grid

has

NT

-LRB-

t

-RRB-

-LRB-

t

-RRB-

PROOF

Suppose

some

tile

T

of

S

had

NT

-LRB-

t

-RRB-

-LRB-

t

-RRB-

Let

c

be

a

centroid

vertex

of

SK

-LRB-

T

-RRB-

The

weight

of

c

must

be

at

least

NT

divided

by

the

degree

of

c.

However

the

degree

of

c

is

at

most

and

the

weight

of

c

is

therefore

at

least

-LRB-

NT

-RRB-

b

-LRB-

t

-RRB-

-LRB-

t

-RRB-

Let

e

be

the

edge

on

c

leading

to

the

branch

of

SK

-LRB-

T

-RRB-

at

c

with

the

most

weight

Each

component

of

SK

-LRB-

T

-RRB-

e

has

more

than

b

-LRB-

t

-RRB-

-LRB-

t

-RRB-

vertices

otherwise

c

would

not

be

the

centroid

Furthermore

D

-LRB-

e

-RRB-

is

not

present

in

S

and

therefore

there

is

a

path

in

S

of

t

edges

from

one

endpoint

of

D

-LRB-

e

-RRB-

to

the

other

This

path

together

with

D

-LRB-

e

-RRB-

forms

a

cycle

of

t

edges

in

G

This

cycle

must

contain

all

of

the

squares

corresponding

to

the

vertices

of

one

of

the

component

trees

of

SK

-LRB-

T

-RRB-

e

i.e.

it

must

contain

more

than

b

-LRB-

t

-RRB-

-LRB-

t

-RRB-

squares

in

contradiction

to

Lemma

The

proof

above

only

holds

for

finite

tiles

However

a

similar

argument

holds

to

disallow

infinite

tiles

In

that

case

simply

choose

c

to

be

any

vertex

with

more

than

one

branch

of

weight

greater

than

b

-LRB-

t

-RRB-

-LRB-

t

-RRB-

An

edge

of

a

grid

-LRB-

or

of

a

tile

-RRB-

is

called

an

internal

edge

if

it

is

used

as

a

side

of

two

squares

-LRB-

of

the

grid

or

tile

-RRB-

and

a

border

edge

otherwise

The

number

of

internal

edges

of

a

spanner

S

is

denoted

IS

and

the

number

of

border

edges

BS

Lemma

For

any

spanner

S

of

ffi

-LRB-

S

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

-LRB-

-RRB-

PROOF

The

average

degree

of

S

is

-LRB-

IS

BS

-RRB-

Thus

we

are

finished

if

we

show

that

IS

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

-RRB-

-LRB-

-RRB-

It

is

exactly

the

internal

edges

of

the

grid

which

have

dual

edges

and

there

are

IG

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

such

internal

edges

IS

can

be

thought

of

in

the

dual

IS

is

the

number

of

edges

in

the

dual

grid

-LRB-

IG

-RRB-

minus

the

number

of

edges

of

the

dual

grid

whose

dual

is

not

in

S

Since

the

skeleton

of

S

has

exactly

those

edges

whose

duals

are

not

in

S

IS

is

IG

minus

the

number

of

edges

of

SK

-LRB-

S

-RRB-

The

number

of

edges

of

SK

-LRB-

S

-RRB-

is

-LRB-

-RRB-

-LRB-

-RRB-

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

so

IS

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

-RRB-

-LRB-

-RRB-

Corollary

a

For

any

spanner

S

of

G

-LRB-

-RRB-

ffi

-LRB-

S

-RRB-

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

PROOF

Let

ffi

n

-LRB-

S

-RRB-

be

the

smallest

average

degree

of

any

subgraph

of

S

induced

by

an

n

by

n

square

of

vertices

and

Sn

be

the

square

induced

subgraph

realizing

ffi

-LRB-

Sn

-RRB-

ffi

n

-LRB-

S

-RRB-

Then

ffi

-LRB-

S

-RRB-

lim

n

ffi

n

-LRB-

S

-RRB-

lim

n

-LRB-

n

-RRB-

-LRB-

n

-RRB-

-LRB-

ffi

-LRB-

SK

-LRB-

Sn

-RRB-

-RRB-

-RRB-

-LRB-

-RRB-

Noting

that

BSn

can

not

exceed

-LRB-

-RRB-

this

limit

if

it

exists

is

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

To

show

that

the

limit

exists

we

use

the

following

theorem

-LRB-

see

e.g.

-LSB-

-RSB-

Theorem

-RRB-

If

f

-LRB-

n

-RRB-

is

a

function

on

integers

for

which

f

-LRB-

n

-RRB-

f

-LRB-

n

-RRB-

and

f

-LRB-

kn

-RRB-

-LRB-

n

-RRB-

then

limn

f

-LRB-

n

-RRB-

exists

By

choosing

f

-LRB-

n

-RRB-

to

be

the

number

of

edges

in

Sn

f

-LRB-

n

-RRB-

satisfies

the

hypothesis

of

the

theorem

therefore

limn

f

-LRB-

n

-RRB-

exists

But

f

-LRB-

n

-RRB-

ffi

n

-LRB-

S

-RRB-

thus

limn

ffi

n

-LRB-

S

-RRB-

exists

Lemma

For

any

tile

T

in

a

spanner

ffi

-LRB-

SK

-LRB-

T

-RRB-

-RRB-

NT

PROOF

By

Lemma

SK

-LRB-

T

-RRB-

is

a

tree

Thus

SK

-LRB-

T

-RRB-

which

has

NT

vertices

has

NT

edges

Its

average

degree

is

therefore

-LRB-

NT

-RRB-

NT

NT

Corollary

a

For

any

spanner

S

of

G

-LRB-

-RRB-

with

all

tiles

having

N

squares

ffi

-LRB-

S

-RRB-

N

PROOF

By

Lemma

on

each

tile

ffi

-LRB-

SK

-LRB-

T

-RRB-

-RRB-

N

Thus

the

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

N

By

Corollary

a

ffi

-LRB-

S

-RRB-

-LRB-

N

-RRB-

N

An

interesting

particular

case

of

the

previous

corollary

is

a

monohedral

spanner

a

spanner

with

all

tiles

identical

We

will

use

monohedral

spanners

in

our

constructions

of

Section

We

can

combine

Lemmas

and

to

get

Corollary

b

For

any

tile

T

in

a

t-spanner

ffi

-LRB-

SK

-LRB-

T

-RRB-

-RRB-

-LRB-

t

-RRB-

-LRB-

t

-RRB-

Lemma

In

any

spanner

S

there

is

a

tile

T

such

that

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

ffi

-LRB-

SK

-LRB-

T

-RRB-

-RRB-

PROOF

Let

d

-LRB-

v

-RRB-

be

the

degree

of

vertex

v

VSK

-LRB-

S

-RRB-

be

the

vertices

of

SK

-LRB-

S

-RRB-

and

NSK

-LRB-

S

-RRB-

be

jVSK

-LRB-

S

-RRB-

j.

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

X

-LRB-

S

-RRB-

d

-LRB-

v

-RRB-

NSK

-LRB-

S

-RRB-

X

X

-LRB-

T

-RRB-

d

-LRB-

v

-RRB-

NSK

-LRB-

S

-RRB-

X

X

-LRB-

T

-RRB-

ffi

-LRB-

SK

-LRB-

T

-RRB-

-RRB-

NSK

-LRB-

S

-RRB-

Thus

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

being

an

average

-LRB-

over

all

vertices

not

all

tiles

-RRB-

of

ffi

-LRB-

SK

-LRB-

T

-RRB-

-RRB-

's

is

no

larger

than

the

maximum

of

the

ffi

-LRB-

SK

-LRB-

T

-RRB-

-RRB-

's

The

tile

Tmax

realizing

maximum

ffi

-LRB-

SK

-LRB-

T

-RRB-

-RRB-

is

the

tile

specified

by

the

lemma

We

can

now

state

a

lower

bound

on

the

average

degree

of

any

t-spanner

of

G

-LRB-

-RRB-

Theorem

For

any

t-spanner

S

of

G

-LRB-

-RRB-

ffi

-LRB-

S

-RRB-

-LRB-

t

-RRB-

-LRB-

t

-RRB-

PROOF

By

Corollary

b

and

Lemma

there

is

some

T

such

that

ffi

-LRB-

SK

-LRB-

S

-RRB-

-RRB-

ffi

-LRB-

SK

-LRB-

T

-RRB-

-RRB-

-LRB-

t

-RRB-

-LRB-

t

-RRB-

Corollary

a

then

implies

that

ffi

-LRB-

S

-RRB-

-LRB-

-LRB-

t

-RRB-

-LRB-

t

-RRB-

-RRB-

-LRB-

t

-RRB-

-LRB-

t

-RRB-

Optimal

Average

Degree

t-Spanner

Construction

for

G

-LRB-

-RRB-

We

now

show

that

the

lower

bound

of

Theorem

can

be

realized

Theorem

For

any

odd

t

there

exist

t-spanners

of

G

-LRB-

-RRB-

with

ffi

-LRB-

S

-RRB-

-LRB-

t

-RRB-

-LRB-

t

-RRB-

PROOF

If

t

then

G

-LRB-

-RRB-

is

itself

the

spanner

with

ffi

-LRB-

S

-RRB-

We

henceforth

consider

only

odd

t

Let

p

b

-LRB-

t

-RRB-

and

q

b

-LRB-

t

-RRB-

Either

p

q

or

p

q

In

the

former

case

t

-LRB-

mod

-RRB-

and

in

the

latter

case

t

-LRB-

mod

-RRB-

By

Corollary

a

a

tiling

with

all

tiles

having

squares

will

give

us

the

desired

average

degree

Consider

a

tile

T

with

NT

The

centroid

of

SK

-LRB-

T

-RRB-

must

have

branches

each

with

weight

pq

to

satisfy

Lemma

-LRB-

by

the

argument

given

in

Lemma

-RRB-

Thus

T

consists

of

a

centroid

square

connected

to

four

p

by

q

rectangles

First

consider

the

case

of

p

q

The

possible

tile

shapes

with

four

p

by

p

squares

around

a

central

unit

square

are

shown

in

Figures

and

c

The

interiors

of

the

large

squares

can

be

divided

in

any

manner

that

creates

a

tree

tile

and

does

not

violate

the

dilation

constraint

One

such

scheme

is

shown

in

Figure

We

will

later

consider

how

to

divide

these

squares

to

reduce

congestion

Note

that

the

two

tile

shapes

shown

are

actually

enantiomorphs

-LRB-

mirror-images

-RRB-

We

abc

Figure

Possible

tile

shapes

if

p

q

will

henceforth

consider

enantiomorphs

to

be

identical

A

spanner

of

the

desired

average

degree

is

constructed

by

tiling

the

plane

using

these

tiles

Such

a

tiling

in

fact

the

only

one

is

shown

in

Figure

When

t

-LRB-

p

q

-RRB-

the

tile

is

the

five-square

cross

shown

in

Figure

giving

the

familiar

cross

tiling

of

Figure

If

p

q

then

there

are

six

possible

general

tile

shapes

which

are

shown

in

Figure

The

tile

shapes

of

Figures

d

e

and

f

always

admit

monohedral

tilings

of

the

plane

One

such

tiling

for

the

tile

shape

of

Figure

is

shown

in

Figure

There

is

a

special

case

when

t

-LRB-

p

and

q

-RRB-

which

has

the

nine

tiles

shown

in

Figure

Of

these

tiles

all

but

the

large

cross

tile

-LRB-

Figure

-RRB-

admit

monohedral

tilings

Any

of

these

tilings

satisfies

the

theorem

We

call

any

spanner

of

G

-LRB-

-RRB-

which

satisfies

the

previous

theorem

a

ffi

optimal

spanner

and

any

tile

used

in

the

construction

in

the

proof

a

ffi

optimal

tile

Note

that

ffi

optimal

spanners

may

contain

tiles

which

are

not

ffi

optimal

tiles

but

only

if

such

tiles

are

infinitely

outnumbered

by

ffi

optimal

tiles

Thus

we

can

find

finite

but

arbitrarily

large

regions

in

ffi

optimal

tilings

which

contain

only

ffi

optimal

tiles

Congestion

on

ffi-optimal

Spanners

We

now

investigate

congestion

on

ffi

optimal

spanners

The

following

two

lemmas

provide

a

quick

visual

method

for

determining

the

congestion

on

a

ffi

optimal

tile

Figure

A

tile

with

entire

subspanner

shown

Figure

The

tiling

for

p

q

Figure

The

tiling

for

p

q

abcdef

Figure

Possible

tile

shapes

if

p

q

Figure

A

tiling

for

p

q

abcdefghi

Figure

Tiles

for

t

eCe

Figure

Illustrating

Lemma

Lemma

For

any

internal

edge

e

of

a

tile

of

any

spanner

S

of

a

grid

G

the

congestion

on

e

is

equal

to

one

plus

the

distance

in

SK

-LRB-

S

-RRB-

of

the

endpoints

of

D

-LRB-

e

-RRB-

PROOF

Let

Ce

be

the

cycle

of

D

-LRB-

G

-RRB-

formed

by

D

-LRB-

e

-RRB-

and

the

path

between

the

endpoints

of

D

-LRB-

e

-RRB-

in

SK

-LRB-

S

-RRB-

see

Figure

As

e

is

internal

to

a

tree

tile

this

path

exists

and

is

unique

Any

edge

f

of

Ce

has

a

dual

D

-LRB-

f

-RRB-

which

connects

a

vertex

inside

Ce

to

a

vertex

outside

Ce

Furthermore

if

f

e

f

is

missing

from

S

and

therefore

contributes

congestion

to

e

as

the

only

way

to

get

from

inside

of

Ce

to

outside

of

Ce

on

S

is

through

e.

Furthermore

e

itself

contributes

congestion

to

e.

Therefore

e

has

a

congestion

of

at

least

the

number

of

edges

in

Ce

For

any

edge

missing

from

S

that

is

not

D

-LRB-

f

-RRB-

for

some

f

in

Ce

either

both

of

its

endpoints

are

inside

Ce

or

both

are

outside

Ce

In

either

case

the

path

in

the

spanner

will

not

cross

e

-LRB-

assuming

the

path

is

simple

-RRB-

Thus

the

congestion

on

e

is

the

number

of

edges

in

Ce

which

is

one

plus

the

distance

in

SK

-LRB-

S

-RRB-

of

the

endpoints

of

D

-LRB-

e

-RRB-

Given

a

ffi

optimal

tile

T

we

let

zT

denote

the

centroid

vertex

of

SK

-LRB-

T

-RRB-

zT

is

the

vertex

dual

to

the

central

square

of

T

-LRB-

It

is

a

simple

observation

that

the

skeleton

of

any

ffi

optimal

tile

must

have

exactly

one

centroid

vertex

-RRB-

For

any

border

edge

e

on

any

tile

T

we

let

q

-LRB-

e

-RRB-

denote

the

vertex

of

SK

-LRB-

T

-RRB-

corresponding

to

the

square

of

T

adjacent

to

e.

Lemma

For

any

border

edge

e

on

any

ffi

optimal

tile

T

missing

edges

on

T

contribute

congestion

to

e

equal

to

the

distance

between

q

-LRB-

e

-RRB-

and

zT

in

SK

-LRB-

T

-RRB-

ezT

Figure

Illustrating

Lemma

PROOF

On

any

ffi

optimal

t-spanner

tile

the

border

of

the

tile

is

large

enough

that

each

missing

edge

has

exactly

one

simple

path

between

its

endpoints

of

length

t

i.e.

the

path

can

not

take

the

long

way

around

the

tile

Thus

any

missing

edge

in

one

of

the

large

rectangles

connected

to

the

centroid

square

will

have

its

spanner

path

staying

within

that

rectangle

We

therefore

need

only

consider

one

such

rectangle

and

its

connection

to

the

centroid

-LRB-

see

Figure

-RRB-

From

here

the

proof

is

like

that

of

Lemma

only

the

edges

dual

to

the

path

between

q

-LRB-

e

-RRB-

and

zT

will

contribute

to

the

congestion

on

e.

Using

the

previous

lemma

we

can

examine

the

border

edges

of

the

ffi

optimal

tile

shapes

and

label

each

one

with

the

least

possible

congestion

that

missing

edges

on

the

tile

could

contribute

to

that

edge

Figure

shows

this

labelling

for

one

tile

shape

and

the

tile

shape

In

general

the

minimum

contributed

congestion

to

border

edges

on

ffi

optimal

tiles

will

vary

between

b

-LRB-

t

-RRB-

and

-LRB-

t

-RRB-

Lemma

For

every

t

-LRB-

mod

-RRB-

t

any

ffi

optimal

t-spanner

of

G

-LRB-

-RRB-

must

have

t.

PROOF

Consider

a

ffi

optimal

tile

in

the

middle

of

a

large

area

of

ffi

optimal

tiles

in

the

ffi

optimal

spanner

In

the

locality

of

this

tile

the

spanner

looks

like

an

infinite

tiling

using

the

tile

shape

of

Figure

Since

there

is

only

one

such

tiling

this

means

it

is

locally

like

Figure

In

this

tiling

the

border

edges

with

minimum

contributed

congestion

of

-LRB-

t

-RRB-

from

two

different

tiles

Figure

Minimum

congestion

on

border

edges

coincide

These

edges

will

therefore

have

congestion

t

-LRB-

congestion

-LRB-

t

-RRB-

from

each

of

two

tiles

and

congestion

for

the

edge

itself

-RRB-

Thus

the

spanner

has

congestion

at

least

t.

We

believe

that

the

t

bound

holds

for

t

-LRB-

mod

-RRB-

as

well

-LRB-

except

for

the

special

case

t

-RRB-

Due

to

the

large

number

of

tiles

and

tilings

we

have

not

been

able

to

produce

a

proof

We

are

able

to

produce

ffi

optimal

t-spanners

with

t

lending

credence

to

our

conjecture

Lemma

For

every

odd

t

there

exist

ffi

optimal

t-spanners

of

G

-LRB-

-RRB-

with

t.

PROOF

We

again

separate

the

cases

t

-LRB-

mod

-RRB-

and

t

-LRB-

mod

-RRB-

and

use

the

tilings

given

in

the

proof

of

Theorem

If

t

-LRB-

mod

-RRB-

then

the

tiling

used

is

that

of

Figure

with

the

tiles

divided

as

in

Figure

By

Lemma

the

border

edges

on

a

tile

will

have

congestion

from

that

tile

ranging

from

b

-LRB-

t

-RRB-

to

-LRB-

t

-RRB-

In

the

tiling

edges

with

congestion

-LRB-

t

-RRB-

from

each

of

two

tiles

coincide

giving

a

congestion

of

t

on

each

such

edge

This

is

the

maximum

possible

congestion

on

a

border

edge

of

these

tiles

By

Lemma

the

internal

edges

on

the

tiles

will

have

congestion

at

most

where

p

b

-LRB-

t

-RRB-

-LRB-

t

-RRB-

is

the

length

of

the

side

of

the

large

squares

attached

to

the

centroid

unit

square

Thus

the

internal

tile

edges

can

not

have

congestion

greater

than

-LRB-

t

-RRB-

and

the

maximum

congestion

is

found

on

the

external

tile

edges

with

congestion

t.

ab

Figure

ffi

optimal

with

If

t

-LRB-

mod

-RRB-

a

similar

analysis

holds

using

the

tiling

of

Figure

with

tiles

divided

similarly

to

Figure

We

can

construct

a

ffi

optimal

of

G

-LRB-

-RRB-

using

the

tile

shown

in

Figure

and

the

tiling

shown

in

Figure

A

simple

probabilistic

argument

shows

that

this

is

the

smallest

possible

for

such

a

spanner

However

since

a

tiling

using

the

type

of

tile

shape

of

Figure

exists

only

for

t

and

not

for

other

t

-LRB-

mod

-RRB-

we

believe

this

t-spanner

with

t

to

be

a

special

case

Conclusion

We

have

shown

how

to

construct

for

both

grids

and

hypercubes

In

particular

we

constructed

for

both

finite

and

infinite

grids

with

maximum

degree

and

congestion

For

higher

dimensions

we

constructed

for

both

finite

and

infinite

d-dimensional

grids

with

maximum

degree

d

and

congestion

We

constructed

a

of

the

d-dimensional

hypercube

with

maximum

degree

dd

e

and

congestion

d.

Further

we

showed

that

there

is

a

for

both

finite

and

infinite

d-dimensional

grids

with

average

degree

ss

for

large

d.

ab

Figure

Better

average

congestion

We

have

also

shown

how

to

construct

spanners

of

larger

dilation

t

for

infinite

grids

In

particular

we

gave

a

construction

for

t-spanners

with

minimum

average

degree

and

congestion

t

for

any

odd

t

This

was

shown

to

be

optimal

for

t

-LRB-

mod

-RRB-

We

constructed

t-spanners

for

finite

grids

with

average

degree

and

congestion

approximating

that

of

the

infinite

construction

by

appropriately

truncating

the

infinite

spanner

and

adjusting

the

spanner

along

the

border

of

the

finite

grid

Another

measure

of

spanner

desirability

that

one

might

consider

is

the

average

congestion

on

the

edges

Figure

shows

a

way

to

divide

the

large

rectangles

of

a

ffi

optimal

tile

of

a

t-spanner

of

G

-LRB-

-RRB-

to

obtain

a

better

average

congestion

than

the

division

of

Figure

This

is

not

always

the

best

possible

as

Figure

shows

We

leave

open

the

problem

of

constructing

ffi

optimal

spanners

with

optimal

average

congestion

Another

open

problem

is

the

construction

of

good

t-spanners

for

d-dimensional

grids

where

t

and

d

References

-LSB-

-RSB-

Cybenko

G.

D.

W.

Krumme

and

K.

N.

Venkataraman

Fixed

Hypercube

Embedding

Inf

Proc

Lett

-LRB-

-RRB-

-LSB-

-RSB-

Golomb

S.

W.

Polyominoes

Charles

Scribner

's

Sons

New

York

-LRB-

-RRB-

-LSB-

-RSB-

Golomb

S.

W.

Polyominoes

Which

Tile

Rectangles

J.

Comb

Theory

A

-LRB-

-RRB-

-LSB-

-RSB-

Harary

F.

Graph

Theory

Addison-Wesley

Reading

Massachusetts

-LRB-

-RRB-

-LSB-

-RSB-

Klamkin

M.

S.

and

A.

Liu

Polyominoes

on

the

Infinite

Checkerboard

J.

Comb

Theory

A

-LRB-

-RRB-

-LSB-

-RSB-

Peleg

D.

and

A.

A.

Schaffer

Graph

Spanners

J.

Graph

Theory

-LRB-

-RRB-

-LSB-

-RSB-

Peleg

D.

and

J.

D.

Ullman

An

Optimal

Synchronizer

for

the

Hypercube

Proc

ACM

Symp

on

Princ

Distr

Comp

-LRB-

-RRB-

-LSB-

-RSB-

Richards

D.

and

A.

L.

Liestman

Degree-Constrained

Pyramid

Spanners

University

of

Virginia

Tech

Report

No

-LRB-

-RRB-

B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O

grid hypercube polyominoes spanner tiling


University of Leeds SCHOOL OF COMPUTER STUDIES RESEARCH REPORT SERIES Report 94.26 Removing Local Concavities from Delaunay Triangulations1 by J R Davy & P M Dew Division of Computer Science August 1994 1Submitted to Computer Aided Design Abstract A number of algorithms for constructing two-dimensional Delaunay triangulations build the triangulation incrementally within a bounding ` supertriangle ' , finally removing the vertices of the supertriangle and edges incident to them . It is shown that such methods may leave potentially large concavities within the boundary of the ensuing triangulation . An upper bound on the size of such concavities is derived and an efficient post-processing algorithm to remove them is presented . Delaunay triangulation is used in a wide range of computer applications , including terrain modelling -LSB- 1 -RSB- , computer vision -LSB- 2 -RSB- and mesh generation -LSB- 3 -RSB- . Its property of producing triangulations with ` well-shaped ' triangles makes it particularly appropriate for subsequent analysis techniques such as finite element methods . Many algorithms for computing Delaunay triangulations are known , including -LSB- 4 , 5 , 6 , 7 -RSB- . Some of these construct a supertriangle surrounding the points to be triangulated -LSB- 5 , 7 -RSB- , insert the points incrementally into the triangulation , then remove the supertriangle and all edges from it . Sloan and Houlsby note that boundary of the triangulation produced may be locally concave -LSB- 8 -RSB- . They suggest that this effect may be reduced by suitable choice of supertriangle points , and consider its impact not to be significant for most applications . More recently , however , the present authors encountered a situation in which the effects of local concavities cause a serious problem -LSB- 9 -RSB- . A parallel Delaunay triangulation program was implemented on a Meiko Computing Surface , combining two techniques from -LSB- 5 -RSB- , namely an incremental supertriangle method and a divide-andconquer algorithm . The input domain was partitioned into ` stripes ' and each stripe triangulated in parallel using the supertriangle algorithm . These triangulations were then merged pairwise in parallel , using the merge procedure from the divide-andconquer algorithm . Unfortunately the merge procedure relies on the convexity of the boundaries of the two merged triangulations , which means that concavities arising from the first stage cause the algorithm to fail . This was not a problem in the original context , because the merge procedure is initially applied to trivial two - or three-point triangulations whose convexity is guaranteed . Merging then maintains this convexity . In the parallel program , however , it is necessary to remove the local concavities before merging can occur . The solution of this problem is the subject of this note . There are two main results . The first shows the potential for very large local concavities to occur with supertriangle methods , giving a -LRB- tight -RRB- upper bound on their size . The second presents a fast algorithm to restore the convex boundary . Definitions Only two-dimensional problems will be considered . The Delaunay triangulation may be defined as follows -LSB- 6 -RSB- . Let V be a set of n > = 3 points in the Euclidean plane , 1 which are not all colinear , and let E be the set of edges joining pairs of points in V . A triangulation of V is is a graph T -LRB- V ; ET -RRB- where ET is a maximal subset of E such that no two edges of ET intersect except at a common vertex . A Delaunay triangulation has the further property that no point of V lies strictly inside the circumcircle of any triangle of T -LRB- the CIRCLE criterion -RRB- . The Delaunay triangulation may also be characterised by two other properties . The MAX-MIN-ANGLE criterion states that if the diagonal of any strictly convex quadrilateral is replaced by the opposite one , the minimum of the six internal angles is not increased . It is this criterion which guarantees the ` well-shaped-ness ' of the Delaunay triangulation . The third property characterises the Delaunay triangulation as a dual of the well-known Voronoi diagram -LSB- 5 -RSB- . Since these three properties are equivalent -LSB- 10 -RSB- , our subsequent discussion will use only the CIRCLE criterion . Two further terms are needed for the discussion of boundary concavities . Let DT be any supertriangle-based Delaunay triangle algorithm , and suppose that a triangulation T -LRB- V ; E -RRB- produced by DT has boundary points P1 ; P2 ; : : : Pn in counterclockwise order . The operation + on subscripts is viewed in a cyclic sense , in that Pn +1 is identified with P1 and P0 is identified with Pn . Definition 1 If Pi , Pj are boundary points , Pi is visible from Pj if and only if a line segment joining Pi to Pj intersects T -LRB- V ; E -RRB- only at Pi and Pj . Definition 2 A concavity of size s -LRB- > 0 -RRB- is a sequence of -LRB- s + 2 -RRB- boundary points Pj ; Pj +1 ; : : : Pj + s +1 in which ffl Pj + s +1 is visible from Pj ffl Pj + s +2 is not visible from Pj ffl Pj + s +1 is not visible from Pj ? 1 This definition is illustrated in figure 1 . In this and subsequent figures the interior of the triangulated region is above the boundary segment , so a counter-clockwise walk proceeds from left to right . Pj and Pj + s +1 will be called the initial and final vertices of the concavity . Intuitively , s is the number of points hidden within the concavity . P P P P P Pj + s +2 j j +1 j + s +1 j-1 j + s Figure 1 : Concavity of size s The existence of concavities The following theorem presents the principal result characterising the size of concavities . 2 Theorem 1 A triangulation produced by algorithm DT on a set of n points may have a concavity of size s , where 1 < = s < = n ? 3 . Proof of Theorem 1 The proof proceeds by demonstrating a set of points fP1 ; P2 ; : : : Png , together with a suitable supertriangle fS1 ; S2 ; S3g , for which the specified cavity is obtained . Choose any point S1 to be a vertex of the supertriangle . Next choose P1 ; P2 ; : : : Pm -LRB- where 3 < = m < = n ? 1 -RRB- to be on a circle centred at S1 such that the angle subtended at S1 by the arc P1P2 : : : Pm is less than 180ffi . The remaining points Pm +1 ; : : : Pm are chosen to satisfy two further conditions : ffl All of the lines S1Pm +1 ; : : : S1Pm properly intersect the arc P1P2 : : : Pm . -LRB- Intuitively , Pm +1 ; : : : Pm are on the other side of the arc from S1 -RRB- . ffl Pm +1 ; : : : Pm are all strictly outside the region Sm ? 1 i = 1 Ci where Ci is the circumcircle of triangle S1PiPi +1 . To complete the construction let S2 ; S3 -LRB- also outside Sm ? 1 i = 1 Ci -RRB- be chosen to complete a valid supertriangle enclosing P1 ; : : : Pn . This situation is shown in figure 2 in which S1 has been joined to each of the points P1 ; P2 ; : : : Pm . P P P P P P S To S To S 3 1 3 m 2 m-2 m-1 2 1 ... . P P P m +1 m +2 n Figure 2 : Set of points resulting in a concavity The proof is now completed by means of the following lemma . Lemma 1 All the edges S1P1 ; : : : S1Pm are contained in the Delaunay triangulation of S1 ; P1 ; : : : Pm . Since the remaining points Pm +1 ; : : : Pn ; S2 ; S3 are outside -LSB- m ? 1 i = 1 Ci , the CIRCLE criterion guarantees that adding to them to the triangulation of S1 ; P1 ; : : : Pm can not swap any of the edges S1P1 ; : : : S1Pm . Thus S1P1 ; : : : S1Pm are all edges of the Delaunay triangulation of fS1 ; S2 ; S3 ; P1 ; : : : Png . When the supertriangle is removed , edges S1P1 ; : : : S1Pm are also removed , leaving a boundary with a concavity 3 of size -LRB- m ? 2 -RRB- between . Since 3 < = m < = -LRB- n ? 1 -RRB- the size s of the concavity satisfies 1 < = s < = -LRB- n ? 3 -RRB- . 2 Proof of Lemma 1 Suppose , for a contradiction , that not all the edges S1P1 ; : : : S1Pm are in the Delaunay triangulation of S1 ; P1 ; : : : Pm . Let S1Pk be an edge not in the triangulation . Clearly k can not be 1 or m since this would leave a non-triangular polygon within the ` triangulation ' . Hence there must be a triangle PiPjPk -LRB- with i < k < j -RRB- in the Delaunay triangulation , as shown in figure 3 . But S1 is the centre of the circumcircle of PiPjPk and so lies inside it , contradicting the CIRCLE criterion . 2 P P P i j k S1 Figure 3 : Triangle contradicting IN CIRCLE criterion Note that it is possible to choose all the points P1 ; : : : Pn on the circle centred at S1 , thus leaving a ` triangulation ' with no interior when the supertriangle is removed . It is assumed that in practice this pathological case can be avoided . In practice the likelihood of concavities is reduced by moving the supertriangle vertices further away from P1 ; : : : Pn . If the distance is too great , however , the resulting long thin triangles may pose numerical problems for the CIRCLE test . A reasonable compromise reduces the number of concavities but it is still necessary to allow for their occurrence . Removing concavities The algorithm for concavity removal makes use of the following two basic geometric predicates : CCW -LRB- V 1 ; V 2 ; V 3 -RRB- returns true if the cycle V1V2V3 is oriented counterclockwise . IN CIRCLE -LRB- V 1 ; V 2 ; V 3 ; V 4 -RRB- returns true if V4 is inside the circumcircle of triangle V1V2V3 , where V1 ; V3 ; V2 ; V4 are the vertices of a quadrilateral in clockwise order . The test is applied to determine whether the -LRB- current -RRB- diagonal V1V2 is the correct diagonal to ensure that the triangulation is Delaunay ; if it succeeds , V3V4 should replace V1V2 as the diagonal of the quadrilateral . The concavities can be removed by a counter-clockwise walk around the boundary 4 of the triangulation , starting from a vertex which is not inside a concavity . -LRB- This can be guaranteed by starting from one of the vertices with maximum or minimum x or y coordinate -RRB- . Concavities are detected by use of the CCW predicate and are filled in as they are encountered . The algorithm is somewhat simplified by the following theorem . Theorem 2 No edges of the existing triangulation are deleted when filling in a concavity . Proof of Theorem 2 The proof depends on lemma 2 -LRB- Guibas and Stolfi -LSB- 5 -RSB- . -RRB- Lemma 2 Let L and R be two sets of points . Any edge of the Delaunay triangulation of L -LSB- R whose end points are both in L is in the Delaunay triangulation of L. Theorem 2 follows directly by using L = fP1 ; : : : Png and R = fS1 ; S2 ; S3g . 2 Two important concavity types can be distinguished , illustrated in figure 4 . In a visible concavity all the vertices of the concavity are visible from the initial vertex V1 . In a partially hidden concavity at least one of the vertices is not visible from V1 . 1 1 V V Visible concavities 1 1 V V Partially hidden concavities Figure 4 : Types of concavity A B C D A B C D A B C D A B C D concavity join frominitial vertex join frominitial vertex IN_CIRCLE test Original First forward second forward Swapping after -LRB- c -RRB- -LRB- d -RRB- -LRB- a -RRB- -LRB- b -RRB- Figure 5 : Forward-joining a visible concavity A visible concavity can be filled by joining the initial vertex to all the other vertices , a process called forward-joining . This may lead to suspect edges within the newly triangulated region which must be tested by IN CIRCLE and swapped if necessary . As an example , in figure 5 the initial vertex A is first joined to C. 5 A B C D E F A B C D E FA B C D E F Join A to F : edge AE is now suspect Swap AE for CF : edges AC and CE are now suspect After joining A to E original boundary new edges Figure 6 : Non-boundary suspect edges Edges AB and BC are now nominally ` suspect ' ; however theorem 2 means they need not be tested by IN CIRCLE , being on the original boundary . A is now joined to D making CD -LRB- on the original boundary -RRB- and AC suspect . Application of IN CIRCLE to AC leads to a swap , with new suspect edges AB and BC . In this case they were part of the original boundary and , in principle , need not be tested . In general , however , after swapping a suspect edge the new suspect edges may not have been on the original boundary , as shown in figure 6 . Hence after a swap both new suspect edges are stacked for subsequent testing . Thus some of the original boundary edges may be tested again . Since the region in which edge swapping may occur is outside the original triangulation boundary , the swapping process always terminates . -LRB- The edge stacking technique is also used in the incremental Delaunay triangulation algorithm in -LSB- 5 -RSB- , where it is shown to terminate and correctly produce a Delaunay triangulation . -RRB- -LRB- a -RRB- Two visible subconcavities each of size 1 . outer concavity Backward join sub-concavities Forward join boundary Original 1 -LRB- b -RRB- A single visible subconcavity of size 2 . Figure 7 : Examples of backward-joining 6 In general , joining the ith edge -LRB- i > 1 -RRB- across a visible concavity may need up to -LRB- 2i ? 1 -RRB- IN CIRCLE tests . Thus , in the worst , case , filling a simple concavity of size m -LRB- > = 2 -RRB- needs 3 + 5 + : : : + 2m ? 1 = m2 ? 1 applications of IN CIRCLE Filling partially hidden concavities is slightly more complex . The principle is that a partially hidden concavity always contains at least one visible sub-concavity . After each sub-concavity is filled a previously undetected outer concavity may be exposed , which can be filled by backward-joining from the final vertex of the subconcavity . Two examples are shown in figure 7 . In the first , an outer concavity can be filled by a single backward-join after two sub-concavities have been filled . With the second , the outer concavity is exposed after only one sub-concavity , but requires two edges to fill it by backward-joining . procedure CONVEXIFY -LRB- start -RRB- f start is an initial vertex which must not be within a concavity g v1 : = start v0 : = NEXT CW BOUNDARY PT -LRB- v1 -RRB- v2 : = NEXT CCW BOUNDARY PT -LRB- v1 -RRB- repeat v3 : = NEXT CCW BOUNDARY PT -LRB- v2 -RRB- if CCW -LRB- v2 , v1 , v3 -RRB- then FORWARD FILL -LRB- v1 , v2 , v3 -RRB- f Forward-joins a visible concavity g if CCW -LRB- v2 , v1 . v3 -RRB- then BACKWARD FILL -LRB- v0 , v2 , v1 -RRB- f Backward-joins an exposed concavity g endif endif f Move round boundary counter-clockwise g v0 : = v1 , v1 : = v2 until v1 = start end f CONVEXIFY g Figure 8 : Outline algorithm for CONVEXIFY Backward-joining also requires testing for suspect edges . By contrast with forwardjoining , however , there is no guarantee that any of the suspect edges were part of the original boundary , since they may have been created by forward-joining . Thus all suspect edges must be tested by IN CIRCLE . The complete algorithm CONVEXIFY , outlined in figure 8 , walks once round the original boundary , filling in visible concavities as they are met . After each visible concavity is filled any partially hidden concavity thereby exposed is also filled . The greatest number of edges to be inserted occurs when there is a visible concavity of size -LRB- n ? 3 -RRB- , requiring up to -LRB- n ? 3 -RRB- 2 ? 1 swaps . Thus the worst case performance is O -LRB- n2 -RRB- time . A lower bound on time is ? -LRB- nb -RRB- where nb is the number of boundary vertices in the initial triangulation , since even if there are no initial concavities there will still be nb applications of the CCW test . In practice , sensible choice of a supertriangle leads to few and small cavities , and the average complexity 7 of the algorithm is observed in practice to be close to the lower bound . Practical Performance Results The algorithm was implemented in C and executed on a single Inmos T800 transputer , to investigate its practical performance . Table 1 shows statistics gained from trial runs of CONVEXIFY on sets of pseudorandomly generated points . These results confirm that small numbers of concavities do indeed occur even with large supertriangles , including both visible and partially hidden concavities . Visible concavities of size greater than one occur , for instance with n = 100 . The number of boundary points on the original triangulation grows very slowly with the input set . Table 1 : Results of filling concavities Original After triangulation Filling Concavity filling operations extra new visible partially hidden edge circle n edges nb edges nb concavities concavities swaps tests 10 21 6 - 6 - - - - 20 50 7 - 7 - - - - 50 136 11 2 9 2 - - - 100 283 14 5 9 3 - - 2 200 579 18 4 14 3 - - 1 500 1473 24 8 16 5 - - 3 1000 2964 33 16 17 7 3 4 21 1500 4462 35 20 15 8 3 5 26 2000 5958 39 24 15 11 5 5 29 4000 11976 45 24 21 12 3 5 26 Table 2 shows execution times for CONVEXIFY for some of these data sets . Here the time for initial triangulation excludes input of the points . The extra time needed to fill concavities is negligible for practical purposes in comparison with the triangulation time . Though the filling time grows a little more quickly than nb it grows significantly more slowly than the triangulation time . Conclusions It has been shown that very large concavities may exist in Delaunay triangulations produced by supertriangle methods . Though these may not always be significant , the parallel Delaunay triangulation in -LSB- 9 -RSB- showed that it is sometimes necessary to remove these concavities . Algorithm CONVEXIFY removes visible and partially hidden concavities , both of which may occur in practice . Its execution time grows 8 Table 2 : Timing for filling concavities Execution time -LRB- seconds -RRB- n triangulation filling 500 3.290 0.008 1000 8.049 0.018 1500 13.625 0.023 2000 19.710 0.026 4000 50.082 0.027 very slowly with the size of the input set and is negligible in comparison with the main triangulation routine . Acknowledgments The support of Alan De Pennington and the Geometric Modelling Project at the University of Leeds is acknowledged . The work developed from a problem posed by Derek Capper . Thanks to Martin Dyer for helpful comments on a preliminary version of the paper . The first author was supported by a research studentship from the UK Science and Engineering Council . References -LSB- 1 -RSB- L. De Floriani , B. Falcidieno , and C. Pienovi . A Delaunay-based representation of surfaces defined over arbitrarily-shaped domains . Computer Vision , Graphics and Image Processing , 32:127 -LCB- 140 , 1985 . -LSB- 2 -RSB- J-D . Boissonnat . Shape reconstructions from planar cross-sections . Research Report 546 , INRIA , Le Chesnay , France , July 1986 . -LSB- 3 -RSB- J. H. Cheng , P. M. Finnegan , A.F Hathaway , A. Kela , and W. J. Schroeder . Quadtree/octree meshing with adaptive analysis . In Numerical Grid Generation on Computational Fluid Mechanics , Miami Beach Florida , December 1988 . -LSB- 4 -RSB- R. A. Dwyer . A faster divide-and-conquer algorithm for constructing Delaunay triangulations . Algorithmica , 2 -LRB- 2 -RRB- :137 -LCB- 151 , 1987 . -LSB- 5 -RSB- L. Guibas and J. Stolfi . Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams . ACM Transactions on Graphics , 4 -LRB- 2 -RRB- :74 -LCB- 123 , April 1985 . 9 -LSB- 6 -RSB- D. T. Lee and B. J. Shachter . Two algorithms for constructing a Delaunay triangulation . Int . Journ . Computer and Inf . Sciences , 9 -LRB- 3 -RRB- :219 -LCB- 242 , 1980 . -LSB- 7 -RSB- D. F. Watson . Computing the n-dimensional Delaunay tesselation with application to Voronoi polytopes . Comput . J. , 24 -LRB- 2 -RRB- :167 -LCB- 172 , 1981 . -LSB- 8 -RSB- S. W. Sloan and G. T. Houlsby . An implementation of Watson 's algorithm for computing 2-dimensional Delaunay triangulations . Advanced Engineering Software , 6 -LRB- 4 -RRB- :192 -LCB- 197 , 1984 . -LSB- 9 -RSB- J. R. Davy and P. M. Dew . A note on improving the performance of Delaunay triangulation . In Proceedings of CGI89 , pages 209 -LCB- 226 , Leeds , UK , June 1989 . Springer-Verlag . -LSB- 10 -RSB- C. L. Lawson . Software for C1 surface interpolation . In J. R. Rice , editor , Mathematical Software III , pages 161 -LCB- 194 . Academic Press , 1987 . 10

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O