Laboratoire

de

l'Informatique

du

Parall?lisme

Ecole

Normale

Sup?rieure

de

Lyon

Unit

de

recherche

associ?e

au

CNRS

n

Kautz

Necklaces

Pavel

Tvrd

k

March

Research

Report

No

Ecole

Normale

Sup?rieure

de

Lyon

Adresse

lectronique

lip@lip.ens-lyon.fr

T?l?phone

-LRB-

-RRB-

T?l?copieur

-LRB-

-RRB-

All?e

d'Italie

Lyon

Cedex

France

Kautz

Necklaces

Pavel

Tvrd

k

March

Abstract

Vertices

of

de

Bruijn

digraph

can

be

partitioned

in

a

natural

way

into

mutually

disjoint

cycles

called

de

Bruijn

necklaces

Necklaces

are

in

fact

equivalence

classes

of

an

equivalence

induced

on

the

vertex

set

of

de

Bruijn

digraph

by

cyclic

left

shifting

The

number

of

necklaces

of

d-regular

de

Bruijn

digraph

with

diameter

D

is

well

known

-LSB-

-RSB-

and

there

exists

an

efficient

algorithm

-LSB-

-RSB-

for

generating

de

Bruijn

necklaces

in

lexicographic

order

In

this

report

we

show

that

similar

results

exist

for

Kautz

digraphs

We

introduce

the

notion

of

Kautz

necklaces

present

a

linear-time

and

constant-space

algorithm

to

generate

them

and

we

give

a

formula

to

enumerate

them

We

also

define

a

straightforward

mapping

between

vertices

of

K

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

-RRB-

preserving

the

partition

of

vertices

into

necklaces

and

study

the

structural

similarities

between

de

Bruijn

and

Kautz

digraphs

based

on

this

mapping

R?esum?e

Les

sommets

d'un

graphe

de

De

Bruijn

orient?e

peuvent

etre

partitionn?es

d'une

mani?ere

naturelle

en

cycles

mutuellement

disjoints

appel?es

colliers

de

De

Bruijn

Les

colliers

sont

en

fait

des

classes

d'

equivalences

induites

par

des

rotations

gauches

sur

les

chiffres

qui

etiquettent

les

sommets

Le

nombre

de

collier

d'un

De

Bruijn

orient?e

de

degr?e

d

et

de

diam?etre

D

est

connu

-LSB-

-RSB-

et

il

existe

un

algorithme

efficace

-LSB-

-RSB-

pour

g?en?erer

ces

collier

suivant

l'ordre

lexicographique

Dans

ce

rapport

nous

montrons

que

des

r?esultats

similaires

existent

pour

les

graphes

de

Kautz

orient?es

Nous

introduisons

la

notion

de

collier

de

Kautz

et

nous

pr?esentons

un

algorithme

qui

les

g?en?ere

en

temps

lin?eaire

avec

un

espace

constant

Nous

donnons

egalement

une

formule

permettant

de

les

enum?erer

Nous

d?efinissons

de

plus

un

mapping

entre

les

sommets

de

K

-LRB-

d

D

-RRB-

et

de

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

-RRB-

qui

pr?eserve

la

partition

des

sommets

en

colliers

et

nous

etudions

les

similitudes

structurelles

entre

les

graphes

orient?es

de

De

Bruijn

et

de

Kautz

a

partir

de

ce

plongement

Mots-cl

es

R?eseaux

d'interconnexion

graphes

de

Kautz

orient?es

graphes

de

Bruijn

orient?es

cycles

colliers

enum?eration

plongement

Kautz

Necklaces

Pavel

Tvrd

ky

LIP

Unit?e

de

Recherche

Associ?ee

du

CNRS

Ecole

Normale

Sup?erieure

de

Lyon

All?ee

d'Italie

Lyon

Cedex

France

e-mail

tvrdik@lip.ens-lyon.fr

May

Abstract

Vertices

of

de

Bruijn

digraph

can

be

partitioned

in

a

natural

way

into

mutually

disjoint

cycles

called

de

Bruijn

necklaces

Necklaces

are

in

fact

equivalence

classes

of

an

equivalence

induced

on

the

vertex

set

of

de

Bruijn

digraph

by

cyclic

left

shifting

The

number

of

necklaces

of

d-regular

de

Bruijn

digraph

with

diameter

D

is

known

to

be

P

jjD

-LRB-

j

-RRB-

dDj

-LSB-

-RSB-

where

-LRB-

-RRB-

is

Euler

's

totient

function

and

there

exists

an

linear-time

and

constantspace

sequential

algorithm

-LSB-

-RSB-

for

generating

de

Bruijn

necklaces

in

lexicographic

order

In

this

report

we

show

that

similar

results

exist

for

Kautz

digraphs

We

introduce

the

notion

of

Kautz

necklaces

and

present

a

linear-time

and

constant-space

algorithm

to

generate

them

The

number

of

necklaces

of

Kautz

digraph

K

-LRB-

d

;D

-RRB-

is

proven

to

be

D

X

jjD

-LRB-

j

-RRB-

dDj

D

X

jj

-LRB-

D

-RRB-

-LRB-

j

-RRB-

dD

j

d

We

define

a

straightforward

one-to-one

mapping

between

vertices

of

K

-LRB-

d

;D

-RRB-

and

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

-RRB-

preserving

the

partition

of

vertices

into

necklaces

and

study

the

structural

similarities

between

de

Bruijn

and

Kautz

digraphs

based

on

this

mapping

We

also

study

embedding

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

-RRB-

into

K

-LRB-

d

;D

-RRB-

using

these

results

Introduction

Vertices

of

d-regular

de

Bruijn

digraph

with

diameter

D

B

-LRB-

d

D

-RRB-

can

be

partitioned

in

a

natural

way

into

mutually

disjoint

cycles

of

size

j

where

jjD

Two

vertices

belong

to

the

same

cycle

of

size

j

iff

one

can

be

obtained

from

the

other

by

i

cyclic

left

shifts

i

j.

Hence

cyclic

left

shifting

induces

an

equivalence

on

the

set

of

vertices

of

B

-LRB-

d

D

-RRB-

with

the

cycles

being

the

equivalence

classes

These

cycles

are

usually

called

de

Bruijn

necklaces

The

number

of

necklaces

of

B

-LRB-

d

D

-RRB-

is

known

-LSB-

-RSB-

to

be

D

X

jjD

-LRB-

j

-RRB-

dDj

This

research

has

been

supported

by

C.I.E.S.

France

yCurrently

on

leave

until

July

from

Department

of

Comp.Sci

Engr.

Faculty

of

Electrical

Engineering

Czech

Technical

University

Karlovo

n?am

Praha

Czech

Republic

where

-LRB-

-RRB-

is

Euler

's

totient

function

and

there

exists

an

O

-LRB-

N

-RRB-

time

and

O

-LRB-

-RRB-

space

algorithm

-LSB-

-RSB-

where

N

is

the

size

of

de

Bruijn

digraph

In

this

report

we

show

that

similar

results

exist

for

Kautz

digraphs

We

introduce

the

notion

of

Kautz

necklaces

present

an

linear-time

and

constant-space

algorithm

to

generate

them

and

derive

a

formula

for

their

counting

We

define

a

straightforward

mapping

between

vertices

of

K

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

;D

-RRB-

-RRB-

preserving

the

partition

of

vertices

into

necklaces

and

we

also

study

the

structural

similarities

between

de

Bruijn

and

Kautz

digraphs

based

on

this

mapping

The

question

of

constant-dilation

embedding

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

;D

-RRB-

-RRB-

into

K

-LRB-

d

D

-RRB-

is

left

as

an

open

problem

since

using

these

results

we

were

able

to

find

only

embedding

with

dilation

D

which

is

the

diameter

of

the

host

digraph

This

report

is

structured

as

follows

In

Section

the

basic

graph

theory

terms

are

introduced

de

Bruijn/Kautz

graphs

are

defined

and

their

properties

are

summarized

In

Section

Kautz

cyclic

shifting

and

Kautz

necklaces

are

defined

In

Section

the

generating

algorithm

is

presented

its

correctness

is

proved

and

complexity

analyzed

In

Section

a

formula

for

counting

Kautz

necklaces

based

on

counting

de

Bruijn

necklaces

is

derived

In

Section

the

correspondence

between

the

structure

of

de

Bruijn

and

Kautz

is

analyzed

using

a

one-to-one

vertex

mapping

that

preserves

the

partition

of

the

vertices

into

necklaces

Section

concludes

with

suggesting

further

work

Kautz

and

de

Bruijn

digraphs

Graph-theoretical

preliminaries

A

digraph

with

vertex

set

V

-LRB-

G

-RRB-

and

arc

set

E

-LRB-

G

-RRB-

is

written

G

-LRB-

V

-LRB-

G

-RRB-

E

-LRB-

G

-RRB-

-RRB-

An

arc

from

vertex

u

to

vertex

v

is

denoted

hu

vi

An

arc

hu

vi

is

said

to

be

incident

from

u

and

incident

to

v

The

set

of

vertices

adjacent

from

u

is

defined

to

be

fv

V

-LRB-

G

-RRB-

j

hu

vi

E

-LRB-

G

-RRB-

g

The

cardinality

of

this

set

is

called

the

out-degree

of

u

V

-LRB-

G

-RRB-

denoted

ffi

G

-LRB-

u

-RRB-

Similarly

the

set

of

vertices

adjacent

to

u

is

defined

to

be

fv

V

-LRB-

G

-RRB-

j

hv

ui

E

-LRB-

G

-RRB-

g

The

cardinality

of

this

set

is

called

the

in-degree

of

u

V

-LRB-

G

-RRB-

denoted

ffi

G

-LRB-

u

-RRB-

If

u

V

-LRB-

G

-RRB-

ffi

G

-LRB-

u

-RRB-

ffi

G

-LRB-

u

-RRB-

d

then

G

is

said

to

be

a

d-regular

digraph

A

path

in

a

digraph

is

any

sequence

of

adjacent

vertices

A

digraph

is

strongly-connected

if

there

is

a

path

between

any

pair

of

distinct

vertices

The

vertex-connectivity

-LRB-

or

simply

connectivity

-RRB-

of

a

digraph

G

-LRB-

G

-RRB-

is

the

minimum

number

of

vertices

that

must

be

removed

from

G

so

that

the

remaining

digraph

is

not

strongly

connected

By

Menger

's

theorem

this

is

equivalent

to

the

following

For

any

pair

of

distinct

vertices

there

are

-LRB-

G

-RRB-

vertex-disjoint

paths

between

them

Similarly

the

arc-connectivity

of

a

digraph

G

-LRB-

G

-RRB-

is

the

minimum

number

of

arcs

that

have

to

be

removed

from

G

so

that

the

remaining

digraph

is

not

strongly

connected

And

it

is

equivalent

to

the

following

For

any

pair

of

distinct

vertices

there

are

-LRB-

G

-RRB-

arc-disjoint

paths

between

them

It

is

well

known

that

Kautz/de

Bruijn

digraphs

can

be

defined

in

three

different

but

equivalent

ways

as

digraphs

on

alphabets

-LRB-

this

is

the

standard

method

-RRB-

as

iterated

line

digraphs

of

complete

digraphs

-LSB-

-RSB-

and

using

congruent

arithmetics

-LSB-

-RSB-

In

this

report

we

will

need

just

the

first

definition

based

an

alphabets

Definition

of

Kautz/de

Bruijn

digraphs

Let

Zd

d

be

an

alphabet

of

d

letters

Then

the

set

of

all

d-ary

D-tuples

is

ZDd

xD

j

xi

Zdg

Let

K

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

denote

Kautz

and

de

Bruijn

respectively

d-regular

digraph

with

diameter

D.

Kautz

digraph

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

xD

j

xi

Zd

xi

xi

g

E

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

xD

xD

i

j

Zd

xDg

Figure

Kautz

digraphs

K

-LRB-

-RRB-

and

K

-LRB-

-RRB-

De

Bruijn

digraph

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

ZDd

E

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

xD

xD

i

j

Zdg

Figure

De

Bruijn

digraphs

B

-LRB-

-RRB-

and

B

-LRB-

-RRB-

Properties

of

Kautz/de

Bruijn

digraphs

Kautz/de

Bruijn

digraphs

have

been

proposed

as

attractive

interconnection

networks

for

massively

parallel

computers

-LSB-

-RSB-

There

are

two

main

reasons

for

that

First

they

represent

the

best

known

infinite

family

of

-LRB-

D

-RRB-

digraphs

i.e.

for

any

integers

and

D

they

are

the

largest

digraphs

with

in-degree

and

out-degree

and

diameter

D.

Although

for

several

fixed

values

of

and

D

there

are

known

larger

special

digraphs

with

in-degree

and

out-degree

and

diameter

D

of

these

digraphs

is

defined

with

d

and

D

as

arbitrary

parameters

Second

Kautz/de

Bruijn

digraphs

enjoy

several

graph-theoretical

properties

that

are

useful

for

designing

interconnection

networks

It

follows

immediately

from

their

definitions

that

K

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

are

strongly

connected

d-regular

have

oriented

diameter

D

and

enable

very

simple

routing

based

on

left

shifting

They

enable

also

optimal

and

trivial

gossip

algorithms

for

link-bound

model

under

both

full

and

half

duplex

assumption

-LRB-

only

complete

graph

cycle

hypercube

and

star

graph

have

similar

feature

-RRB-

-LSB-

-RSB-

Unfortunately

Kautz/de

Bruijn

digraphs

are

neither

vertex

nor

edge-transitive

The

reason

is

that

their

vertices

are

not

always

interchangeable

form

the

point

of

view

of

cyclic

shifting

e.g.

certainly

with

respect

to

cyclic

shifting

But

on

the

other

hand

these

digraphs

are

examples

proving

that

vertex

or

edge-symmetry

is

not

necessary

for

easy

routing

algorithms

As

to

the

symmetry

there

exists

a

vertex-isomorphism

based

on

permutations

of

the

alphabet

Zd

Recent

studies

have

shown

that

B

-LRB-

d

D

-RRB-

is

a

right-quotient

digraph

of

a

vertex-symmetric

Cayley

graph

called

d-ary

butterfly

network

and

shares

some

of

its

nice

structural

and

computational

properties

-LSB-

-RSB-

Kautz

digraphs

are

also

preferable

from

the

fault-tolerance

point

of

view

since

they

possess

the

optimal

vertex

connectivity

and

arc

connectivity

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

d

Due

to

the

self-loops

de

Bruijn

digraphs

are

slightly

weaker

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

d

Moreover

the

fault-tolerant

diameter

-LRB-

i.e.

the

diameter

of

the

digraph

after

deleting

vertices

or

arcs

-RRB-

is

very

low

D

for

K

-LRB-

d

D

-RRB-

and

D

for

B

-LRB-

d

D

-RRB-

This

is

equivalent

to

the

statement

that

in

B

-LRB-

d

D

-RRB-

there

exist

d

vertex-disjoint

paths

of

length

at

most

D

and

in

K

-LRB-

d

D

-RRB-

there

exist

d

vertex-disjoint

paths

of

length

at

most

D

Kautz/de

Bruijn

digraphs

are

not

recursively

scalable

i.e.

K

-LRB-

d

D

-RRB-

is

not

composed

of

d

copies

of

K

-LRB-

d

D

-RRB-

and

similarly

for

B

-LRB-

d

D

-RRB-

But

ffl

K

-LRB-

d

D

-RRB-

is

a

line

digraph

of

K

-LRB-

d

D

-RRB-

ffl

B

-LRB-

d

D

-RRB-

is

a

line

digraph

of

B

-LRB-

d

D

-RRB-

ffl

K

-LRB-

d

D

-RRB-

is

an

induced

subgraph

of

B

-LRB-

d

D

-RRB-

ffl

K

-LRB-

d

D

-RRB-

is

an

induced

subgraph

of

K

-LRB-

d

D

-RRB-

ffl

B

-LRB-

d

D

-RRB-

is

an

induced

subgraph

of

B

-LRB-

d

D

-RRB-

ffl

B

-LRB-

D

-RRB-

is

contraction

of

B

-LRB-

D

-RRB-

-LSB-

-RSB-

Kautz

and

de

Bruijn

digraphs

share

some

structural

properties

related

to

embeddings

It

follows

from

their

definition

that

they

contain

as

subgraphs

trees

and

cycles

For

example

a

d-ary

complete

tree

of

height

D

is

a

subgraph

of

K

-LRB-

d

D

-RRB-

B

-LRB-

d

D

-RRB-

On

the

other

hand

de

Bruijn

networks

received

more

attention

from

the

researchers

and

a

variety

of

results

on

nontrivial

embeddings

and

work-preserving

emulations

have

been

published

in

last

few

years

-LRB-

see

e.g.

-LSB-

-RSB-

-RRB-

However

most

of

the

results

are

currently

known

for

binary

de

Bruijn

digraph

B

-LRB-

D

-RRB-

The

reason

is

that

B

-LRB-

D

-RRB-

has

size

It

has

the

same

diameter

as

equally

sized

hypercube

but

it

needs

only

fixed

vertex

degree

comparing

to

the

logarithmic

vertex

degree

of

the

hypercube

It

is

known

that

e.g.

ffl

optimal

binary

shuffle-exchange

digraph

is

its

subgraph

-LSB-

-RSB-

ffl

mesh-of-trees

is

embeddable

with

constant

measures

-LSB-

-RSB-

ffl

tree

machine

is

its

subgraph

-LSB-

-RSB-

ffl

computationally

it

is

a

universal

topology

since

it

simulates

normal

hypercube

algorithms

with

slowdown

-LSB-

-RSB-

It

is

one

aim

of

this

study

to

contribute

to

the

understanding

of

structural

relationship

between

de

Bruijn

and

Kautz

digraphs

and

to

understand

more

how

the

results

obtained

for

de

Bruijn

digraphs

can

be

applied

for

Kautz

digraphs

Kautz

necklaces

In

Kautz

digraphs

the

problem

of

partitioning

the

vertices

into

necklaces

is

complicated

due

to

the

constraints

that

adjacent

letters

in

the

vertex

label

has

to

differ

Therefore

the

standard

cyclic

left

shifting

can

not

be

applied

We

can

observe

that

the

set

of

vertices

of

K

-LRB-

d

D

-RRB-

can

be

partitioned

into

mutually

disjoint

sets

Me

-LRB-

d

;D

-RRB-

and

Mn

-LRB-

d

;D

-RRB-

as

follows

Me

-LRB-

d

;D

-RRB-

xD

j

xDg

Mn

-LRB-

d

;D

-RRB-

xD

j

xDg

The

operation

of

cyclic

left

shift

has

to

be

modified

to

handle

properly

strings

from

Me

-LRB-

d

;D

-RRB-

Definition

Cyclic

left

K-shift

-LRB-

or

simply

K-shift

-RRB-

of

x

xD

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

denoted

-LRB-

x

-RRB-

is

defined

as

follows

ffl

-LRB-

x

-RRB-

xD

for

x

Me

-LRB-

d

;D

-RRB-

ffl

-LRB-

x

-RRB-

xD

for

x

Mn

-LRB-

d

;D

-RRB-

Multiple

cyclic

left

K-shift

-LRB-

or

simply

multiple

K-shift

-RRB-

is

defined

in

a

standard

way

oek

-LRB-

x

-RRB-

-LRB-

oek

-LRB-

x

-RRB-

-RRB-

for

k

and

-LRB-

x

-RRB-

x

The

condition

xi

xi

i

D

guarantees

that

any

multiple

K-shift

of

a

string

from

Me

-LRB-

d

;D

-RRB-

can

not

produce

a

string

from

Mn

-LRB-

d

;D

-RRB-

and

vice

versa

Proposition

x

Mi

-LRB-

d

D

-RRB-

iff

-LRB-

x

-RRB-

Mi

-LRB-

d

D

-RRB-

for

i

e

n.

Hence

the

operation

oe

induces

an

equivalence

on

the

set

of

all

vertices

of

K

-LRB-

d

D

-RRB-

xD

yD

iff

k

D

yD

oek

-LRB-

xD

-RRB-

Therefore

similarly

to

de

Bruijn

digraph

the

set

of

vertices

is

partitioned

into

equivalence

classes

closed

under

the

operation

of

K-shift

and

called

Kautz

necklaces

Note

that

all

d

necklacesy

of

size

belong

to

Me

-LRB-

d

;D

-RRB-

if

D

is

odd

and

to

Mn

-LRB-

d

;D

-RRB-

otherwise

Example

If

d

D

and

x

then

the

necklace

containing

x

consists

of

all

K-shifts

of

x

i.e.

Note

that

after

D

K-shifts

we

are

back

in

x

This

observation

will

be

generalized

in

the

following

text

A

necklace

containing

x

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

will

be

denoted

necklace

-LRB-

x

-RRB-

Each

necklace

will

be

represented

by

its

largest

string

under

the

standard

lexicographic

ordering

denoted

here

xi

xD

xi

yD

i

D

whenever

xi

yi

Definition

A

string

x

is

a

representative

of

a

necklace

iff

i

i

D

x

oei

-LRB-

x

-RRB-

It

is

easy

to

show

that

each

necklace

has

one

unique

representative

Example

is

a

representative

of

necklace

Subscript

e

stands

for

equal

n

stands

for

nonequal

yIt

is

a

trivial

corollary

of

the

line-digraph

definition

that

K

-LRB-

d

D

-RRB-

contains

always

d

cycles

of

size

Instead

of

string

x

is

a

representative

of

a

necklace

we

will

simply

say

that

string

x

is

a

necklace

If

k

l

D

then

substring

xkxk

xl

of

xD

will

be

denoted

x

-LSB-

k

l

-RSB-

If

x

is

a

string

then

xk

xx

x

denotes

the

k-ary

concatenation

of

x

The

following

lemma

follows

immediately

from

the

definition

of

the

necklace

Lemma

x

is

a

necklace

iff

i

D

k

D

x

-LSB-

k

-RSB-

-LRB-

oei

-LRB-

x

-RRB-

-RRB-

-LSB-

k

-RSB-

In

particular

i

D

xi

Definition

A

period

of

a

string

x

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

per

-LRB-

x

-RRB-

is

the

smallest

i

i

D

such

that

x

oei

-LRB-

x

-RRB-

Since

obviously

per

-LRB-

x

-RRB-

j

necklace

-LRB-

x

-RRB-

j

we

will

use

the

expressions

string

x

has

period

i

interchangeably

with

necklace

-LRB-

x

-RRB-

has

period

i

or

necklace

-LRB-

x

-RRB-

has

size

i

-LRB-

when

the

necklace

is

viewed

as

a

set

of

vertices

-RRB-

On

the

other

hand

if

x

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

then

we

say

that

string

x

has

length

D

referring

to

its

number

of

letters

A

necklace

of

period

m

will

be

denoted

m-necklace

Example

String

has

period

string

has

period

so

necklace

is

a

Linear-time

algorithm

for

generating

necklaces

We

can

now

proceed

to

the

definition

of

the

algorithm

for

generating

Kautz

necklaces

of

K

-LRB-

d

D

-RRB-

The

idea

of

the

algorithm

was

inspired

by

an

algorithm

for

generating

de

Bruijn

necklaces

-LSB-

-RSB-

It

also

generates

Kautz

necklaces

in

lexicographically

decreasing

orderz

Generating

is

based

on

repeated

applications

of

generating

operator

Definition

Let

x

xD

be

a

Kautz

necklace

Let

q

be

the

least

integer

q

D

such

that

xq

and

x

-LSB-

q

D

-RSB-

i.e.

x

-LSB-

q

D

-RSB-

is

a

substring

consisting

solely

of

alternating

and

starting

with

Then

x

-LSB-

q

D

-RSB-

is

called

of

x

and

q

is

the

tail

index

of

x

If

x

has

no

then

the

tail

index

of

x

is

defined

to

be

D.

Definition

Let

x

xD

be

any

necklace

different

from

and

let

q

be

the

tail

index

of

x.

Let

k

and

l

be

two

integers

such

that

D

k

q

l

k

and

l

q

Then

the

generating

operator

is

defined

as

follows

ffl

-LRB-

x

-RRB-

if

q

ffl

-LRB-

x

-RRB-

-LSB-

xq

-RSB-

k

l

if

q

D

where

xq

if

xq

xq

xq

if

xq

xq

and

l

is

an

empty

string

if

l

l

x

-LSB-

l

-RSB-

if

l

Lemma

The

generating

operator

is

well

defined

zIt

is

possible

to

define

a

dual

algorithm

that

will

generate

the

necklaces

in

increasing

order

Proof

First

by

the

conditions

of

the

definition

-LRB-

x

-RRB-

can

be

applied

only

if

By

the

definition

of

q

if

xq

then

q

and

xq

hence

we

get

always

Since

x

is

a

necklace

we

have

i

D

xi

Therefore

and

the

concatenation

-LSB-

xq

-RSB-

k

l

always

generates

a

valid

label

of

a

Kautz

digraph

vertex

ut

Theorem

If

x

is

a

necklace

then

there

exists

no

necklace

y

such

that

x

y

-LRB-

x

-RRB-

Proof

By

induction

on

the

length

of

string

y.

Assume

that

y

is

a

necklace

such

that

x

y

-LRB-

x

-RRB-

where

-LRB-

x

-RRB-

-LSB-

xq

-RSB-

k

l

as

defined

above

Since

x

-LSB-

q

-RSB-

-LRB-

x

-RRB-

-LSB-

q

-RSB-

we

have

y

-LSB-

q

-RSB-

x

-LSB-

q

-RSB-

and

yq

Since

y

is

a

necklace

it

follows

that

y

oeq

-LRB-

y

-RRB-

Hence

yq

Since

y

-LRB-

x

-RRB-

it

follows

that

yq

Hence

yq

Assume

by

induction

that

y

-LSB-

-LRB-

-RRB-

-RSB-

-LRB-

x

-RRB-

-LSB-

-LRB-

-RRB-

-RSB-

for

k

and

q

such

that

D.

Let

be

-LRB-

-RRB-

modq

Then

Since

y

-LRB-

y

-RRB-

we

have

Hence

Therefore

by

induction

argument

y

-LRB-

x

-RRB-

ut

Note

that

if

x

is

a

necklace

then

-LRB-

x

-RRB-

is

not

necessarily

a

necklace

Example

If

d

D

and

x

then

-LRB-

x

-RRB-

is

not

a

necklace

since

-LRB-

-LRB-

x

-RRB-

-RRB-

-LRB-

x

-RRB-

Clearly

-LRB-

-LRB-

x

-RRB-

-RRB-

is

a

necklace

Example

If

d

D

and

x

then

-LRB-

x

-RRB-

is

not

a

necklace

but

it

has

an

In

this

case

applications

of

in

total

are

needed

to

produce

the

necklace

next

to

x

It

can

be

seen

from

these

examples

that

in

general

several

applications

of

can

be

needed

to

generate

the

next

necklace

However

was

defined

for

necklaces

only

To

provide

a

formal

framework

for

the

generating

algorithm

we

have

to

prove

that

multiple

applications

of

are

well

defined

and

that

the

successive

application

of

on

a

necklace

must

eventually

produce

the

next

necklace

Definition

h

-LRB-

x

-RRB-

-LRB-

h

-LRB-

x

-RRB-

-RRB-

for

h

and

-LRB-

x

-RRB-

x.

Lemma

If

x

is

a

necklace

then

h

-LRB-

x

-RRB-

h

is

well

defined

Proof

Since

x

is

a

necklace

xj

for

all

j

D.

Successive

applications

of

can

never

produce

a

letter

greater

than

since

the

only

two

operations

used

in

-LRB-

x

-RRB-

are

the

copying

and

decrementing

Note

also

that

itself

can

be

decremented

only

if

q

in

which

case

will

produce

a

necklace

by

definition

Hence

the

concatenation

of

the

substrings

xq

and

the

final

attachment

of

l

will

always

produce

a

valid

label

of

a

Kautz

digraph

vertex

when

applied

is

repeatedly

on

x.

ut

Lemma

Let

xD

be

a

necklace

such

that

q

D

xq

and

if

xq

then

xq

Then

xq

is

a

necklace

Proof

By

contradiction

Assume

ex

xq

is

not

a

necklace

Then

there

exists

i

i

q

such

that

oei

-LRB-

ex

-RRB-

ex

and

therefore

xi

xq

xq?i

-LRB-

see

Figure

-RRB-

Since

x

is

a

necklace

it

follows

that

xq?i

xi

xq

so

xq?i

xi

xq

Thus

xq?i

which

implies

xq

xq?i

But

this

is

a

contradiction

with

the

assumption

that

x

is

a

necklace

ut

Lemma

If

xq

is

a

necklace

and

xq

then

is

also

a

necklace

Proof

Follows

immediately

from

the

definition

of

the

K-shift

Since

i

i

q

xq

oei

-LRB-

xq

-RRB-

xi

xi

and

xi

it

follows

that

i

i

q

oei

-LRB-

-RRB-

xi

xi

ut

oei

-LRB-

ex

-RRB-

ex

a

-RRB-

i

i

q

q-i

q-i

i

q

oei

-LRB-

ex

-RRB-

ex

b

-RRB-

i

i

q-i

q-i

q

i

q-i

q-i

q

Figure

K-shifts

of

ex

Theorem

Let

x

be

a

necklace

and

h

be

the

least

integer

such

that

h

-LRB-

x

-RRB-

is

a

string

without

any

Let

q

be

the

tail

index

of

h

-LRB-

x

-RRB-

xh

xh

D

and

let

k

l

be

integers

such

that

D

k

q

l

k

l

q

and

h

-LRB-

x

-RRB-

xhq

-LSB-

xh

xh

q

-LRB-

xh

q

-RRB-

-RSB-

k

h

l

Then

the

necklace

next

to

x

under

the

lexicographic

ordering

is

h

-LRB-

x

-RRB-

if

l

and

h

-LRB-

x

-RRB-

if

l

The

maximum

total

number

of

applications

of

to

generate

a

necklace

next

to

x

is

D

Proof

If

x

has

no

then

-LRB-

x

-RRB-

is

a

new

necklace

by

Lemma

Assume

that

x

has

a

nonempty

Using

the

same

argument

as

in

the

proof

of

Theorem

we

can

show

that

if

there

exists

an

integer

j

and

a

necklace

y

such

that

j

-LRB-

x

-RRB-

y

j

-LRB-

x

-RRB-

then

y

j

-LRB-

x

-RRB-

Hence

the

necklace

generated

by

successive

applications

of

on

x

is

the

necklace

next

to

x

under

lexicographic

ordering

Now

let

us

prove

that

the

criteria

for

terminating

the

iterations

of

are

correct

First

note

that

if

xq

is

a

substring

of

a

necklace

then

by

Lemma

is

a

necklace

and

so

is

the

concatenation

-LSB-

-RSB-

k.

Assume

first

h

If

l

we

have

a

necklace

If

l

we

get

a

string

which

is

also

a

necklace

by

Lemma

belonging

to

the

set

Mn

-LRB-

d

;D

-RRB-

If

l

then

-LRB-

x

-RRB-

can

not

be

a

necklace

since

always

oekq

-LRB-

-LRB-

x

-RRB-

-RRB-

xl

-LSB-

xlxl

xq

-RSB-

k

-LRB-

x

-RRB-

-LSB-

xlxl

xq

-RSB-

xl

This

can

be

proven

by

contradiction

Assume

that

i

l

i

q

xi

xi?l

and

xq?l

Since

is

a

necklace

we

have

xq?l

xl

Hence

xq?l

xl

which

implies

xq?l

xl

xq

but

this

is

a

contradiction

with

the

assumption

that

x

is

a

necklace

So

there

either

exists

i

l

i

q

such

that

xi

xi?l

or

xq?l

if

i

q.

Therefore

xq

xq?l

There

are

two

cases

now

If

x

-LSB-

l

-RSB-

has

no

then

one

more

application

of

generates

a

necklace

If

x

-LSB-

l

-RSB-

has

a

we

have

to

apply

one

or

more

times

until

the

disappears

Note

that

since

-LRB-

x

-RRB-

-LSB-

-RSB-

k

l

it

follows

that

l

and

hence

in

all

subsequent

applications

of

we

have

always

q

and

k

Since

each

application

of

replaces

the

with

a

substring

the

length

of

the

decreases

by

at

least

each

time

Let

us

prove

that

the

upper

bound

on

the

number

of

applications

of

is

D

The

worst

case

happens

when

k

l

q

is

as

close

to

q

as

possible

and

each

application

of

shortens

the

length

of

the

by

just

This

implies

that

x

starts

with

and

If

D

is

even

and

k

then

qmin

and

lmax

D

If

D

is

odd

then

qmin

D

and

lmax

D

This

verifies

the

upper

bound

D

ut

The

algorithm

for

generating

a

list

X

X

-LSB-

-RSB-

X

-LSB-

-RSB-

of

all

Kautz

necklaces

is

now

straightforward

Algorithm

GKN

-LRB-

d

D

-RRB-

Start

with

the

first

necklace

under

lexicographic

ordering

X

-LSB-

-RSB-

d

d

d

d

i

If

X

-LSB-

i

-RSB-

then

terminate

else

fX

-LSB-

i

-RSB-

h

-LRB-

X

-LSB-

i

-RSB-

-RRB-

using

Theorem

i

i

goto

Theorem

Algorithm

GKN

-LRB-

d

D

-RRB-

generates

a

list

of

all

necklaces

of

K

-LRB-

d

D

-RRB-

in

a

lexicographically

decreasing

order

in

O

-LRB-

N

-RRB-

time

and

O

-LRB-

-RRB-

space

where

N

is

the

size

of

K

-LRB-

d

D

-RRB-

Proof

It

follows

from

Theorems

and

ut

Example

For

d

and

D

the

list

of

Kautz

necklaces

generated

by

the

algorithm

GKN

is

as

follows

3232 3231 3230 3213

3212 3210 3203 3202

3201 3131 3130 3123

3121 3120 3103 3102

3101 3030 3023 3021

3020 3013 3012 3010

2121 2120 2102 2101

2020 2012 2010 1010

Counting

necklaces

Definitions

and

Terminology

If

N

is

an

integer

let

pf

-LRB-

N

-RRB-

denote

the

set

of

prime

factors

of

N

D

-LRB-

N

-RRB-

fj

j

jjNg

denote

the

set

of

its

divisors

r

-LRB-

N

-RRB-

jD

-LRB-

N

-RRB-

j

denote

the

number

of

its

divisors

and

-LRB-

N

-RRB-

denote

Euler

's

totient

function

counting

numbers

N

relatively

prime

to

N

-LRB-

N

-RRB-

jfi

j

i

N

gcd

-LRB-

i

N

-RRB-

Hence

if

N

p

p

k

k

i

is

the

prime

factorization

of

N

then

pf

-LRB-

N

-RRB-

pkg

D

-LRB-

N

-RRB-

fp

p

k

k

j

i

i

i

kg

r

-LRB-

N

-RRB-

k

Y

i

-LRB-

i

-RRB-

-LRB-

N

-RRB-

N

k

Y

i

pi

-LRB-

-RRB-

Equation

-LRB-

-RRB-

is

a

basic

result

of

Number

Theory

which

can

be

easily

shown

by

noting

that

-LRB-

p

-RRB-

p

p

and

by

proving

that

is

multiplicative

-LRB-

m

n

-RRB-

-LRB-

m

-RRB-

-LRB-

n

-RRB-

Counting

de

Bruijn

necklaces

Counting

de

Bruijn

necklaces

is

a

known

result

in

Enumerative

Combinatorics

However

there

is

no

obvious

way

how

the

standard

enumerating

technique

based

on

generating

functions

could

be

used

for

counting

Kautz

necklaces

Therefore

we

have

elaborated

here

a

very

simple

method

of

counting

de

Bruijn

necklaces

using

priciple

of

inclusion

and

exclusion

that

is

applicable

for

counting

the

Kautz

necklaces

Recall

that

the

vertices

of

de

Bruijn

digraph

B

-LRB-

d

D

-RRB-

are

all

d-ary

D-tuples

Therefore

the

standard

operation

of

cyclic

left

shift

-LRB-

simply

shift

-RRB-

denoted

is

used

for

defining

the

necklaces

-LRB-

xD

-RRB-

xD

ZDd

Multiple

cyclic

shift

is

again

k

-LRB-

x

-RRB-

-LRB-

k

-LRB-

x

-RRB-

-RRB-

for

k

and

-LRB-

x

-RRB-

x.

De

Bruijn

necklaces

are

the

equivalent

classes

of

vertices

where

the

equivalence

is

induced

by

the

cyclic

left

shift

x

y

iff

k

D

y

k

-LRB-

x

-RRB-

Let

N

-LRB-

d

D

-RRB-

denote

the

number

of

necklaces

of

B

-LRB-

d

D

-RRB-

and

N

-LRB-

d

D

j

-RRB-

denote

the

number

of

its

j-necklaces

i.e.

necklaces

with

period

j

The

following

statements

are

trivial

Lemma

N

-LRB-

d

D

j

-RRB-

iff

jjD

-LRB-

-RRB-

N

-LRB-

d

D

-RRB-

X

jjD

N

-LRB-

d

D

j

-RRB-

-LRB-

-RRB-

N

-LRB-

d

D

j

-RRB-

N

-LRB-

d

j

j

-RRB-

for

jjD

-LRB-

-RRB-

Since

the

number

of

i-necklaces

made

of

D

d-ary

letters

where

i

is

a

subperiod

of

a

larger

period

j

is

equal

to

the

number

of

i-necklaces

made

of

j

d-ary

letters

we

have

immediately

Corollary

For

all

i

j

such

that

ijj

and

jjD

N

-LRB-

d

D

i

-RRB-

N

-LRB-

d

j

i

-RRB-

N

-LRB-

d

i

i

-RRB-

-LRB-

-RRB-

Lemma

X

jjD

jN

-LRB-

d

D

j

-RRB-

dD

-LRB-

-RRB-

Proof

The

list

of

all

d-ary

D-tuples

contains

dD

strings

For

each

j-necklace

where

jjD

there

are

exactly

j

strings

in

the

list

so

the

equation

follows

ut

From

-LRB-

-RRB-

and

-LRB-

-RRB-

we

get

a

system

of

r

-LRB-

D

-RRB-

equations

for

each

j

D

-LRB-

D

-RRB-

one

X

ijj

iN

-LRB-

d

D

i

-RRB-

dj

-LRB-

-RRB-

Lemma

Let

j

D

-LRB-

D

-RRB-

be

such

that

pf

-LRB-

j

-RRB-

pkg

Then

-LRB-

-RRB-

can

be

rewritten

as

j

N

-LRB-

d

D

j

-RRB-

dj

X

jD

d

X

jD

d

j

X

jD

d

j

-LRB-

-RRB-

kd

j

pk

-LRB-

-RRB-

Proof

LHS

expression

denotes

the

number

of

strings

generated

by

cyclic

shiftings

of

jnecklaces

The

equality

with

RHS

expression

comes

from

counting

using

principle

of

inclusion

and

exclusion

From

all

possible

dj

d-ary

j-tuples

we

have

to

exclude

all

those

with

period

less

than

j.

Hence

for

each

pi

pf

-LRB-

j

-RRB-

there

are

d

jpi

strings

that

have

period

mi

such

that

mij

jpi

By

subtracting

P

pijj

d

jpi

however

those

strings

that

have

period

mi

j

such

that

mi

j

j

jpi

and

mi

j

j

jpj

were

excluded

twice

So

we

have

to

include

back

all

strings

with

periods

mi

j

j

j

pipj

By

doing

this

however

we

included

back

all

strings

with

period

mi

j

kj

j

pipjpk

and

so

on

In

general

for

any

m

D

-LRB-

D

-RRB-

m

D

let

l

be

the

maximum

integer

such

that

mj

j

pil

By

applying

principle

of

inclusion

and

exclusion

on

the

list

of

all

strings

the

number

of

appearances

of

strings

with

period

m

in

the

final

list

will

be

l

l

l

-LRB-

-RRB-

l

l

l

-LRB-

-RRB-

summarizes

the

effect

of

applying

this

principle

ut

Lemma

N

-LRB-

d

D

-RRB-

D

X

jjD

-LRB-

j

-RRB-

dDj

-LRB-

-RRB-

where

-LRB-

j

-RRB-

is

Euler

's

totient

function

Proof

Multiplying

each

equation

-LRB-

-RRB-

by

Dj

gives

D

N

-LRB-

d

D

j

-RRB-

D

j

dj

D

j

X

jD

d

D

j

X

jD

d

j

D

j

X

jD

d

j

-LRB-

-RRB-

k

D

j

d

j

pk

-LRB-

-RRB-

By

summing

all

equations

-LRB-

-RRB-

together

we

get

D

N

-LRB-

d

D

-RRB-

X

jjD

Kjdj

-LRB-

-RRB-

where

Kj

D

j

-LRB-

X

j

Dj

X

j

Dj

-RRB-

D

j

-LRB-

-RRB-

-LRB-

see

-LRB-

-RRB-

-RRB-

Hence

N

-LRB-

d

D

-RRB-

D

X

jjD

D

j

dj

-LRB-

-RRB-

which

is

clearly

equivalent

to

D

X

jD

-LRB-

-RRB-

dD

since

the

mapping

Dj

is

a

permutation

on

D

-LRB-

D

-RRB-

ut

Counting

Kautz

necklaces

Let

me

-LRB-

d

D

-RRB-

jMe

-LRB-

d

D

-RRB-

j

and

mn

-LRB-

d

D

-RRB-

jMn

-LRB-

d

D

-RRB-

j.

Lemma

Let

d

and

D

ffl

If

D

is

odd

then

me

-LRB-

d

D

-RRB-

dD

d

mn

-LRB-

d

D

-RRB-

dD

d

ffl

If

D

is

even

then

me

-LRB-

d

D

-RRB-

dD

d

mn

-LRB-

d

D

-RRB-

dD

d

Proof

It

is

easy

to

observe

that

me

-LRB-

d

-RRB-

-LRB-

-RRB-

mn

-LRB-

d

-RRB-

d

-LRB-

-RRB-

me

-LRB-

d

D

-RRB-

mn

-LRB-

d

D

-RRB-

-LRB-

-RRB-

me

-LRB-

d

D

-RRB-

mn

-LRB-

d

D

-RRB-

dD

dD

-LRB-

-RRB-

From

-LRB-

-RRB-

and

-LRB-

-RRB-

we

get

mn

-LRB-

d

D

-RRB-

mn

-LRB-

d

D

-RRB-

dD

dD

-LRB-

-RRB-

Consider

now

a

system

of

equations

-LRB-

-RRB-

for

D

D

D

plus

-LRB-

-RRB-

listed

in

this

order

By

multiplying

the

equations

on

even

position

within

this

list

by

and

by

summing

all

equations

together

we

get

the

results

stated

by

the

lemma

ut

Similarly

to

counting

de

Bruijn

necklaces

let

M

-LRB-

d

D

-RRB-

denote

the

number

of

necklaces

of

Kautz

digraph

K

-LRB-

d

D

-RRB-

Let

further

Ne

-LRB-

d

D

j

-RRB-

and

Nn

-LRB-

d

D

j

-RRB-

denote

the

number

of

jnecklaces

of

K

-LRB-

d

D

-RRB-

made

of

vertices

from

Me

-LRB-

d

;D

-RRB-

and

Mn

-LRB-

d

;D

-RRB-

respectively

It

follows

from

the

definition

of

the

K-shift

that

the

Kautz

necklaces

made

of

vertices

from

Me

-LRB-

d

;D

-RRB-

can

have

periods

j

where

j

D

and

jj

-LRB-

D

-RRB-

Similarly

the

Kautz

necklaces

made

of

vertices

from

Mn

-LRB-

d

;D

-RRB-

can

have

periods

j

where

j

D

and

jjD

Theorem

The

number

of

necklaces

of

K

-LRB-

d

D

-RRB-

is

M

-LRB-

d

D

-RRB-

D

X

jjD

-LRB-

j

-RRB-

dDj

D

X

jj

-LRB-

D

-RRB-

-LRB-

j

-RRB-

dD

j

d

Proof

First

note

that

gcd

-LRB-

D

D

-RRB-

-LRB-

-RRB-

We

will

show

here

the

proof

only

for

D

even

since

the

proof

for

D

odd

is

similar

Let

D

be

even

By

similar

reasoning

as

in

Lemma

we

get

X

jj

-LRB-

D

-RRB-

j

jNe

-LRB-

d

D

j

-RRB-

X

jjD

j

jNn

-LRB-

d

D

j

-RRB-

dD

dD

-LRB-

-RRB-

Using

-LRB-

-RRB-

and

Lemma

we

can

rewrite

-LRB-

-RRB-

as

two

independent

equations

X

jj

-LRB-

D

-RRB-

j

jNe

-LRB-

d

D

j

-RRB-

dD

d

-LRB-

-RRB-

X

jjD

j

jNn

-LRB-

d

D

j

-RRB-

dD

d

-LRB-

-RRB-

Consider

now

a

substitution

N

-LRB-

d

D

j

-RRB-

Ne

-LRB-

d

D

j

-RRB-

j

-LRB-

-RRB-

N

-LRB-

d

D

-RRB-

d

-LRB-

-RRB-

Then

-LRB-

-RRB-

becomes

X

jj

-LRB-

D

-RRB-

jN

-LRB-

d

D

j

-RRB-

dD

-LRB-

-RRB-

which

is

equivalent

to

-LRB-

-RRB-

for

B

-LRB-

d

D

-RRB-

Therefore

by

Lemma

we

have

X

jj

-LRB-

D

-RRB-

N

-LRB-

d

D

j

-RRB-

D

X

jj

-LRB-

D

-RRB-

-LRB-

j

-RRB-

dD

j

-LRB-

-RRB-

By

applying

the

back

substitution

we

get

X

jj

-LRB-

D

-RRB-

j

Ne

-LRB-

d

D

j

-RRB-

D

X

jj

-LRB-

D

-RRB-

-LRB-

j

-RRB-

dD

j

d

-LRB-

-RRB-

Consider

now

-LRB-

-RRB-

Note

that

in

Kautz

digraph

K

-LRB-

d

D

-RRB-

if

D

even

then

Nn

-LRB-

d

D

-RRB-

d

and

Nn

-LRB-

d

D

-RRB-

whereas

in

de

Bruijn

digraph

B

-LRB-

d

D

-RRB-

N

-LRB-

d

D

-RRB-

and

N

-LRB-

d

D

-RRB-

d.

Consider

a

substitution

N

-LRB-

d

D

j

-RRB-

Nn

-LRB-

d

D

j

-RRB-

j

-LRB-

-RRB-

N

-LRB-

d

D

-RRB-

Nn

-LRB-

d

D

-RRB-

d

-LRB-

-RRB-

N

-LRB-

d

D

-RRB-

d

-LRB-

-RRB-

Then

-LRB-

-RRB-

becomes

X

jjD

jN

-LRB-

d

D

j

-RRB-

dD

-LRB-

-RRB-

which

is

equivalent

to

-LRB-

-RRB-

for

B

-LRB-

d

D

-RRB-

Therefore

by

Lemma

we

have

X

jjD

N

-LRB-

d

D

j

-RRB-

D

X

jjD

-LRB-

j

-RRB-

dDj

-LRB-

-RRB-

By

applying

the

back

substitution

we

get

X

jjD

j

Nn

-LRB-

d

D

j

-RRB-

D

X

jjD

-LRB-

j

-RRB-

dDj

-LRB-

-RRB-

Summing

-LRB-

-RRB-

and

-LRB-

-RRB-

gives

the

result

ut

Structural

comparison

of

Kautz

and

de

Bruijn

digraphs

We

will

use

notation

necklaceK

-LRB-

x

-RRB-

and

necklaceB

-LRB-

x

-RRB-

to

distinguish

de

Bruijn

and

Kautz

necklaces

-LRB-

d

D

-RRB-

will

denote

the

set

of

all

d

of

K

-LRB-

d

D

-RRB-

and

N

-LRB-

d

D

-RRB-

will

denote

the

subset

of

d

fa

a

a

a

j

a

Zdg

ae

-LRB-

d

D

-RRB-

of

K

-LRB-

d

D

-RRB-

Results

of

Section

suggest

a

striking

structural

similarity

between

a

Kautz

digraph

K

-LRB-

d

D

-RRB-

and

a

union

of

de

Bruijn

digraphs

B

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

In

addition

to

the

same

size

jK

-LRB-

d

D

-RRB-

j

jB

-LRB-

d

D

-RRB-

j

jB

-LRB-

d

D

-RRB-

j

dD

dD

there

is

a

one-to-one

correspondence

between

n-necklaces

n

of

K

-LRB-

d

D

-RRB-

and

n-necklaces

of

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

The

only

structural

difference

is

in

case

of

the

necklaces

of

period

Whereas

each

B

-LRB-

d

D

-RRB-

has

d

self-loops

-LRB-

-RRB-

and

each

K

-LRB-

d

D

-RRB-

contains

d

necklaces

B

-LRB-

d

D

-RRB-

contains

only

id

D

is

even

If

we

take

K

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

however

we

have

always

d

Kautz

on

one

side

and

de

Bruijn

plus

de

Bruijn

on

the

other

side

Indeed

a

natural

mapping

between

vertices

of

K

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

-RRB-

preserving

the

partition

of

vertices

into

necklaces

exists

We

will

first

show

a

mapping

of

Kautz

necklaces

onto

de

Bruijn

necklaces

Definition

Let

DKB

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

-LSB-

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

be

defined

as

follows

If

x

xD

Mn

-LRB-

d

;D

-RRB-

N

-LRB-

d

D

-RRB-

then

DKB

-LRB-

x

-RRB-

yD

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

such

that

i

D

yi

kb

-LRB-

xi

-RRB-

where

i

N

i

if

i

N

N

if

i

kb

-LRB-

a

b

-RRB-

b

if

a

b

b

if

a

b

If

x

Me

-LRB-

d

;D

-RRB-

N

-LRB-

d

D

-RRB-

then

DKB

-LRB-

xD

-RRB-

D

KB

-LRB-

xD

-RRB-

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

If

x

a

a

a

a

N

-LRB-

d

D

-RRB-

then

DKB

-LRB-

x

-RRB-

aD

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

and

DKB

-LRB-

-LRB-

x

-RRB-

-RRB-

aD

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

Lemma

u

v

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

N

-LRB-

d

D

-RRB-

v

oek

-LRB-

u

-RRB-

-LRB-

-RRB-

DKB

-LRB-

v

-RRB-

k

-LRB-

DKB

-LRB-

u

-RRB-

-RRB-

-LRB-

-RRB-

and

j

necklaceK

-LRB-

u

-RRB-

j

j

necklaceB

-LRB-

DKB

-LRB-

u

-RRB-

-RRB-

j

-LRB-

-RRB-

Proof

Note

first

that

u

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

DKB

-LRB-

u

-RRB-

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

-LSB-

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

since

whenever

d

appears

in

u

it

is

decremented

by

kb

and

is

never

decremented

by

kb

The

first

statement

-LRB-

-RRB-

follows

immediately

from

the

definition

of

DKB

Application

of

DKB

on

a

cyclicly

shifted

string

u

has

the

same

effect

as

cyclic

shifting

of

DKB

-LRB-

u

-RRB-

To

prove

-LRB-

-RRB-

assume

that

a

necklace

u

has

period

jjD

-LRB-

similarly

for

jj

-LRB-

D

-RRB-

-RRB-

Then

obviously

DKB

-LRB-

u

-RRB-

can

not

has

larger

period

since

u

oej

-LRB-

u

-RRB-

therefore

DKB

-LRB-

u

-RRB-

j

-LRB-

DKB

-LRB-

u

-RRB-

-RRB-

Assume

that

DKB

-LRB-

u

-RRB-

has

a

shorter

period

i

j

ijj

Then

DKB

-LRB-

u

-RRB-

i

-LRB-

DKB

-LRB-

u

-RRB-

-RRB-

but

it

follows

from

-LRB-

-RRB-

that

then

u

oei

-LRB-

u

-RRB-

which

is

a

contradiction

ut

The

inverse

mapping

DBK

of

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

-LSB-

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

onto

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

is

a

little

bit

more

tricky

Since

a

de

Bruijn

string

y

can

contain

sequences

of

the

same

letters

a

wider

context

is

needed

in

general

to

find

out

whether

should

be

incremented

or

not

Example

Since

-LRB-

-RRB-

and

-LRB-

-RRB-

it

follows

that

the

inverse

mapping

has

to

distinguish

between

these

two

cases

-LRB-

-RRB-

and

-LRB-

-RRB-

The

algorithm

to

convert

de

Bruijn

string

y

into

Kautz

string

x

needs

either

to

rotate

y

until

the

de

Bruijn

necklace

is

found

apply

a

simple

mapping

similar

to

kb

-LRB-

-RRB-

and

perform

the

reverse

cyclic

shifting

Or

it

can

start

always

with

but

then

it

has

to

look

backwards

to

yD

yD

yD

to

find

the

first

letter

and

then

decide

if

or

As

soon

as

is

known

we

can

proceed

as

in

case

of

mapping

DKB

with

the

knowledge

of

the

left

neighbor

similarly

to

kb

Here

we

will

take

the

second

approach

Definition

Let

DBK

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

-LSB-

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

be

defined

as

follows

If

y

yD

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

faD

j

a

Zdg

then

DBK

-LRB-

y

-RRB-

xD

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

such

that

iff

-LRB-

-LRB-

yt

and

D

t

is

even

-RRB-

or

-LRB-

yt

and

D

t

is

odd

-RRB-

-RRB-

otherwise

i

D

xi

bk

-LRB-

xi

yi

-RRB-

where

t

maxfj

j

j

D

yj

bk

-LRB-

a

b

-RRB-

b

if

a

b

b

if

a

b

If

y

yD

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

faD

j

a

Zdg

then

DBK

-LRB-

yD

-RRB-

xD

where

xD

D

BK

-LRB-

yD

-RRB-

a

Zd

DBK

-LRB-

aD

-RRB-

a

a

a

a

a

Zd

DBK

-LRB-

aD

-RRB-

a

a

a

a

Lemma

u

v

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

-LSB-

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

faD

aD

j

a

Zdg

v

k

-LRB-

u

-RRB-

-LRB-

-RRB-

DBK

-LRB-

v

-RRB-

oek

-LRB-

DBK

-LRB-

u

-RRB-

-RRB-

and

j

necklaceB

-LRB-

u

-RRB-

j

j

necklaceK

-LRB-

DBK

-LRB-

u

-RRB-

-RRB-

j

Proof

A

simple

case

analysis

of

Definitions

and

reveals

that

the

functions

DKB

and

DBK

are

inverse

each

to

other

DBK

-LRB-

DKB

-LRB-

u

-RRB-

-RRB-

u

and

DKB

-LRB-

DBK

-LRB-

u

-RRB-

-RRB-

u.

Hence

the

proof

follows

from

Lemma

ut

So

we

can

summarize

Corollary

There

exists

a

one-to-one

mapping

between

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

-LSB-

V

-LRB-

B

-LRB-

d

D

-RRB-

-RRB-

and

V

-LRB-

K

-LRB-

d

D

-RRB-

-RRB-

such

that

Each

n-necklace

of

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

n

is

mapped

onto

exactly

one

n-necklace

of

K

-LRB-

d

D

-RRB-

and

vice

versa

Each

of

of

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

is

mapped

onto

exactly

one

of

-LRB-

d

D

-RRB-

N

-LRB-

d

D

-RRB-

and

vice

versa

Each

of

d

pairs

of

faD

aD

j

a

Zdg

of

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

is

mapped

onto

exactly

one

of

N

-LRB-

d

D

-RRB-

and

vice

versa

ut

The

following

theorem

shows

that

the

mapping

defined

above

is

the

most

straightforward

one

since

it

preserves

even

the

lexicographic

order

of

necklaces

We

assume

that

the

lexicographic

ordering

fulfills

the

following

condition

i

xi

xi

xixi

Theorem

Let

Y

Y

-LSB-

-RSB-

Y

-LSB-

-RSB-

be

the

list

of

necklaces

of

K

-LRB-

d

D

-RRB-

in

lexicographically

decreasing

order

-LRB-

as

generated

by

Algorithm

GKN

-LRB-

d

D

-RRB-

-RRB-

Let

XD

X

-LSB-

-RSB-

D

X

-LSB-

-RSB-

D

and

XD

X

-LSB-

-RSB-

D

X

-LSB-

-RSB-

D

be

the

lists

of

necklaces

of

B

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

respectively

in

lexicographically

decreasing

order

Then

Y

DBK

-LRB-

merge

-LRB-

XD

XD

-RRB-

-RRB-

where

merge

-LRB-

XD

XD

-RRB-

is

a

standard

merge

operation

of

the

ordered

lists

XD

and

XD

using

the

lexicographic

ordering

and

DBK

is

applied

component-wise

to

the

final

list

Proof

Let

X

X

-LSB-

-RSB-

X

-LSB-

-RSB-

denote

the

list

of

necklaces

merge

-LRB-

XD

XD

-RRB-

We

have

to

prove

that

i

DBK

-LRB-

X

-LSB-

i

-RSB-

-RRB-

DBK

-LRB-

X

-LSB-

i

-RSB-

-RRB-

Let

use

notation

x

X

-LSB-

i

-RSB-

X

-LSB-

i

-RSB-

y

DBK

-LRB-

X

-LSB-

i

-RSB-

-RRB-

and

DBK

-LRB-

X

-LSB-

i

-RSB-

-RRB-

Four

mutually

disjoint

cases

have

to

be

considered

x

aD

and

aD

Then

y

a

a

a

a

a

a

a

a

x

xD

aD

and

xD

Note

that

xD

since

x

is

a

de

Bruijn

necklace

Then

y

yD

where

and

yD

where

yD

Hence

yD

and

y.

x

xixi

xD

and

where

i

D

and

xi

Since

x

and

are

necklaces

we

have

xD

and

therefore

y

yiyi

yD

and

where

Since

xi

we

have

by

Definition

yi

hence

y

x

xixi

xD

and

where

i

D

and

xi

The

same

proof

as

in

the

preceding

case

ut

Despite

this

promising

structural

similarity

between

K

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

the

embedding

induced

by

DBK

has

dilation

D

The

problem

of

finding

an

embedding

of

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

;D

-RRB-

into

K

-LRB-

d

D

-RRB-

with

constant

dilation

and

preserving

the

necklace

structure

remains

open

Theorem

Embedding

of

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

into

K

-LRB-

d

D

-RRB-

based

on

DBK

has

load

expansion

and

dilation

D.

Proof

Consider

any

two

vertices

x

and

ex

such

that

is

a

Kautz

substring

of

length

D

and

xD

Let

DBK

-LRB-

x

-RRB-

-LRB-

-RRB-

and

DBK

-LRB-

ex

-RRB-

Even

if

and

the

distance

between

and

in

K

-LRB-

d

D

-RRB-

is

D

hence

the

arc

hx

exi

of

B

-LRB-

d

D

-RRB-

has

dilation

D

in

K

-LRB-

d

D

-RRB-

ut

See

Figure

for

embedding

B

-LRB-

-RRB-

-LSB-

B

-LRB-

-RRB-

into

K

-LRB-

-RRB-

Conclusion

and

Further

Work

Structure

of

Kautz

digraphs

based

on

decomposition

of

the

vertices

into

necklaces

has

been

analyzed

A

linear-time

and

constant-space

algorithm

for

generating

Kautz

necklaces

in

lexicographic

order

has

been

developed

and

the

formula

for

enumerating

the

Kautz

necklaces

has

been

given

See

-LSB-

-RSB-

for

an

application

of

these

results

in

designing

incrementally

scalable

digraphs

based

on

Kautz

digraphs

We

found

a

natural

mapping

between

vertices

of

K

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

D

-RRB-

-RRB-

preserving

the

partition

of

vertices

into

necklaces

We

have

also

studied

the

structural

similarities

between

de

Bruijn

and

Kautz

digraphs

based

on

this

mapping

The

question

of

constantdilation

embedding

B

-LRB-

d

D

-RRB-

-LSB-

B

-LRB-

d

;D

-RRB-

-RRB-

into

K

-LRB-

d

D

-RRB-

has

been

left

as

an

open

problem

since

using

these

results

we

were

able

to

find

only

embedding

with

dilation

D

diameter

of

the

host

digraph

Although

these

results

suggest

a

natural

correspondence

between

the

structure

of

Kautz

digraph

K

-LRB-

d

D

-RRB-

and

a

pair

of

de

Bruijn

digraphs

B

-LRB-

d

D

-RRB-

and

B

-LRB-

d

D

-RRB-

further

work

is

needed

to

find

ways

of

exploiting

this

structural

similarity

For

example

one

of

results

of

-LSB-

-RSB-

is

that

B

-LRB-

d

D

-RRB-

remains

strongly

connected

even

if

we

remove

a

set

of

necklaces

of

total

size

less

than

D

-LRB-

d

-RRB-

from

it

We

conjecture

that

a

similar

result

can

be

given

for

K

-LRB-

d

D

-RRB-

The

results

presented

in

this

report

apply

mainly

to

digraphs

Kautz

graphs

are

made

from

digraphs

by

omitting

the

orientations

of

the

arcs

and

removing

all

parallel

edges

By

that

all

d

of

K

-LRB-

d

D

-RRB-

become

simple

edges

The

results

for

digraphs

apply

however

for

Kautz

multigraphs

where

pairs

of

parallel

edges

correspond

to

Moreover

the

Figure

Embedding

B

-LRB-

-RRB-

-LSB-

B

-LRB-

-RRB-

into

K

-LRB-

-RRB-

dilation

of

embedding

of

de

Bruijn

graph

into

Kautz

graph

is

lower

than

for

digraphs

For

example

if

and

in

the

proof

of

Theorem

then

the

arc

hx

exi

has

dilation

in

Kautz

graph

instead

of

D

in

the

digraph

But

even

for

graphs

there

are

always

edges

in

de

Bruijn

graph

having

dilation

D

in

this

embedding

Clearly

further

study

of

the

embedding

is

needed

References

-LSB-

-RSB-

F.

Annexstein

M.

Baumslag

and

A.

L.

Rosenberg

Group

action

graphs

and

parallel

architectures

SIAM

Journal

on

Computing

-LRB-

-RRB-

-LCB-

June

-LSB-

-RSB-

M.

Baumslag

An

algebraic

analysis

of

the

connectivity

of

de

Bruijn

and

shuffle-exchange

digraphs

Research

report

RR

LRI

Universite

de

Paris-Sud

Orsay

France

Jan.

-LSB-

-RSB-

M.

Baumslag

M.-C

Heydemann

J.

Opatrny

and

D.

Sotteau

Embeddings

of

shuffle-like

graphs

in

hypercubes

Research

report

RR

LRI

Universite

de

Paris-Sud

Orsay

France

Jan.

-LSB-

-RSB-

J.-C

Bermond

and

C.

Peyrat

De

Bruin

and

Kautz

networks

A

competitor

for

the

hypercube

In

F.

Andr?e

and

J.

P.

Verjus

editors

Hypercube

and

Distributed

Computers

pages

-LCB-

Rennes

France

Elsevier

Science

Publishers

B.

V.

-LRB-

North-Holland

-RRB-

-LSB-

-RSB-

R.

Feldmann

and

W.

Unger

The

cube-connected

cycles

network

is

a

subgraph

of

the

butterfly

network

Parallel

Processing

Letters

-LRB-

-RRB-

-LCB-

-LSB-

-RSB-

M.

A.

Fiol

J.

L.

A.

Yebra

and

I.

Alegre

Line

digraph

iterations

and

the

-LRB-

d

k

-RRB-

digraph

problem

IEEE

Transactions

on

Computers

-LRB-

-RRB-

-LCB-

May

-LSB-

-RSB-

P.

Fraigniaud

and

E.

Lazard

Methods

and

problems

of

communication

in

usual

networks

Research

report

RR

LIP

ENSL

Lyon

France

-LSB-

-RSB-

H.

Fredericksen

and

J.

Maiorana

Necklaces

of

beads

in

k

colors

and

k-ary

de

Bruijn

sequences

Discrete

Mathematics

-LCB-

-LSB-

-RSB-

M.

C.

Heydemann

J.

Opatrny

and

D.

Sotteau

Embeddings

of

hypercubes

and

grids

into

de

Bruijn

graphs

Research

report

RR

LRI

Universite

de

Paris-Sud

Orsay

France

Dec.

-LSB-

-RSB-

M.

Imase

and

M.

Itoh

Design

to

minimize

diameter

on

building-block

network

IEEE

Transactions

on

Computers

-LRB-

-RRB-

-LCB-

June

-LSB-

-RSB-

M.

Imase

and

M.

Itoh

A

design

for

directed

graphs

with

minimum

diameter

IEEE

Transactions

on

Computers

-LRB-

-RRB-

-LCB-

Aug.

-LSB-

-RSB-

F.

T.

Leighton

Introduction

to

Parallel

Algorithms

and

Architectures

Arrays

Trees

Hypercubes

Morgan

Kaufmann

Publishers

San

Mateo

California

USA

-LSB-

-RSB-

J.

Riordan

An

Introduction

to

Combinatorial

Analysis

Princenton

University

Press

Princenton

New

Jersey

USA

-LSB-

-RSB-

M.

R.

Samathan

and

D.

K.

Pradhan

The

de

Bruijn

multiprocessor

network

A

versatile

parallel

processing

and

sorting

network

for

VLSI

IEEE

Transactions

on

Computers

C

-LRB-

-RRB-

-LCB-

Apr.

-LSB-

-RSB-

E.

J.

Schwabe

Embedding

meshes

of

trees

into

de

Bruijn

graphs

Information

Processing

Letters

-LCB-

Oct.

-LSB-

-RSB-

P.

Tvrd

k.

Partial

Kautz

line

digraphs

with

maximal

connectivity

Research

Report

LIP

ENSL

Lyon

France

Apr.

-LSB-

-RSB-

X.

Zhong

V.

Lo

and

S.

Rajodadhye

Optimal

implementation

of

parallel

Divide-andConquer

algorithms

on

de

Bruijn

networks

In

H.

J.

Siegel

editor

Proc

of

the

Symposium

on

the

Frontiers

of

Massively

Parallel

Computation

pages

-LCB-

IEEE

CS

Press

cycles
de bruijn digraphs
embedding
enumerating
interconnection networks
kautz digraphs
necklaces


LIPLaboratoire de l'Informatique du Parall?lisme Ecole Normale Sup?rieure de Lyon Unit ? de recherche associ?e au CNRS n ? 1398 On NC-real complexity classes for additive circuits and their relations with NC Michel Cosnard & Mart ?? n Matamala Octobre 1993 Research Report No 93-35 Ecole Normale Sup?rieure de Lyon 46 , All?e d'Italie , 69364 Lyon Cedex 07 , France , T?l?phone : + 33 72 72 80 00 ; T?l?copieur : + 33 72 72 80 80 ; Adresses ? lectroniques : lip@frensl61.bitnet; lip@lip.ens-lyon.fr -LRB- uucp -RRB- . On NC-real complexity classes for additive circuits and their relations with NC Michel Cosnard & Mart ?? n Matamala Octobre 1993 Abstract Based on the results of Blum , Shub and Smale -LSB- 1 -RSB- , Meer -LSB- 5 -RSB- , Cucker and Matamala -LSB- 3 -RSB- and Koiran -LSB- 7 -RSB- , we develop the study of real computation models restricted to additive operations . More specifically we introduce some complexity classes defined by algebraic circuits and we study their relationships with the real computation model . We show that the languages accepted by nonuniform additive circuits of polynomial size and polylogarithmic depth are those accepted by uniform additive circuits of polynomial size and polylogarithmic depth with advice . Moreover , we prove that binary languages accepted by real uniform circuits of polynomial size and polylogarithmic depth , when the test nodes in the circuit are equality test , are the languages belonging to NC ; when the test nodes are inequality test , the class obtained is NC/Poly . We also prove that the class defined by family of algebraic circuits with polynomial size and polylogarithmic depth is strictly contained in the class defined by real additive Turing machines working in polynomial time . R?esum?e ? A partir des r?esultats de Blum , Shub et Smale -LSB- 1 -RSB- , Meer -LSB- 5 -RSB- , Cucker et Matamala -LSB- 3 -RSB- et Koiran -LSB- 7 -RSB- , nous pr?esentons une ? etude des mod?eles de calculs r?eels restreints aux op?erateurs additifs . Nous d?efinissons des classes de complexit?e ? a l'aide des circuits alg?ebriques et nous ? etudions leurs relations avec le mod?ele r?eel . Nous montrons que les langages accept?es par des circuits additifs non uniformes de taille polynomiale et de profondeur polylogarithmique sont les m ^ emes que ceux accept?es par des circuits additifs uniformes avec conseil de taille polynomiale et de profondeur polylogarithmique . De plus , nous d?emontrons que la classe des langages binaires accept?es par des circuits r?eels uniformes de taille polynomiale et de profondeur polylogarithmique est la classe NC si les noeuds de test sont des tests d' ? egalit?e et la classe NC/Poly si les tests d'in ? egalit?e sont autoris?es . Nous montrons enfin que la classe d?efinie par les familles de circuits alg?ebriques de taille polynomiale et de profondeur polylogarithmique est strictement incluse dans la classe des langages accept?es par une machine de Turing additive re?elle en temps polynomial . Mots-cl ? es : Complexit?e des calculs parall?eles , mod?eles de calculs r?eels , circuits alg?ebriques . On NC-real complexity classes for additive circuits and their relations with NC ? Michel Cosnard & Mart ?? n Matamala Laboratoire de l'Informatique du Parall?elisme Ecole Normale Sup?erieure de Lyon 46 , All?ee d'Italie , 69364 Lyon Cedex 07 , France . October 27 , 1993 Abstract Based on the results of Blum , Shub and Smale -LSB- 1 -RSB- , Meer -LSB- 5 -RSB- , Cucker and Matamala -LSB- 3 -RSB- and Koiran -LSB- 7 -RSB- , we develop the study of real computation models restricted to additive operations . More specifically we introduce some complexity classes defined by algebraic circuits and we study their relationships with the real computation model . We show that the languages accepted by nonuniform additive circuits of polynomial size and polylogarithmic depth are those accepted by uniform additive circuits of polynomial size and polylogarithmic depth with advice . Moreover , we prove that binary languages accepted by real uniform circuits of polynomial size and polylogarithmic depth , when the test nodes in the circuit are equality test , are the languages belonging to NC ; when the test nodes are inequality test , the class obtained is NC/Poly . We also prove that the class defined by family of algebraic circuits with polynomial size and polylogarithmic depth is ? Supported by the Programme de Recherche Coordonn?ee C3 and by Grant Marie Curie ERBCISTGT 920031 yAdress : Laboratoire de l'Informatique du Parall?elisme Ecole Normale Sup?erieure de Lyon 46 , All?ee d'Italie , 69364 Lyon Cedex 07 , France . From December 93 : Mart ?? n Matamala , Departamento de Ingenier ?? a Matem?atica , U. de Chile , Casilla 170-correo 3 Santiago , Chile strictly contained in the class defined by real additive Turing machines working in polynomial time . 1 Introduction The real computation model was introduced in -LSB- 1 -RSB- where the existence of universal machines and complete problems when the machine can guess a sequence of real numbers was proved . Later , many authors have studied restrictions to this model -LSB- 4 , 5 , 3 -RSB- . In -LSB- 5 -RSB- , Klaus Meer proved that when only linear operations are considered then the class NP and P can be separated . Moreover , Cucker and Matamala -LSB- 3 -RSB- have studied this model when the machine can guess a sequence of binary numbers and proved that the alternation of binary quantifiers is strictly less powerful than the alternation of real quantifiers . The existence of complete problems for this kind of nondeterminism is also proved when the operations in the machine are only the additions and subtractions . The models are called additive machines and the classes NPadd and Padd are defined in the usual way . Here , we introduce the class NCadd of the languages recognized by an uniform family of additive circuits of polylogarithmic depth and polynomial size . Our principal results are that the classes NCadd are strictly contained in the classes Padd . In section 2 we introduce the definitions and prove one result on circuit complexity . Later , in section 3 , we study circuits working on binary input . When the circuits have test gates x = 0 ? the complexity class obtained is NC , when the test circuits are x > = 0 ? the complexity class is NC = Poly . In section 4 we prove the strict inclusions of NCadd into Padd . 2 Definitions We recall from -LSB- 1 , 3 , 7 -RSB- that an additive real Turing machine consists of an input space I = IR1 -LRB- which is defined by IR1 = ? IRn -RRB- , an output space O = IRk , -LRB- k < = 1 -RRB- and a state space S = IN ? IN ? IR1 , together with a connected directed graph whose nodes labeled 1 : : : N correspond to the set of different instructions of the machine and are of one of the five following types : input , output , computation , test and move nodes . There is also a set of real constant a1 = 1 ; a2 ; : : : ; ar which can be used by a computation node . We describe nodes behavior in more details . Input nodes . There is only one input node labeled 1 . Associated with this node there is a next node -LRB- 1 -RRB- , and the input map gI : I ! S. Output nodes . There is only one output node labeled 2 . It has no next nodes . Once it is reached , the computation halts , and the output map gO : S ! O places the result of the computation in the output space . Computation nodes . Associated with a node m of this type there is a next node -LRB- m -RRB- and a map gm : S ! S . The gm is of the form gm -LRB- i ; j ; z -RRB- = -LRB- i0 -LRB- i ; j -RRB- ; j0 -LRB- i ; j -RRB- ; z0 -LRB- z -RRB- -RRB- , with i0 -LRB- i ; j -RRB- = i + 1 or 1 , j0 -LRB- i ; j -RRB- = j + 1 or 1 , and z0 is an additive combination on a finite number of coordinates and a certain number of constants , and the identity on the others . Test nodes . There are two nodes associated with a node m of this type : 1 -LRB- m -RRB- and 2 -LRB- m -RRB- . Depending on the kind of test nodes we define two different models : equality model and inequality model . In the former the next node is 1 -LRB- m -RRB- if z1 < > and 2 -LRB- m -RRB- otherwise . In the latter , the next node is 1 -LRB- m -RRB- if z1 > = and 2 -LRB- m -RRB- otherwise . When no restriction is made in the node numbers the equality model is a particular case of inequality model . Move nodes or fifth nodes . Nodes m of this type have a unique next node -LRB- m -RRB- . If the current element of S is -LRB- i ; j ; z1 ; : : :-RRB- it operates replacing zj by zi in the j-th place of the vector IR1 in S . We shall take as input map gI the one placing the input in the coordinates zs with s odd -LRB- thus we reserve the even coordinates to leave work space -RRB- , and its size in z2 . All the other real coordinates of S are initially set to 0 . Also , the input map sets the initial values of i and j in S to be 1 . When O = IR1 we will take gO as the identity map on the real coordinates of S . In the case O = IRk with finite k we shall take gO as the identity restricted to the first k real coordinates of S. For more details about the model the reader should consult -LSB- 1 -RSB- . We give an elementary result showing the computation capabilities of an additive machine . For an element x 2 IR1 , we define jxj as the largest coordinate which is non-null and we call jxj the size of x . We denote x 2 IR1 of size n by x = x1 ; : : : ; xn where xn is the largest coordinate non-zero . On inputs of size n we call s -LRB- n -RRB- the largest non-zero coordinate and t -LRB- n -RRB- the maximum running time of the machine . We say that a machine works in polynomial time if t -LRB- n -RRB- is a polynomial . The class Padd is the set of all subsets in R1 that can be accepted by an additive machine working in polynomial time . We say that it works in logarithmic space if s -LRB- n -RRB- is O -LRB- log -LRB- n -RRB- -RRB- . Lemma 1 Let M be an additive machine with constants a1 = 1 ; a2 ; : : : ; ar and let zkt be the value of the coordinate k at time t of the state vector when M works on the input x = x1 ; : : : ; xn . Then zkt can be decomposed in : zkt = rX j = 1 ktjaj + nX j = 1 ktjxj where ktj ; ktj are bounded by 2t . Proof This result was proved in -LSB- 4 -RSB- and later in -LSB- 3 -RSB- . The proof proceeds by induction on t . This lemma says that only additive combinations of the constants and inputs can be obtained as outputs . In spite of the last result an additive machine with inequality test has an infinite memory capacity . In fact , the next result proves that an additive machine may interpret any binary codification . Lemma 2 Let be given by = 1 X j = 1 2 ? j j where j belong to f0 ; 1g . Then there exists M an additive machine with inequality tests having 1 as constant so that when ff : : : ff = n is taken as input , 1 ; : : : ; n is obtained as output in time O -LRB- n -RRB- and space O -LRB- 1 -RRB- . Proof We make the following steps for an additive machine with tests x > = 0 ? . 1 2 For i = 1 to n 3 2 4 if > = 1 then print 1 , ? 1 5 else print 5 Clearly at step t , begins by t and it corresponds to the suitable branching in line 4 . Observe that we may encode the discrete structure of any machine as a real number -LRB- i.e. , the description of the graph giving the instructions -RRB- and then a real vector may describe completely a machine . So , the machine given in lemma 2 is an universal decoder . Now , we define the complexity class for additive circuits which are defined as follows . An additive circuit C is an acyclic graph whose nodes are labeled by operations . These operations are of five types : input operations , constant operations , arithmetic operations , test operations and output operations . The description of a node operation is as follows : Input nodes receive from the exterior an initial real value . They have only an output edge and no input edges . Constant nodes are defined by a real constant -LRB- which is fixed during the computation -RRB- . They have only an output edge and not input edges . We suppose that all the circuits have at least one constant node with value 1 . Arithmetic nodes can be addition or subtraction . They receive two inputs from nodes i1 and i2 and give as output x ? y where x -LRB- resp . y -RRB- is the value of the i1 -LRB- resp . i2 -RRB- th node with ? = + -LRB- resp . ? = ? -RRB- if the node is an addition -LRB- resp . subtraction -RRB- node . Test nodes receive a real input x and make the test x > = 0 ? -LRB- or the test x = 0 ? -RRB- giving 1 in the affirmative case and otherwise . Like in additive machines we make the difference between equality circuits -LRB- those with x = 0 ? test -RRB- and inequality circuits -LRB- those with x > = 0 ? tests -RRB- . Output node is the answer of the circuit . It has no output edges and one input edge . The value of the node connected to it is taken as value for this node . We suppose that the previous node is always a test node . The depth of a node is the maximum depth of its inputs , plus one . We consider that input nodes and constant nodes have depth 0 . The depth of the output node is called the circuit depth . The size of the circuit is the total number of nodes . The circuit works over an input u = u1 : : : un by setting the input nodes at values ui and by computing the value at depth t using the values computed at depth t ? 1 in a recursive fashion . We say that C accepts u if the output node takes the value 1 . We describe this fact by writing C -LRB- a ; u -RRB- = 1 which should be read as `` the circuit C with a constant vector a on input u answers 1 '' . A description of a circuit is given by : OE -LRB- C -RRB- = -LRB- g1 #t1 #g11 #g12 -RRB- # : : : # -LRB- gL #tL #gL1 #gL2 -RRB- where gi is a node number , ti is its type -LRB- 0 ! Input node , 1 ! Constant node , 2 ! Arithmetic node , 3 ! Test node , 4 ! Output node -RRB- , gi1 ; gi2 give the associated nodes when ti = 2 . gi1 gives the input node when ti = 3 or 4 and it is equal to ? 1 when ti < = 1 . The marks # , -LRB- and -RRB- are actually real numbers , say ? 1 , ? 2 and ? 3 . From the language theory it is known that we can code in f0 ; 1g all other words from a finite alphabet . So , if C has s gates , its pseudo-binary description is the word in f0 ; 1g ? Sfa1 = 1 ; : : : ; amg of size bounded by O -LRB- slog -LRB- s -RRB- -RRB- corresponding to the binary description of all the discrete components of OE -LRB- C -RRB- and the description of real constant ai by itself . The central property for additive circuits is given in the following lemma which is the circuit version of lemma 1 . Lemma 3 Let zit be the value of the ith gate at depth t of a circuit working on input x = x1 ; : : : ; xn . Then , zit is given in term of the circuit constants 1 ; a2 ; : : : am and of the input x1 ; : : : ; xn by zit = X itj aj + X itj xj where itj ; itj are integers satisfying j itj j ; j itjj < = 2t . Proof We proceed by induction . In depth the property holds by taking i0i = 1 -LRB- i0i = 1 -RRB- and i0j = i0j = ; j > = ; j < > i when the gate is an input one -LRB- constant one -RRB- . Suppose that this is true for t0 < t . We prove for t . If the operation is an addition or subtraction it is clear that the coefficients it +1 j are bounded by twice the maximum value between itj1 and itj2 , where j1 and j2 are the input to node i . In the case of test gates we give to i01 the test answer and so the result holds . A family of circuits C = -LRB- cn -RRB- is said of polynomial size and polylogarithmic depth -LRB- PS-LD -RRB- if the circuit cn has n input nodes and there exist two polynomials p and q such that p -LRB- n -RRB- is the size of the nth circuit and q -LRB- log -LRB- n -RRB- -RRB- its depth . The description of a family of circuits C is obtained as a word being the concatenation of the description of the circuits cn . So , in the description of C , the description of cn is written from the m-th position , where m is bounded by m < = nX s = 1 p -LRB- s -RRB- -LRB- log -LRB- p -LRB- s -RRB- -RRB- -RRB- < = g -LRB- n -RRB- where the degree of g is bounded by degree -LRB- P -RRB- + 2 . For a family C we define the language accepted by C as L -LRB- C -RRB- = -LSB- n > = 1 L -LRB- Cn -RRB- L -LRB- Cn -RRB- = fx 2 IRn = cn -LRB- a ; x -RRB- = 1g In order to get a uniform model of parallel computation we should endow families of circuits with some uniformity condition . As remark by Cucker in -LSB- 2 -RSB- , the most usually used in the Boolean case to define the class NC -LRB- the generation of the circuits by a machine working in logarithmic space -RRB- is meaningless in the real model of computation , since Michaux -LSB- 6 -RSB- showed that any recursive subset of IR1 can be decided by a real Turing machine within linear space . We say that the family C is uniformly generated if there exists an additive machine M working in polynomial time giving the description of the nth circuit when we put as input the sequence 1 : : :1 = 1n . We shall assume that the same type of tests is used in the circuits and in the additive machine deciding the uniformity condition . This hypothesis can be discussed which leads to interesting problems not considered in this paper . We define NC = add as the language class obtained by the union of all the languages accepted by an uniform circuit family PS-LD performing only equality tests . The class NC < add is like NC = add except that the test are x > = 0 ? . We define also NNC = add and NNC < add -LRB- non uniform NCopadd with op 2 f = ; < g -RRB- as the union of all the languages accepted by a circuit family PS-LD having tests x = 0 ? and x > = 0 ? respectively . In order to characterize the class NNC < add in term of NC < add we introduce a new class of complexity . We call f : IN ! IR1 an advice function . We say that L 2 NCopadd =P oly if there exists an uniform circuit family PS-LD C = -LRB- cn -RRB- and an advice function f , such that jf -LRB- n -RRB- j is the number of constants in cn and such that L is recognized by the circuit family C whose nth circuit is obtained from cn by changing its constants by the jf -LRB- n -RRB- j first constants given by f -LRB- n -RRB- . Proposition 1 NNC < add = NC < add =P oly Proof In order to show the direct inclusion , we prove that any circuit family with constants equal to 1 is uniform . Let C = -LRB- cn -RRB- n > = 0 a non-uniform family and let OEn be the binary description of c0n , the circuit obtained from cn by setting all its constants to 1 . Let OE be the concatenation of all the OEn separated by a special symbol ? coded in the binary alphabet . Then OE is a word which can be coded into a real number . Using a modification of the machine given in lemma 2 we obtain a machine having as constant and giving the description of the circuit c0n in polynomial time and logarithmic space . Thus , the family C is uniform . Now , we define the advice function f such that f -LRB- n -RRB- gives the constants of the circuit cn . So , the family C with advice f is the family C and the result holds . The reverse inclusion is derived from the fact that the circuits with a polynomial advice are nonuniform circuits having the advice as constants . 3 Restriction to binary inputs We shall prove that NC = add Tf0 ; 1g ? = NC and NC < add Tf0 ; 1g ? = NC =P oly , where NC is the language class accepted by boolean uniform circuit families of polynomial size and polylogarithmic depth and NC =P oly is obtained from NC by adding an advice function f : IN ! f0 ; 1g ? and defining the acceptance like for NC < add =P oly . Analogous results for the classes P = add and NP = add were proved by Koiran in -LSB- 7 -RSB- . Theorem 1 NC = add Tf0 ; 1g ? = NC Proof The direct inclusion is analogous to those given in -LSB- 7 -RSB- . We give a sketch of the proof . Let C be an uniform circuit family and let M be the additive machine giving the uniformity of C. Let a01 = 1 ; a02 ; : : : ; a0m be its constants and a1 = 1 ; a2 ; : : : ; ar a base of the rational space generated by 1 ; a01 ; : : : ; a0m . Let bij be the rational coefficients such that a0i = rX j = 1 bijaj From lemma 1 we know that all the constants of the circuits cn , dn1 = 1 ; dn2 ; : : : ; dnsn can be written as dnk = mX i = 1 > = nkia0i = rX j = 1 -LRB- mX i = 1 > = nkibij -RRB- aj dnk = rX j = 1 nkj aj where nkj < = 2O -LRB- p -LRB- n -RRB- -RRB- . So , the binary description of nkj is a word of size O -LRB- p -LRB- n -RRB- -RRB- . Now , from lemma 3 we know that zns , the value of the s-th gate in circuit cn , can be written by zns = snX k = 1 nsk dnk Let c0n be the circuit with constants nkj -LRB- in a binary representation -RRB- in which each addition or subtraction gate in cn with input s and s0 is replaced by a subcircuit making the addition or subtraction between the binary representation of nsk and ns0 k . A test x = 0 ? is replaced by a subcircuit computing usj = snX k = 1 nsk nkj for j = 1 ; : : : ; r and asking if usj = for all j = 1 ; : : : ; r . In this case the circuit answers and it answers 1 otherwise . Since the subcircuit can be chosen of polylogarithmic depth and polynomial size , we can obtain a Turing machine with constants bij giving the description of c0n -LRB- including the constants nkj -RRB- working in polynomial time and logarithmic space . The reverse inclusion is direct because all boolean operations can be executed with the addition and equality tests . Observe that this proof is not true for inequality test because we can not test x > = 0 ? by looking only to the coefficients usj . Now , we consider the case of inequality tests . Theorem 2 NC < add Tf0 ; 1g ? = NC =P oly Proof Let C = -LRB- cn -RRB- in NC < add Tf0 ; 1g ? From lemma 3 an input is accepted by C when the constants a1 ; : : : ; am satisfy a system of large or strict inequalities -LRB- those given by the inequality tests over the variables zik -RRB- . We want to change these real constants by rational ones which depend only on n. So , we write a large system describing the evolution of the circuit cn on all the inputs x 2 f0 ; 1gn . Since the possible inequalities are finite from theorem 5 in -LSB- 7 -RSB- we know that if this system has a solution then it admits a rational solution of size polynomial in the integer coefficients and , giving the description of zik in term of the circuit constants , and in the number of constants . So , the advices for the circuit cn are the rational solutions of this system . We prove the reverse inclusion . This proof is rather different from the last theorem . Let L 2 NC =P oly then there exists an advice function f : IN ! f0 ; 1g ? and an uniform family C = -LRB- cn -RRB- such that the circuit cn obtained by replacing its constants by those of f -LRB- n -RRB- accepts LT IRn . Let M be the binary Turing machine giving the description of cn with 1n as input . We build an additive Turing machine M having as constant a which is the description of the advice f given by : a = X 2 ? j > = j where the word > = = OE -LRB- f -LRB- 1 -RRB- -RRB- 00OE -LRB- f -LRB- 2 -RRB- -RRB- 00 : : :00 OE -LRB- f -LRB- n -RRB- -RRB- 00 : : : and OE is defined by OE -LRB- 0 -RRB- = 01 and OE -LRB- 1 -RRB- = 11 and its extension to f0 ; 1g ? is made in the habitual form . So , making the additions and tests of the form x > = 0 ? , M computes the advice associated to the n-th circuit -LRB- like the machine given in lemma 2 -RRB- . Coupling the machine M and M we obtain a machine M 00 which gives the description of the n-th circuit of C in polynomial time using logarithmic space -LRB- those used by M -RRB- and then L 2 NC < add . 4 NCadd ? = Padd We prove that there exists a language of P = add which does not belong to NC < add . We call EXP the subset of IR1 defined as follows EXP = f -LRB- x1 ; x2 ; : : : ; xn ; ; : : :-RRB- 2 IR1 = 8i 2 f3 ; : : : ng xi = 1 ^ 2nx1 = x2g Lemma 4 EXP 2 Padd Proof Let M be the additive machine working as follows : 1 -RRB- It reads x1 and x2 , and then increment the variable m , which initially has the value 2 until xn is not equal to 1 . If xn is non zero , then M rejects the input and in other case it continues to step 2 . 2 -RRB- It computes the addition of variable x1 with itself in y1 , m times . So , y1 at the end of this process , contains the value 2nx1 . 3 -RRB- It makes the test y1 ? x2 = 0 ? . M accepts x if the answer is 1 and it rejects otherwise . Clearly this process takes time n + n + 1 . Observe that the test y1 ? x2 = can be made by a machine that makes test of the form x = 0 ? or by a machine that makes test of the form x > = 0 ? . We have called P = add the first model and P < add the second one when it works in polynomial time -LSB- 3 -RSB- . It is clear that P = add ae P < add and lemma 4 says that EXP belongs to P = add . Theorem 3 NC = add ? = P = add and NC < add ? = P < add Proof We prove that EXP = 2 NC < add . Suppose that there exists a uniform family of additive polylogarithmic circuits recognizing EXP . From lemma 3 we can write the value of any gates p at depth k , zp ; k in term of the input variables , x1 ; : : : ; xn and the constants a1 = 1 ; a2 ; : : : ; am , as follows zpk = nX i = 1 > = pkixi + mX i = 1 pkiai where pki ; pki are integer bounded by 2O -LRB- logR -LRB- n -RRB- -RRB- for some R which is a family parameter . We shall prove that the input Xn = -LRB- 2nx ; x ; 1n ? 2 ; ; : : :-RRB- and Y n = -LRB- 3nx ; x ; 1n ? 2 ; ; : : :-RRB- for x > can not be differentiated by the circuit cn for n greater enough . It is clear that if two inputs X and Y agree in the circuit tests then X is accepted by cn iff Y is so . We prove that Xn and Y n agree in the circuit tests . Suppose that at depth p the gate l has the value xpl -LRB- resp . ypl -RRB- when the input is Xn -LRB- resp . Yn -RRB- . By induction we see that xpl and ypl are given by : xpl = X > = pljXnj + X plibi = > = pl12nx + > = pl2x + X j > 3 > = plj + X plibi and ypl = X > = plj Y nj + X plibi = > = pl13nx + > = pl2x + X j > 3 > = plj + X plibi respectively . Then , if a gate in depth p + 1 is an addition or subtraction one , it is clear that this description is true in depth p + 1 . Remark that only the sign of > = pl1 is important . Indeed , if it is zero then the value for xpl and ypl agree . So , the test gives the same answer . If it is non zero then for n large enough the term > = pl1anx gives the sign of the test for a = 2 ; 3 , and so the answer test is the same for xpl and ypl -LRB- if the tests are of the form x = all the values xpl and ykl for n big enough are whether equal , when > = pl1 = 0 , or non zero -RRB- . Then the outputs in the test gates agree . Since Xn 2 EXP and Y n = 2 EXP we conclude that the language recognized by the family is not EXP . Since the family is an arbitrary one the proof holds . The previous proof can be extended by changing the languages EXP into derived languages . Such an extension has already be done in -LSB- 2 -RSB- . Corollary 1 -LRB- i -RRB- For both test operations the complexity classes defined by parallel time logkn are different for different k. -LRB- ii -RRB- For both test operations the complexity classes defined by parallel time nk are different for different k. Proof -LRB- i -RRB- Consider the languages defined by f -LRB- x1 ; x2 ; : : : ; xn ; ; : : :-RRB- 2 IR1 = 8i 2 f3 ; : : : ng xi = 1 ^ 2logknx1 = x2g and apply the same proof . 5 Concluding remarks In this paper , we have completed the analysis of additive real machines following the work done in -LSB- 4 , 3 -RSB- . Our main contributions are the definition of uniform arithmetic circuits , the study of their relationship with standard models when their inputs are binary words , and the proof that NCadd ? = Padd . The definition of uniformity opens several problems as stated in the paper and should be discussed in particular in view of Michaux ' result -LSB- 6 -RSB- . We did not introduce the additive PRAM model and hence did not study the relations between the two models . This will be the subject of a subsequent paper . References -LSB- 1 -RSB- L. Blum , M. Shub , and S. Smale . On a theory of computation and complexity over the real numbers : Np-completeness , recursive functions and universal machines . Bulletin of the Amer . Math . Soc. , 21 -LRB- 1 -RRB- :1 -LCB- 46 , 1989 . -LSB- 2 -RSB- F. Cucker . PIR ? = NC IR . J. of Complexity , pages 230 -LCB- 238 , 1992 . -LSB- 3 -RSB- F. Cucker and M. Matamala . On weak nondeterminism . preprint , May 1993 . -LSB- 4 -RSB- P. Koiran . Puissance de calcul des r?eseaux de neurones . PhD thesis , ? Ecole Normale Sup . de Lyon , June 1993 . -LSB- 5 -RSB- K. Meer . A note on a P6 = NP result for a restricted class of real machines . J. of Complexity , pages 451 -LCB- 453 , 1992 . -LSB- 6 -RSB- C. Michaux . Une remarque ? a propos des machines sur r introduites par blum , shub et smale . C.R. Acad . Sci . Paris s?erie I , France , 309 , pages 435 -LCB- 437 , 1989 . -LSB- 7 -RSB- P.Koiran . Computing over the reals with addition and order . preprint , July 1993 .

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

parallel computation complexity
real computational models