Sparse

systems

solving

on

GPUs

with

GMRES

Abstract

Scientific

applications

very

often

rely

on

solving

one

or

more

linear

systems.

When

matrices

are

sparse,

iterative

methods

are

preferred

to

direct

ones.

Nevertheless,

the

value

of

nonzero

elements

and

their

distribution

(i.e.,

the

sketch

of

the

matrix)

greatly

influence

the

efficiency

of

those

methods

(in

terms

of

computation

time,

number

of

iterations,

result

precision)

or

simply

prevent

the

convergence.Among

iterative

methods,

GMRES

(Saad,

Iterative

methods

for

sparse

linear

systems.

PWS

Publishing,

New

York,

is

often

chosen

when

dealing

with

general

nonsymmetric

matrices.

Indeed

its

convergence

is

very

fast

and

more

stable

than

the

biconjugate

gradient.

Furthermore,

it

is

mainly

based

on

mathematical

operations

(matrix-vector

and

dot

products,

norms,

etc.)

that

can

be

heavily

parallelized

and

is

thus

a

good

candidate

to

implement

a

solver

for

sparse

systems

on

Graphics

Processing

Units

(GPU).

This

paper

presents

a

GMRES

method

for

such

an

architecture.

It

is

based

on

the

modified

Gram-Schmidt

approach

and

is

very

similar

to

that

of

Sparselib

(Barrett

et

al.,

Templates

for

the

solution

of

linear

systems:

building

blocks

for

iterative

methods,

SIAM,

Philadelphia,

Our

version

uses

restarting

and

a

very

basic

preconditioning.

For

its

implementation,

we

have

based

our

code

on

CUBLAS

(NVIDIA,

and

SpMV

(Bell

and

Garland,

Efficient

sparse

matrix-vector

multiplication

on

CUDA.

NVIDIA

technical

report

libraries,

in

order

to

achieve

a

good

performance

whatever

the

matrix

sizes

and

their

sketch

are.

Our

experiments

exhibit

encouraging

results

on

the

comparison

between

Central

Processing

Units

(CPU)

and

GPU

executions

in

double

precision,

obtaining

a

speedup

ranging

from

up

to

for

a

large

variety

of

problems.

For

the

past

years,

distributed

computing

has

been

taking

an

increasing

part

in

research

works,

while

"old

fashioned"

parallelism

has

more

or

less

become

limited

to

experimental

results

on

engineering

applications.

The

recent

developments

of

multicore

chips

and

specialized

hardware,

like

GPUs,

reverse

this

tendency,

providing

new

research

ways

in

high

performance

computing.

As

usual,

new

architectures

mean

new

or

adapted

algorithms

to

achieve

the

best

performances.

And

it

is

also

true

that

algorithms

must

take

into

account

data

organization.

It

is

well

known

that

mathematical

methods

are

different

whether

they

apply

on

dense

or

on

sparse

matrices..

In

dense

linear

algebra,

one

of

the

main

problems

to

address

is

that

of

memory

management.

For

example,

executing

a

task

in

parallel

on

the

two

cores

of

an

Intel

Xeon

may

take

longer

than

if

only

one

core

computes.

This

negative

speedup

mainly

comes

from

the

fact

that

a

single

memory

bus

feeds

the

cores

with

an

insufficient

bandwidth

and

chipset

to

support

efficient

interlaced

accesses..

It

is

obvious

that

algorithms

doing

a

lot

of

calculations

compared

to

their

volume

of

data

should

hide

a

low

memory

bandwidth

better.

But

the

main

point

is

to

have

a

fine

granularity

of

calculations

in

order

to

use

the

local

cache

of

each

core

efficiently.

It

is

especially

true

on

GPUs

where

a

pool

of

threads

may

have

access

to

a

fast

shared

memory

segment.

Nevertheless,

each

thread

must

peek

to

particular

locations

of

this

segment

in

order

to

have

a

real

parallel

access.

Otherwise,

accesses

are

sequentialized..

In

the

sparse

domain,

we

can

intuitively

say

that

this

problem

is

magnified

since

the

matrices

are

often

stored

in

compressed

schemes

that

imply

memory

indirections

to

access

nonzero

values.

Thus,

local

caches

are

poorly

used.

Obviously,

this

effect

can

be

minimized

if

the

matrices

are

stored

in

dense

blocks.

Unfortunately,

this

solution

is

not

advisable

for

a

large

variety

of

problems,

for

example,

those

leading

to

diagonal

dominant

or

spray

matrices..

In

this

case,

a

lot

of

libraries

propose

sets

of

functions

to

solve

sparse

systems

with

various

iterative

methods

(GMRES

Conjugate

Gradient

It

is

well

known

that

each

of

these

methods

has

advantages

and

drawbacks

when

compared

to

one

another.

A

lot

of

efforts

have

been

made

to

optimize

the

stability,

precision,

convergence

speed,

memory

usage,

etc.,

thus

the

overall

performance

of

each

method.

Less

efforts

may

have

been

made

to

improve

the

raw

performance,

that

is

the

execution

time,

because

a

lot

of

"end-users"

are

more

interested

in

having

a

reliable

result

than

in

optimizing

the

time

consumption..

Obviously,

computer

science

researchers

are

concerned

and

have,

therefore,

tried

to

parallelize

these

methods

more

or

less

successfully

on

different

architectures.

Libraries

like

PETSc

achieve

really

good

performances

on

clusters,

partly

because

the

memory

management

problem

discussed

above

is

overwhelmed

by

the

volume

for

computations

and

the

need

for

global

communications.

Nevertheless,

taking

the

same

number

of

processors,

the

best

performance

was

often

achieved

on

shared

memory

machines,

for

which

the

memory

management

and

the

granularity

of

computations

are

the

main

problems

to

address

to

optimize

the

execution

time.

This

is

why

it

is

particularly

interesting

to

develop

and

test

classical

iterative

methods

on

new

architectures

like

GPUs..

The

goal

of

this

article

is

to

show

that

GMRES

can

be

implemented

relatively

easily

on

NVIDIA

GPUs

to

obtain

a

ratio

out

of

a

CPU

execution.

Section

briefly

describes

the

NVIDIA

GPUs

architecture

and

its

coding

principles

with

CUDA

Section

presents

the

GMRES

algorithm

and

the

requirements

to

adapt

it

for

GPUs.

Section

shows

experimental

results,

comparing

CPU

and

GPU

executions

for

various

matrices.

Finally,

Sect.

presents

with

more

details

some

implementation

choices

we

made

and

some

other

works

related

to

system

solving

on

GPUs.

As

shown

in

previous

sections,

the

sparse

matrix-vector

multiplication

is

a

critical

operation

to

reach

a

good

performance.

Several

works

like

and

propose

efficient

kernels,

using

special

storages.

Both

and

compare

their

results

to

the

best

kernel

in

and

it

seems

they

obtain

better

performances

in

some

cases.

Nevertheless,

their

evaluation

context

is

not

clear

and

it

is

difficult

to

judge

the

pertinence

of

their

results.

For

example,

they

never

indicate

if

the

computations

are

in

single

or

double

precision.

does

not

give

the

matrix

sizes

and

the

number

of

nonzero

values.

gives

it

but

the

matrices

that

were

chosen

are

generally

small

compared

to

the

memory

available

on

the

tested

GPU.

Furthermore,

they

do

not

talk

about

what

is

measured,

notably

if

they

include

or

not

the

cost

of

the

matrix

transfer

into

memory

and

possible

data

reorganizations

to

fit

a

particular

format.

is

far

more

detailed

about

these

points

and

achieve

a

very

good

performance

when

calling

their

kernel

based

on

an

hybrid

storage

(ELL

plus

COO,

both

these

formats

are

described

in

This

is

why

we

have

used

this

routine

for

the

experiments

conducted

in

this

paper..

Other

studies

have

been

completed

to

design

efficient

sparse

linear

solvers

for

GPU.

In

authors

present

Concurrent

Number

Cruncher

(CNC),

a

general

symmetric

sparse

system

solver,

based

on

the

conjugate

gradient

method.

The

storage

of

sparse

elements

is

based

on

blocks.

In

many

case,

the

use

of

hybrid

storage

is

more

efficient.

Moreover,

the

conjugate

gradient

method

is

less

general

than

the

GMRES

one..

In

authors

present

another

GMRES

implementation

on

GPU.

Their

experiments

are

done

on

matrices

that

are

not

available.

Moreover,

they

do

not

give

information

on

the

structure

and

on

the

number

of

nonzero

elements

of

the

matrices

they

used.

They

do

not

obtain

the

same

number

of

iterations

with

their

CPU

and

GPU

implementations

while

their

precision

is

relatively

poor..

In

authors

describe

the

design

and

the

implementation

of

the

Jacobi

and

the

bi-conjugate

gradient

method

on

GPU.

Those

methods

are

less

efficient

and

general

than

the

GMRES

method

and

they

only

consider

diagonal

matrices.

In

this

section,

we

report

the

experiments

we

have

performed

to

evaluate

the

speed

of

our

implementation

of

the

GMRES

algorithm.

In

order

to

measure

the

benefit

of

using

a

GPU

for

solving

such

sparse

linear

systems

instead

of

using

traditional

CPU,

we

have

used

a

Xeon

CPU

GHz

with

GB

memory,

hosting

a

NVIDIA

GTX

with

GB

memory.

All

results

are

for

double

precision

data.

On

the

one

hand,

it

is

a

drawback

to

have

an

efficient

access

to

memory

in

actual

GPU

architectures,

but

on

the

other

hand,

it

is

mandatory

to

reach

a

good

precision,

under

−7

in

most

cases.

Indeed,

the

few

tests

we

made

with

single

precision

data

have

shown

that

precision

was

limited

to

−4

while

the

execution

time

was

only

times

faster.

Thus,

"doubles"

are

a

better

trade-off

between

performance

and

precision..

As

usual

in

this

type

of

tests,

we

took

matrices

issued

from

different

scientific

fields,

with

a

large

variety

of

properties.

We

chose

quite

huge

matrices

with

a

relatively

high

number

of

nonzero

values.

Associated

with

a

medium

restarting

limit

of

it

leads

to

an

average

filling

of

the

GPU

memory.

For

example,

solving

the

problem

implies

nearly

MB

of

memory..

All

those

matrices

are

available

on

the

Sparse

Matrix

Florida

Collection

Their

properties

are

summarized

in

Table

For

each

matrix,

the

second

column

provides

the

problem

size,

that

is

the

number

of

rows

in

A.

As

we

only

consider

square

matrices,

the

number

of

columns

is

equal

to

the

number

of

rows.

The

number

of

nonzero

elements

is

another

important

parameter

that

is

given

in

the

third

column.

The

fourth

column

gives

a

brief

description

of

the

considered

problem

that

provides

this

matrix.

Finally,

Fig.

gives

the

sketch

of

each

matrix,

illustrating

where

the

nonzero

elements

are

located.

For

some

matrices,

most

elements,

if

not

all

of

them,

are

close

to

the

diagonal

whereas

for

others,

some

elements

are

far

from

the

diagonal.

In

Table

we

report

the

number

of

floating

point

operations

per

second

(in

Gflops)

for

each

version

of

the

solver

(CPU

and

GPU).

This

number

includes

the

total

solving

of

the

system.

We

also

computed

the

percentage

of

flops

used

by

the

sparse

product

matrix

vector

during

this

solving.

As

shown

in

the

fourth

column,

this

percentage

varies

according

to

the

structure

of

the

matrix

(size,

number

of

nonzero

elements,

etc.).

Compared

to

the

results

presented

in

solving

a

linear

system

in

GPU

is

obviously

less

efficient

than

simply

computing

the

SpMV.

It

can

be

easily

explained

by

the

fact

that

during

the

solving

of

a

linear

system,

many

operations

are

used

in

addition

to

the

SpMV

and

some

of

them

are

not

really

efficient

on

GPU.

For

instance,

all

computations

of

dot

products

and

norms

require

a

parallel

reduction

which,

by

definition,

cannot

use

all

the

threads

of

a

GPU.

Nevertheless,

for

our

experiments,

the

number

of

Glops

with

the

GPU

varies

between

and

In

order

to

validate

our

results

we

have

always

verified

the

solution

of

the

system

by

computing.

where

X

cpu

represents

the

solution

vector

computed

by

the

CPU

and

where

the

function

max

finds

the

maximum

among

the

components

of

a

vector..

We

also

compute

the

difference

between

the

CPU

and

the

GPU

solutions

using.

where

X

gpu

represents

the

solution

vector

computed

by

the

GPU.

In

Table

we

report

the

execution

times

in

ms

of

both

versions,

for

a

threshold

a

restart

limit

m

and

a

right-hand

side

b

filled

with

We

have

always

used

the

matrix

format

(and

thus

the

SpMV

kernel)

that

minimizes

the

execution

time:

hybrid

format

(ELL

plus

COO)

for

GPU

and

CSR

format

for

CPU.

The

table

also

contains

the

number

of

iterations

required

to

reach

the

threshold,

the

ratio

between

the

elapsed

time

of

CPU

and

GPU

versions,

the

precision

reached

as

expressed

in

and

the

difference

between

both

version

as

expressed

in

Execution

times

represent

only

the

solving

time

and

do

not

include

the

cost

of

transferring

and

storing

the

matrices

in

the

hybrid

or

CSR

format..

These

results

clearly

show

that

the

GPU

version,

with

the

same

level

of

precision

as

the

CPU

version

is

yet

faster.

It

should

be

noticed

that

this

precision

is

low

for

the

hood

and

pwtk

matrices,

despite

the

small

threshold

chosen.

Actually,

these

matrices

are

particularly

ill-conditioned,

which

leads

to

the

low

precision

and

the

slow

convergence.

Further

tests

should

be

done

with

more

complex

preconditioning

matrices..

The

number

of

iterations

for

both

versions

is

always

identical.

The

ratio

of

execution

times

between

both

version

ranges

from

more

than

up

to

The

larger

the

size

of

the

matrix

is,

the

closer

the

elements

from

the

diagonal

are,

the

faster

the

GPU

version

is

compared

to

the

CPU.

We

can

also

notice

that

performances

are

relatively

independent

from

the

structure

of

the

matrices.

In

our

examples,

some

are

typical

diagonal

dominant

whereas

others

are

very

spray.

Likewise,

matrices

are

issued

from

different

scientific

fields.

O O O O O O B 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 B I B 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B I 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 B O O O O O O B 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 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 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 B 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 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 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 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 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 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 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 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 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 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 B 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 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 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 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


Symbolic Reachability Analysis of FIFO-Channel Systems with Nonregular Sets of Configurations Abstract. We address the veri cation problem of FIFO-channel systems by applying the symbolic analysis principle. We represent their sets of states (con gurations) using structures called CQDD's combining nitestate automata with linear constraints on number of occurrences of symbols. We show that CQDD's allow forward and backward reachability analysis of systems with nonregular sets of con gurations. Moreover, we prove that CQDD's allow to compute the exact e ect of the repeated execution of any xed cycle in the transition graph of a system. We use this fact to de ne a generic reachability analysis semi-algorithm parametrized by a set of cycles . Given a set of con gurations, this semi-algorithm performs a least xpoint calculation to construct the set of its successors (or predecessors). At each step, this calculation is accelerated by considering the cycles in as additional \meta-transitions" in the transition graph, generalizing the approach adopted in 5]. Analyzing the behaviour of systems relies basically on solving reachability problems in their models, that are in general nite-state automata supplied with (possibly unbounded) data structures (Petri nets, timed or hybrid automata, fo-channel systems, etc). It is therefore fundamental to compute the set of all successors or all predecessors of a given set of states S, i.e., the set of states that are reachable from S, or those from which it is possible to reach S. Let post(S) (resp. pre(S)) denote the set of immediate successors (predecessors) of the set S, and let post (S) (pre (S)) denote the set of all its successors (predecessors). Clearly, post (S) is the limit of the in nite increasing sequence (X i ) i 0 with X 0 = S and X i+1 = X i post(X i ) for every i 0. Similarly, pre (S) is the limit of the in nite sequence obtained by considering pre instead of post.. Unfortunately, for any interesting class of in nite-state systems, the sets X i are in general in nite and the sequence (X i ) i 0 is not guaranteed to reach its limit. Hence, the rst problem is to nd a class of nite structures that can represent the in nite sets of states we are interested in. This class of structures should be e ectively closed under union and the post and pre functions such that the X i 's can be calculated. Moreover, to compare two sets and to check whether a given state belongs to an in nite set, the membership and the inclusion problems of the class should be decidable.. For instance, for systems manipulating integer or real valued variables (Petri nets or timed and hybrid automata), representation structures based on polyhedra or sets of linear constraints are used 3, 6, 2, 13] . In systems manipulating sequential data structures like stacks or queues sets of states are vectors of words, and automata-based representation structures can naturally be used.. Another problem is the convergence of the sequence of X i 's. In general this sequence never reaches its limit and an exact acceleration of the computation of the limit is considered by de ning another increasing sequence (Y i ) i 0 such that for every i 0, X i Y i , and Y i S i 0 X i . This approach has been used 9, 7] to de ne model-checking algorithms for pushdown systems using (alternating) nite-state automata to represent sets of stack contents.. In 5], nite-state automata-based structures called QDD's are used to represent queue contents of fo-channel systems (communicating nite-state machines, CFSM). However, contrary to the case of pushdown systems, the set of reachable states of a CFSM is not regular in general, and hence not QDD representable. Moreover, there is no algorithm allowing to construct the set of reachable states even if we know that it is regular 10, 12, 1]. To face this problem 5] proposes an acceleration technique based on adding to each X i+1 the set of states post (X i ) which corresponds to the set of all successors after repeating as much as possible a cycle of a special kind (called meta-transitions). The restriction on the nature of guarantees that the post image of a regular set is also regular.. In this paper, we also consider CFSM's and propose a generalization of the approach adopted in 5] by allowing an exact acceleration of the xpoint calculation with the successors by any cycle in the transition graph of the system. The diculty comes from the fact that the set of reachable states by a cycle is in general nonregular. Therefore, we propose a representation structure called CQDD (constrained QDD) allowing the representation of such sets. This structure is based on a combination of (simple) nite-state automata with Presburger arithmetics formulas expressing constraints on the number of occurrences of symbols.. We show that CQDD's satisfy the desirable properties of a representation structure mentioned above. Moreover, and this constitutes our main result, we prove that the class of CQDD representable sets of states is e ectively closed under the function post for every cycle . We prove also that the class of CQDD reverse representable sets of states (their reverse image is CQDD representable) is e ectively closed under the function pre for every cycle . These results allow to de ne a generic reachability analysis semi-algorithm which is parametrized by a set of cycles in the transition graph of the system. When it terminates, our algorithm returns the exact set of successors (or predecessors) of a given CQDD representable (or CQDD reverse representable) set of states. Several analysis algorithms can be derived from our algorithm by determining adequate strategies for choosing the set of cycles to be considered to accelerate the xpoint calculation. The algorithm of 5] can be seen as a particular instance of our algorithm.. Related work: In 16, 11] a model-checking semi-algorithm is proposed for CFSM, based on a nite representation of the state-graph by means of graph grammars. This approach is di erent from ours since it is based on a nite representation of the state-graph instead of a nite representation of the set of states. There are other existing works on the analysis of CFSM's assuming that the systems have lossy or unreliable channels (queues) 1, 12] . In our work we do not have such assumptions. Other works propose (terminating) algorithms generating an upper approximation of the set of reachable states 15]. This is di erent from our approach because we construct the exact set of reachable states as a xpoint calculation and helping the termination of this calculation by exact accelerations.. The rest of this paper is organized as follows. In Section 2 we introduce some basic de nitions. In Section 3 we de ne CFSM's and the successors and predecessors functions. In Section 4, we de ne CQDD's and give basic results. In Section 5, we show how CQDD's can be used to represent nonregular sets of states and give our main results on the class of CQDD representable and reverse representable sets of states. In Section 6, we present our generic forward and backward analysis algorithm. Finally, we conclude in Section 7. Due to lack of space we omit the proofs of the theorems. They can be found in 8].

B I I O B I 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 B 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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


Local Shape of Generalized Offsets to Algebraic Curves In this paper we study the local behavior of an algebraic curve under a geometric construction which is a variation of the usual offsetting construction, namely the generalized offsetting process ([13]). More precisely, here we discuss when and how this geometric construction may cause local changes in the shape of an algebraic curve, and we compare our results with those obtained for the case of classical offsets ([4]). For these purposes, we use well-known notions of Differential Geometry, and also the notion of local shape introduced in [4] . The notion of generalized offset (see [12] , [13] for a more formal definition of this notion and a large study of algebraic and geometric properties) arises in the literature as a generalization of usual offsets. In order to introduce this notion, one may consider the following construction over a given algebraic curve C: for every non-isotropic, regular point P ∈ C, take the normal line L P to C at P , rotate it θ degrees, and consider the points P ±d,θ lying on L P at a distance d of P . Then the generalized offset G d,θ (C) is the Zariski closure of the set consisting of all the points P ±d,θ computed this way. In this context, the usual notion of offset (which corresponds to the case when θ defines a rotation leaving L P invariant) is called the classical offset O d (C) of the curve (see [7] , [10] , [11] ). For example, in Figure 1 one has, for different distances, the classical and the generalized offsets for θ = π/4 of an ellipse. Notice that this construction works over C; nevertheless, in the following we will assume that C is real, and we will focus on the real part of its generalized offset, for a real distance and a real angle. Algebraic properties of generalized offsets have been considered in the literature (see [5] , [6] , [13] , [14] ). In this sense, a nice result is that properties like the number of components, genus and therefore rationality, are invariant for the angle θ; so, they are shared by all the generalized offsets (including the classical offset) of a given curve. Thus, it is natural to wonder whether the same happens when the shape of generalized offsets is considered. This paper explores this problem from a local point of view.. Questions on the shape of classical offsets have already been analyzed (see [1] , [3] , [4] , [8] , [9] ). Moreover, in [4] local aspects on the shape of classical offsets of possibly singular algebraic curves are studied. In that paper the notion of local shape is introduced in order to locally describe the shape of a curve. Basically, this notion describes the shape of a real branch of an algebraic curve in the vicinity of a point. So, one may prove (see [3] , [4] ) that there are four different behaviors that a real branch can exhibit, which can be found in Figure 2 (see Section 2), corresponding to so-called local shapes (I), (II), (III), (IV). Moreover, each of these possibilities has a characterization in terms of places (see also Section 2 in this paper; for more information on the notion of place, we refer the reader to [15] ). Hence, given a geometric transformation like classical or generalized offsetting, in order to analyze how the transformation locally affects the curve one can take a generic place, compute the places it gives rise to in the transformed object, and compare the local shapes of the original and the final places. If all these local shapes coincide, then it means that the transformation has not introduced local changes in the shape of the curve; otherwise, some local change has occurred. Since this strategy can be applied at both regular and singular points, in particular the notion of local shape gives us a way of analyzing the behavior at singularities. The notion of local shape has also been used in [1] for addressing not only local, but also global questions on the shape of classical offset curves.. Finally, the structure of the paper is the following. In Section 2 we provide the necessary background for developing our results; in particular, the notion of local shape is reviewed here. In Section 3 we address the behavior of regular points under generalized offsetting processes; the results in this section are proven by using elements of Differential Geometry, without making use of the notion of local shape. In Section 4, we use the notion of local shape for giving a more complete description of the phenomenon, including the behavior at singularities. In Section 5, we summarize the main results in the paper and we provide a comparison between the local properties of the shapes of classical and non-classical generalized offsets.. Acknowledgements. The author wishes to thank J. Rafael Sendra for suggesting the problem.

B I 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 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 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 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 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 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 B 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 B I 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 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 B I 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 B O O O O O O O O O O O O O


Image-Based Memory for Robot Navigation Using Properties of Omnidirectional Images This paper proposes a new technique for vision-based robot navigation. The basic framework is to localise the robot by comparing images taken at its current location with reference images stored in its memory. In this work, the only sensor mounted on the robot is an omnidirectional camera. The Fourier components of the omnidirectional image provide a signature for the views acquired by the robot and can be used to simplify the solution to the robot navigation problem. The proposed system can calculate the robot position with variable accuracy ("hierarchical localisation") saving computational time when the robot does not need a precise localisation (e.g. when it is travelling through a clear space). In addition, the system is able to self-organise its visual memory of the environment. The self-organisation of visual memory is essential to realise a fully autonomous robot that is able to navigate in an unexplored environment. Experimental evidence of the robustness of this system is given in unmodified office environments. A mobile robot that moves from place to place in a large scale environment needs to know its position in the environment to successfully plan its path and its movements. The general approach to this problem is to provide the robot with a detailed description of the environment (usually a geometrical map) and to use some kind of sensors mounted on the robot to locate itself in its world representation. Unfortunately, the sensors used by the robots are noisy, and they are easily misled by the complexity of the environment. Nevertheless, several works successfully addressed this solution using high precision sensors like laser range scanners combined with very robust uncertainty management systems [19] [2] . Another solution, very popular in real-life robot applications, is the management of the environment. If artificial landmarks, such as stripes or reflecting dots, are added to the environment, the robot can use these objects, which are easy to spot and locate, to calculate its position on a geometrical map. An example of a successful application of this method is the work of Hu [8] .. Unfortunately, these two approaches are not always feasible. There are situations in which an exact map of the environment is either unavailable or useless -for example, in old or unexplored buildings or in environments in which the configuration of objects in the space changes frequently. So, the robot needs to build its own representations of the world. This internal representation can be something different from a metrical map. As an example let us consider topological maps. These are representations of the environment that capture the topology of the environment and that have been successfully used for robot navigation and map building [4] [14] [18] . This means that in most cases a geometrical map contains more information than that needed by the robot to move in the environment. Often, this adds unnecessary complexity to the map building problem. Kuipers showed that is possible to construct a hierarchical description of the environment [13] by first building a topological map and then, on top of it, a metrical description of the environment. In a previous work we showed it is possible to implement these ideas in a real robot fitted with an omnidirectional vision system [15] .. In addition to the capability of reasoning about the environment topology and geometry, humans show a capability for recalling memorised scenes that help themselves to navigate. This implies that humans have a sort of visual memory that can help them locate themselves in a large environment. There is also experimental evidence to suggest that very simple animals like bees and ants use visual memory to move in very large environments [5] . From these considerations, a new approach to the navigation and localisation problem developed, namely, image-based navigation. The robotic agent is provided with a set of views of the environment taken at various locations. These locations are called reference locations because the robot will refer to them to locate itself in the environment. The corresponding images are called reference images.. When the robot moves in the environment, it can compare the current view with the reference images stored in its visual memory. When the robot finds which one of the reference images is more similar to the current view, it can infer its position in the environment. If the reference positions are organised in a metrical map, an approximate geometrical localisation can be derived. With this technique, the problem of finding the position of the robot in the environment is reduced to the problem of finding the best match for the current image among the reference images. The problem now is how to store and to compare the reference images, which for a wide environment can be a large number.. As we will see in Section 2.1, different methods have been proposed. In this paper, we have fully developed a method we proposed in a previous work [10] . The robot is equipped with an omnidirectional camera and takes a set of omnidirectional images at the reference locations, then it compares the current omnidirectional image with the reference images. In order to store and match a large number of images efficiently, we transform each omnidirectional view into a compact representation by expanding it into its Fourier series. The agent memorises each view by storing the Fourier coefficients of the low frequency components, that we call the "Fourier signature" of the image. This drastically reduces the amount of memory required to store a view at a reference location. Matching the current view against the visual memory is computationally inexpensive with this approach. Details on how to calculate the Fourier signature from the original image are given in Section 2.1. In Section 2.2, we will describe the process of matching the current view against the visual memory. This process is derived from calculating the degree of similarity between two omnidirectional images using the signatures associated to them. In Section 2.3, we will show experimental evidence of what we called hierarchical localisation in a complex real-world environment in which many objects are present. In Section 3.1, we will show experiments in which the robot explores a new environment and memorises the local views at many locations. When the exploration phase is finished, it organises the memorised views so that they reflect the geometry of the environment. In Section 3.5, we explain how the robot plans its navigation toward a destination in a reactive manner by using its self-organised memory. The purpose of this paper is to show how omnidirectional images have a set of properties that has not been exploited by other authors. In this paper we proposed a new technique of image-based navigation for an autonomous robot. Using this technique, we created a topological map consisting of a set of omnidirectional images (views) that the robot autonomously acquires and organises into its visual memory. Every image is one node of the map. As we stated, it is not possible to compare the image directly because this will require storing the whole image with intensive requirements in memory storage and computational power. Therefore, we propose a new method in which every image is represented by the components of its Fourier transform. We defined a similarity function that can assess the degree of similarity between two images using the Fourier signatures. As we saw in the experiments, the first 15 components carry enough information to correctly match the current image with the corresponding reference image. The definition we proposed for the similarity function makes it possible to realise a hierarchical localisation of the robot, which is useful for navigating in a large scale environment. Another advantage of the proposed similarity function is the capability of the system to self-organise its visual memory. This is achieved running a physical simulation of a lattice where every node represents an omnidirectional image and every node is connected to the others with a spring. The model of the spring was modified to take into account the characteristics of the similarity function.. In summary, the original contribution of this paper is that we highlighted four properties of the Fourier transform of omnidirectional images:. • the magnitude of the Fourier components are related to the position of the robot; • the phase of the Fourier components are related to the heading of the robot;. • by using the Fourier signatures a high data compression can be achieved;. • a hierarchical localisation is embedded in this approach;. • the similarity function we defined is effective in the proposed method to self-organise the visual memory;. The next step will be to integrate in the presented localisation and navigation system the image-based Monte-Carlo localisation technique we developed to manage the uncertainty in the estimation of the position [16] . We demonstrated the ability of tracking the robot position in order to handle a multimodal probability distribution of the robot position that can offer robustness in case of a possible false match (for instance, in environments with periodical structures or perceptual aliasing) or in case of error recovery (like in the kidnapped robot problem).. At the time of writing, we are carrying on new experiments in a outdoor environment. The feeling is that because the current system does not make any assumption on the structure of the environment, it should work on outdoor images without any modification. We want to test the navigation system on a much larger environment than that of the indoor experiments.. There is also room for improvement in the assessment of similarity between images. The similarity function can be improved. One possibility could be to extend Eq. 3 into the following function:. where the parameters α k are weights that can give more importance to some Fourier components with respect to others. At the moment every component of the Fourier transform has the same weight, namely, 1, and this results in giving more importance to the low frequencies components that, as shown in Fig. 5 , have preponderant values. The problem of choosing the right weights is not trivial because they depend on the structure of the environment.. The natural extension of the hierarchical localisation is a hierarchical descrip-tion of the environment in which the density of the reference images in the space is no longer constant but depends on the structure of the environment. In fact, if we consider an empty space where the reference images are very similar, we can represent this space with just a single reference image representative of all close reference images.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Liberating the dimension for function approximation: Standard information This is a follow-up paper of ''Liberating the dimension for function approximation'', where we studied approximation of infinitely variate functions by algorithms that use linear information consisting of finitely many linear functionals. In this paper, we study similar approximation problems, however, now the algorithms can only use standard information consisting of finitely many function values. We assume that the cost of one function value depends on the number of active variables. We focus on polynomial tractability, and occasionally also study weak tractability. We present non-constructive and constructive results. Non-constructive results are based on known relations between linear and standard information for finitely variate functions, whereas constructive results are based on Smolyak's construction generalized to the case of infinitely variate functions. Surprisingly, for many cases, the results for standard information are roughly the same as for linear information. There is a growing research interest in the complexity and tractability of problems defined on spaces of functions depending on infinitely many variables; see e.g., [1] [2] [3] [4] [5] [6] [7] . Most of these papers dealt with integration problems for specific reproducing kernel Hilbert spaces. Algorithms used finitely many function values and the cost of obtaining f (x) was dependent on the number k(x) of ''active'' variables in x, and was equal to $(k(x)) for some cost function $. Usually, $ was linear, whereas in [5] , $ was an arbitrary monotonically non-decreasing function.. The approximation problem for general Hilbert spaces was studied in [8] with algorithms that used linear information consisting of finitely many linear functionals. The cost of evaluating an innerproduct with the representer h was given by $(|Var(h)|), where Var(h) denoted the set of indices of all ''active'' variables in h. Similarly to [5] , we considered general monotonically non-decreasing $. In [8] , we found optimal algorithms and sharp complexity bounds, as well as necessary and sufficient conditions on polynomial and weak tractability. Polynomial tractability means that the complexity of computing an ε-approximation is bounded by a polynomial in ε −1 . The smallest such exponent of ε −1 is called the polynomial tractability exponent. Weak tractability means that the complexity is not exponential in ε −1 . The current paper is a continuation of [8] with algorithms restricted to those that only use standard information consisting of finitely many function values. We are mostly interested in polynomial tractability. Weak tractability is only mentioned occasionally. Since algorithms that use arbitrary linear information form a much larger class than algorithms using only standard information, all lower bounds on the complexity for arbitrary linear information also hold for standard information. Moreover, necessary conditions for tractability with arbitrary linear information are also necessary for standard information. Does the same hold for sufficient conditions? Surprisingly, the answer is positive at least for a number of important cases.. We now describe the approach and the results of this paper in a more technical way. Given a separable Hilbert space H of univariate functions, the space F of infinitely variate functions is obtained as a linear combination of weighted tensor products H u of H. Here u is a finite subset of the set {1, 2, . . .} of natural numbers, and each space H u contains functions that depend only on the active variables listed in u. Then any f ∈ F has the unique representation f = ∑ u f u , where f u ∈ H u and ‖f ‖. for a given family of non-negative weights γ = {γ u } u . The weight γ u monitors the importance of f u . For γ u = 0, we assume that f u = 0, and interpret 0/0 as 0.. Consider next the pre-Hilbert space G of functions from F with the norm ‖f ‖. where G u is a weighted L 2 space of functions of |u| variables. We need to assume that F is continuously embedded in G. This holds if the weights γ u satisfy the condition (7) stated later. The essence of this condition is that the sequence. is uniformly bounded, and C emb is the embedding constant for the univariate case. In particular, we may take γ u = 1 for all u only if C emb ≤ 1.. By the approximation problem (APP for short) we mean the problem of approximating functions from F in the norm of G, or equivalently, the problem of approximating the embedding operator from F into G.. This problem was studied in [8] for algorithms that use linear information, and it is studied in this paper for algorithms that use standard information. It will be convenient to describe first a few results from [8] , and then relate them to the results of this paper.. In [8] , we constructed an optimal algorithm A opt ε that is an algorithm whose worst case error is at most ε and whose cost is minimal. It is interesting that this algorithm is independent of the cost function $; however, its cost obviously depends on $.. The cost formula of A opt ε gave us an explicit formula for the complexity of the problem, and allowed us to obtain a necessary and sufficient condition for polynomial tractability. These conditions are for general weights and are simplified for product and finite-order weights. Here is the result for general weights.. Let e n be the minimal worst case error among all algorithms that use at most n linear functionals for the univariate problem, i.e., for the problem restricted to the space H of univariate functions. It is known that e n = √ λ n+1 , where {λ n } n≥1 are ordered eigenvalues of Emb *. • Emb for the embedding operator Emb of the univariate case. We have C emb = e 0 = √ λ 1 . Without loss of generality, assume that e n = O(n −p ) for some p > 0, since otherwise the problem cannot be polynomially tractable.. Consider. Assume for a moment that the cost function is at most exponential,. APP is polynomially tractable iff τ * < ∞. and then the exponent of polynomial tractability equals. Moreover, if τ * < ∞ then APP is weakly tractable even if the cost function is doubly exponential, i.e.,. Consider now algorithms that use only standard information. Using the result of [9] , we first conclude that we must have. since otherwise APP could be intractable for some H, see Proposition 2.. . Then for standard information we have APP is polynomially tractable iff τ * < ∞ and L(1; λ) < ∞.. If this holds then the exponent of polynomial tractability satisfies. The condition (2) is stronger than the condition (1) by the additional requirement that L(1; λ) < ∞. This explains the difference between linear and standard information for polynomial tractability. More precisely, for e n = O(n −p ), we must have p > 0 for linear information, and at least p ≥ 1/2 for standard information. On the other hand, if p > 1/2 then L(1; λ) < ∞ is automatically satisfied and the conditions (1) and (2) coincide. However, in this case, it is an open problem if the exponents of polynomial tractability might be different for linear and standard information.. We now comment on the exponent p std . The proof of the estimate of p std is based on two papers [10, 11] . It is an open (and apparently difficult) problem if the corresponding exponents for linear and standard information are the same for all Hilbert spaces of finitely variate functions under the assumption that the exponent for linear information is greater than 1/2. Any progress on the latter problem would automatically improve the bound (3).. We briefly mention that (2) also implies weak tractability of APP for standard information even. ) for c ∈ (0, 1). All these results for standard information can be found in Theorems 3 and 4. The results mentioned above are non-constructive. This is why we present in Section 4 constructive results by designing algorithms that use standard information and yield polynomial and/or weak tractability. More precisely, suppose that we have algorithms A n for the univariate approximation problem with the following properties. Each A n uses at most n function values and its worst case error satisfies. We assume that. Using Smolyak's construction, see [12] , and its properties, see [13] , we present algorithms A std ε for the class F whose worst case error and cost satisfy. APP is polynomially tractable with p std ≤ κ. We stress that for many univariate approximation problems we have e(A n ; H) = Θ(e n ). This means that A n is optimal to within a factor even among all algorithms using n linear functionals. For e n = Θ(n −p ) we have 1/κ = p and. In this case, the power of standard and linear information for polynomial tractability is the same. We. , APP is weakly tractable.. Both non-constructive and constructive results are illustrated and extended for special weights such as product and finite-order weights.. In Section 5, we provide an example for which (2) holds, yet (4) does not. This exhibits a trade-off between generality of the assumptions and constructiveness of the results.. Finally, we add that we have chosen G as the range space of APP since the operator APP *. • APP has a relatively simple structure of its spectrum. Using the results of the current papers, we will derive in [14] similar results for an approximation problem with a more interesting/practical range space L 2 (D, ρ ∞ ) for which the spectrum of APP *. • APP may be very complicated.

O O O O B I B I 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 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 O O O O O B 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 B I O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B 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 B I O O O O O O O O O O O O B O B 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 B O O O O O O O B I O O O O B 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 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 B 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 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 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 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 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 I 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 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 B 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 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 B O O O B I 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 B I 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 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


Face Clustering of a Large-scale CAD Model for Surface Mesh Generation A detailed CAD model needs manual clean-up, or simplifying operations, before a finite element mesh can be automatically generated because such a model consists of hundreds or thousands of faces many of which may be smaller than a desired mesh element size. We propose an automated face clustering method used as a pre-process of surface mesh generation. By decomposing a model into face clusters so that each region can be projected onto a simple parametric surface such as a plane, we obtain a final mesh as an aggregation of sub-meshes for respective clusters without time-consuming manual preparation work. The projection onto a surface realises re-parametrization as well as suppression of small details. The main contribution of this work is the integration of: (1) a greedy algorithm for combining faces into clusters, and (2) Computer-Aided Design, Vol. 33, No 3., pp. 251-61, 2001 2 geometric indices that reflect various geometric aspects of a preferable shape for a cluster. The validity of the approach is demonstrated with results of clustering and mesh generation for a realscale CAD model. Although designers prefer to conduct finite element analysis (FEA) on original CAD models rather than to create specific models for analysis alone, a mesh generated automatically from a detailed model is not suitable for FEA. Typically, a CAD model in the final design stage consists of hundreds or even thousands of faces, each of which is represented as a trimmed parametric surface and many of which are smaller than a preferred mesh element size. For such CAD models, the mesh generation problem is not a discretization process that divides a large surface into small elements. On the contrary, one mesh element often has to cover a number of faces that are representing details. Such being the case, assuring conformity of sub-meshes by placing fixed nodes on face boundaries will produce a low-quality mesh.. A straightforward solution to this problem is to generate a mesh over the whole surface ignoring internal face boundaries. This approach, however, works only for simple CAD models. When it is applied to a huge patchwork of faces, the following problems arise:. • It is necessary to traverse parametric spaces for converting values from the physical space to a parametric space, which is frequent and becomes computationally expensive when the number of faces is large.. • Small details of the surface shape degrade the uniformity of the mapping between the physical space and the parametric space, making high-quality meshing difficult.. • A huge patchwork model naturally contains a lot of internal boundaries, where most topological failures and unintended discontinuities reside.. The above problems affect all mesh generation algorithms that use parametric surfaces including physically-based approaches such as our Bubble Mesh algorithm [1] [2][3] [4] . Therefore, to deal with real-scale CAD models, it is necessary to simplify complex parametric spaces as well as to suppress small features of the surface.. In this paper, we propose the following three-step solution to this problem, also illustrated in Fig. 1:. 1. Decompose the entire surface into a set of suitable surface regions by face clustering.. 2. For each region, generate a mesh on a simplified geometry (e.g., a projected plane), and then project the mesh back onto the original region.. 3. Merge all generated sub-meshes into one mesh.. As the simplified geometry we use the plane since it has the most basic and straightforward parameterisation where the u-, v-derivative vectors are constant as well as orthogonal to each other.. By employing simplified geometry that closely approximates a region, small features are ignored; therefore, the meshing process is drastically accelerated and stabilised without worsening the mesh quality. Although generating nodes on shared boundaries is still necessary to guarantee the conformity of sub-meshes, the restriction is relaxed causing no ill-shaped mesh elements. In addition, by finally projecting every node onto the original region, it lies exactly on the surface and the supporting face is always known.. Among the three steps, the first step-choosing suitable regions-is the key in order to generate a well-shaped mesh, and it is the most labour-intensive step when performed manually. The main contribution of this paper is an automated method for the first step, which clusters all faces in a model into a number of geometrically suitable regions by iteratively merging a pair of adjacent faces to make a larger region. Through the process, each region grows to be a wellshaped, well-sized region by applying merging operations based on the criterion defined as a combination of geometric indices.. The remainder of the paper is organised as follows. After an overview of related work in Section 2, we describe the problem and outline our technical approach in Section 3. Then in Section 4, we discuss how to determine whether two regions should be merged or not and how to prioritise candidate mergers. Finally in Section 5, we show results of clustering and meshing on a realisticscale CAD model. We have presented a method for clustering a large number of faces for the purpose of surface mesh generation. To deal with the large CAD models actually used in industry, decomposition of the whole model into well-sized, well-shaped regions contributes significantly to the improvement of the quality of the generated mesh. Our central idea is a sequential merger of adjacent regions. The most promising pair for making a well-shaped region is selected based on a score that is a combination of geometric indices. The results of experiments show that a hybrid strategy of combining different geometric indices actually realises clusterings that are reasonably good in multiple respects. Evaluation of quality metrics on obtained meshes also proved that those geometrically fair clusterings contribute much to the quality of meshes. By configuring the combination of geometric indices and tuning parameters, the method is customisable to various applications that have different requirements on the well-shapedness of a region.. One limitation of our approach is that a face with a large variation of normal vector (e.g., a half cylinder) or with a long complicated boundary can cause poorly shaped regions. When such faces are small compared to the desired element size, they are properly ignored. But otherwise, essential to a good solution is either to break such faces before clustering or to extend the surface types as mentioned below. It is also a potential limitation that our algorithm always selects the best available pair at a particular moment in the clustering process. This does not always lead to an optimal solution. To obtain a better result, 'tactical' merging might be necessary, such as accepting an ill-shaped region at first and then merging it into a well-shaped region.. As future work, the type of simplified geometry for approximating the original surface should be extended to other type of surfaces. The cylindrical surface is a promising one since mesh generation over 'developable surfaces' [14] such as a cylindrical surface can be done in the same way as that over a plane. We are also thinking of introducing a post-processing function that will produce better shaped regions by locally exchanging faces between two regions. Another topic would be a systematic way of tailoring a clustering strategy, which consists of the combination of geometric indices and of determining threshold values for mergeability tests. Figure 1 Three-step solution. It is widely recognised in industry that a realistic-scale CAD model consisting of multiple surfaces is not suitable for FEA mesh generation due to excessive details and model failures.. Approaches to this problem can be categorised into two: pre-meshing and post-meshing approaches. A pre-meshing approach transforms an original model so that it can be handled with some meshing algorithm, while a post-meshing approach takes as input a low-quality mesh, which is an aggregation of meshes for each face, and cleans up the mesh by adaptive simplification.. Mesh simplification is a general technique to convert a mesh into a coarser mesh, which can be used for post-meshing approaches. Its original objective is to simplify a huge mesh that contains millions of triangles, mainly for the purpose of graphical presentation or data processing.. Schroeder et al. [5] iteratively selects a vertex in a mesh based on geometric criteria, removes it and re-triangulates the remaining polygonal area. Hoppe et al. [6] introduce an energy function and simplify a mesh by optimisation, using a local topological transformation. Garland and Heckbert [7] adopt both non-edge contraction (i.e., unification of two non-adjacent vertices) and edge contraction based on simple quadric error metrics. His idea of using a 4x4 matrix for error approximation at a vertex is extended to apply to a face normal vector by Willmott et al. [8] .. Shephard et al. [9] applied mesh simplification to the problem of multi-surface mesh generation.. They start from an aggregation of meshes each coming from a single face, and improve mesh quality by merging sliver elements with adjacent elements. Because ill-shaped elements are resolved locally, quality improvement of the mesh is limited, especially for quadrilateral dominant meshes, in which alignment of elements is of more significance.. Pre-meshing approaches, including ours, simplify a model first, which can include topological correction, re-parametrization of multiple surfaces, and suppression of small features compared with a desired element size. Sheffer et al. [10, 11] propose a 'virtual topology' concept for cleaning up and simplifying only the topology of a model. They introduce clustering of planar facets that are created from each face and identify a simpler topological structure for the whole surface. Their method is suitable for mapping-type algorithms, but not for algorithms that need to work with geometry intensively. Mobley et al. [12] present an object-oriented framework, which aims to defeature CAD models automatically and to resolve topological failures. Marcum [13] introduced global mapping to re-parametrize input faces into a single surface. By solving a Laplacian equation, a single parametric space is obtained.. Our approach employs similar techniques to those of mesh simplification and Sheffer's approach, but can be characterised by the input model, i.e., a collection of curved surfaces, which has a large variety in:. • Size: some are tiny and others are so large as to cover half of the whole model.. • Complexity: some faces are badly shaped, containing complex boundaries, corner angles close to 0 or 2π , or large variations in normal vectors.. We also impose a stronger requirement for output regions: they have to be well-sized and wellshaped to avoid ill-shaped elements caused by the boundary constraint. Moreover, every region needs to be well approximated by the prescribed types of geometry: planes in our case.

B I 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 B I 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 B I O O O O O O O O O O B I 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 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 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 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 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 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 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 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 B I 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 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


Approximation Schemes for Packing with Item Fragmentation We consider two variants of the classical bin packing problem in which items may be fragmented. This can potentially reduce the total number of bins needed for packing the instance. However, since fragmentation incurs overhead, we attempt to avoid it as much as possible. In bin packing with size increasing fragmentation (BP-SIF), fragmenting an item increases the input size (due to a header/footer of fixed size that is added to each fragment). In bin packing with size preserving fragmentation (BP-SPF), there is a bound on the total number of fragmented items. These two variants of bin packing capture many practical scenarios, including message transmission in community TV networks, VLSI circuit design and preemptive scheduling on parallel machines with setup times/setup costs.While both BP-SPF and BP-SIF do not belong to the class of problems that admit a polynomial time approximation scheme (PTAS), we show in this paper that both problems admit a dual PTAS and an asymptotic PTAS. We also develop for each of the problems a dual asymptotic fully polynomial time approximation scheme (AFPTAS). Our AFPTASs are based on a non-standard transformation of the mixed packing and covering linear program formulations of our problems into pure covering programs, which enables to efficiently solve these programs.A preliminary version of this paper appears in proceedings of the 3rd Workshop on Approximation and Online Algorithms (WAOA'05). In the classical bin packing (BP) problem, n items (a 1 , . . . , a n ) of sizes s(a 1 ), . . . , s(a n ) ∈ (0, 1] need to be packed in a minimal number of unit-sized bins. This problem is well known to be NP-hard. We consider a variant of BP known as bin packing with item fragmentation (BPF), in which items can be fragmented (into two or more pieces). Therefore, it may be possible to pack the items using fewer bins than in classical BP. However, since fragmentation incurs overhead, we attempt to avoid it as much as possible. We study two variants of BPF. In both variants, the goal is to pack all items in a minimum number of bins.. Size Increasing Fragmentation (BP-SIF) A header (or a footer) of a fixed size, 1 > > 0, is attached to each (whole or fragmented) item. That is, the volume required for packing an item of size s(a i ) is s(a i ) + . Upon fragmenting an item, each fragment gets a header; that is, if a i is replaced by two items such that s(a i ) = s(a i 1 ) + s(a i 2 ), then packing a i j requires volume s(a i j ) + . Assume, for example, that = 0.1, and an instance consists of 3 items of sizes {0.4, 0.5, 0.7}. Without fragmentation, each item must be packed in a separate bin (occupying the volumes 0.5, 0.6 and 0.8, respectively), while if, e.g., the item of size 0.4 is fragmented to 0.1 and 0.3, the resulting instance can be packed into two bins, the contents of which are (0.1 + 0.1, 0.7 + 0.1), and (0.3 + 0.1, 0.5 + 0.1).. Size Preserving Fragmentation (BP-SPF) An item a i can split into two fragments: a i 1 , a i 2 , such that s(a i ) = s(a i 1 ) + s(a i 2 ). The resulting fragments can also split in the same way. Each split has a unit cost and the total cost cannot exceed a given budget C > 0. Note that in the special case where C = 0 we get an instance of classic bin packing. (Most of our results can be applied to another variant of BP-SPF in which the goal is to minimize the packing cost, and the number of available bins, b ≥ i s(a i ) is given as part of the input.) For any > 0 (in BP-SIF) and C < i s(a i ) − 1 (in BP-SPF), the BPF problem is NP-hard (see Sects. 1.1 and 2 for hardness results). Therefore, we present approximation algorithms. The following applications motivate our study. It is well known (see, e.g., [16] ) that BP does not belong to the class of NP-hard problems that admit a PTAS. In fact, BP cannot be approximated within factor 3 2 − ε, for any ε > 0, unless P = NP [8] . However, there exists an asymptotic PTAS (APTAS) which uses, for any instance I , (1 + ε) OPT(I ) + k bins for some fixed k. Fernandez de la Vega and Lueker [7] presented an APTAS with k = 1, and Karmarkar and Karp [11] presented an asymptotic fully PTAS (AFPTAS) with k = 1/ε 2 . Alternatively, a dual PTAS, which uses OPT(I ) bins of size (1 + ε) was given by Hochbaum and Shmoys [9] . Such a dual PTAS can also be derived from the work of Epstein and Sgall [6] on multiprocessor scheduling, since BP is dual to the minimum makespan problem. (Comprehensive surveys on the bin packing problem appear, e.g., in [4, 23] . ) Mandal et al. introduced in [13] the BP-SIF problem and showed that it is NPhard. Menakerman and Rom [15] and Naaman and Rom [18] were the first to develop algorithms for bin packing with item fragmentation, however, the problems studied in [15, 18] are different from our problems. For a version of BP-SPF in which the number of bins, N , is given, and the objective is to minimize the total cost incurred by fragmentation, the paper [15] studies the performance of simple algorithms such as First-Fit, Next-Fit, and First-Fit-Decreasing, and shows that for any instance which can be packed in N bins using f * splits of items, each of these algorithms might end up using f * + N − 1 splits.. There has been some related work in the area of preemptive scheduling on parallel machines. The paper [19] presents a tight bound on the number of preemptions required for a schedule of minimum makespan, and a PTAS for minimizing the makespan of a schedule with job-wise or total bound on the number of preemptions. However, the techniques used in this paper rely strongly on the assumption that the job-wise/total bounds on the number of preemptions are some fixed constants, while in solving our BPF variants the number of splits may depend on the input size. For other related work on preemptive scheduling with preemption costs see, e.g., in [2, 20] . (Comprehensive surveys of known results on preemptive scheduling are given, e.g., in [3, 12] .)

O O O O O B I 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 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 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 B 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 B I 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 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 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 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 B O B I 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 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 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


Efficient plane sweeping in parallel 1We present techniques which result in improved parallel algorithms for a number of problems whose efficient sequential algorithms use the plane-sweeping paradigm. The problems for which we give improved algorithms include intersection detection, trapezoidal decomposition, triangulation, and planar point location. Our technique can be used to improve on the previous time bound while keeping the space and processor bounds the same, or improve on the previous space bound while keeping the time and processor bounds the same. We also give efficient parallel algorithms for visibility from a point, 3-dimensional maxima, multiple range-counting, and rectilinear segment intersection counting. We never use the AKS sorting network in any of our algorithms. The plane-sweeping technique has proven effective for developing efficient sequential algorithms for a variety of geometric problems. This technique, in 2-dimensions, involves sweeping a line through a set of geometric objects (such as line segments), updating global data structures at each critical point (such as an endpoint). It has been used to find efficient sequential algorithms for a host of computational geometry problems (see [16] ). It also seems to be a very sequential technique.. Most of the sequential algorithms which use plane-sweeping are already optimal to within a multiplicative constant. There is already a small but growing body of work on finding efficient parallel algorithms for computational geometry problems [1, 2, 3, 9, 12] , addressing the question of what kinds of speed-ups can be achieved through parallelism. In this paper we present efficient parallel algorithms for a number of problems whose efficient sequential algorithms use the plane-sweeping paradigm. We list the problems addressed in this paper below, and summarize our results in Table 1. 1. Trapezoidal Decomposition [6] t~ Given a simple nvertex polygon P, determine the trapezoidal edge(s) for each each vertex. A trapezoidal edge for a vertex v~ is an edge s of P which is directly above or below v~ and such that the vertical line segment from vi to s is interior to P.. *This work was supported by the National Science Foundation under Grant DCR-84-51393 and by the Office of Naval Research under Grant N00014-K-0502.. tSee [16] for other references.. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.. © 1986 ACM 0-89791-194-6/86/0600/0216 $00.75 In this paper we have given general techniques for solving a number of geometric problems whose efficient sequential algorithms use the plane-sweep paradigm. These techniques can be viewed as efficient parallel analogues to the plane-sweeping paradigm. We applied the plane-sweep tree technique to intersection detection, trapezoidal decomposition, polygon triangulation, and planar point location. We applied divide-and-conquer with critical-point merging to visibility from a point, 3-dimensional maxima, multiple range-counting, and rectilinear segment intersection counting. We were able to achieve an O(log n log log n) time bound for each problem, using O(n) processors.. A c k n o w l e d g m e n t. We would like to thank Greg Frederickson for his valuable comments that considerably improved the presentation of Section 4.

O O O O B 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 B B O B B O O B O O O O O O O O O O O O O O O O B O B O O O O O O O O B O O O O O O B O O O O O O O B O O B O O B O O O O O O O B O O O B 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B B O B O B O O B O O O O O O O O B 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


Allocative efficiency of technically inefficient production units We discuss how to measure allocative efficiency without presuming technical efficiency. This is relevant when it is easier to introduce reallocations than improvements of technical efficiency. We compare the approach to the traditional one of assuming technical efficiency before measuring allocative efficiency. In particular, we develop necessary and sufficient conditions on the technology to ensure consistent measures and we give dual organizational interpretations of the approaches. In the production economic literature, the overall inefficiency of a production plan is usually decomposed into technical and allocative efficiency in the following manner: First, the plan is projected onto the efficient frontier and some measure of the gains from moving from the original to the projected plan is called the technical efficiency. Next, it is determined which plan is optimal with the given prices and the gains from moving from the projected to the optimal plan is called allocative efficiency. One can say that allocative inefficiency is treated as the residual when evaluating the overall performance -first it is determined what can be explained by technical inefficiency and the rest is called allocative inefficiency. The usual justifications for this approach is that the rate of substitution between the production factors is only welldefined at the frontier.. We believe however that it is relevant to consider the other order of decomposition -i.e. to first evaluate the allocative efficiency and next the technical efficiency. In particular it is relevant to examine how such a decomposition could be undertaken and when the two approaches lead to similar results.. First, from a conceptual point of view, we suggest that the interpretations associated with the notions of technical and allocative efficiency lack a theoretical basis if the size of the effects are dependent of the order of decomposition. In a hierarchical organization composed of several production units, for example, technical inefficiency is interpreted as what could be gained by intra-unit changes and allocative efficiency is interpreted as what can be gained by inter-unit changes. Yet if the latter presumes the former, the two concepts are dependent and not well-defined on their own. In particular, if we change our measure of technical efficiency, say because certain reductions in the resource use may be more natural to consider given to the power structure in the organization, we would also change the allocative efficiency. This means that we can substitute between what we assign to technical and allocative problems which in turn make the interpretations unclear. From a theoretical perspective therefore it is interesting to determine under which technological assumptions the decomposition is unique.. Secondly, from an organizational point of view, we suggest that the two orders of calculations are both equally natural. We show that the traditional decomposition can be thought of in terms of an organization "eating input slacks" while the reversed decomposition we suggest corresponds to the organization "consuming output slack".. Thirdly, from a managerial point of view, it is relevant to determine the allocative efficiency without presuming technical efficiency since it may be relatively easy to reallocate resources within a hierarchy or a market and relatively hard to actually change the production procedures (including the culture, power configuration, incentive structure etc.) used in the individual production units. We therefore need ways to estimate the potential gains from the former without presuming that the latter has already been accomplished. Actually, since most economic productivity studies are relatively aggregate and treat the production units more or less like black boxes, it seems more appropriate in such studies to discuss what can be accomplished by reallocating resources between the units than to examine what can be accomplished by changes inside the units. It seems that latter is the area of organizational specialist while the former is the area of economist in general.. This paper is organized as follows. In Section 2, we formalize some key concepts about the technology. In Section 3, we discuss a general approach to the estimation of allocative efficiency without presuming technical efficiency. Some theoretical results on the consistency of the approach under different technological assumptions are provided in Section 4. Organizational interpretations are emphasized in Section 5, and final remarks are given in Section 6.

B I O O O O O O O O O O B I O O B I 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 B I 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 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 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 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 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 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 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 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 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 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 B I 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