TCP with adaptive pacing for multihop wireless networks In this paper, we introduce a novel congestion control algorithm for TCP over multihop IEEE 802.11 wireless networks implementing rate-based scheduling of transmissions within the TCP congestion window. We show how a TCP sender can adapt its transmission rate close to the optimum using an estimate of the current 4-hop propagation delay and the coefficient of variation of recently measured round-trip times. The novel TCP variant is denoted as TCP with Adaptive Pacing (TCP-AP). Opposed to previous proposals for improving TCP over multihop IEEE 802.11 networks, TCP-AP retains the end-to-end semantics of TCP and does neither rely on modifications on the routing or the link layer nor requires cross-layer information from intermediate nodes along the path. A comprehensive simulation study using ns-2 shows that TCP-AP achieves up to 84% more goodput than TCP NewReno, provides excellent fairness in almost all scenarios, and is highly responsive to changing traffic conditions. Multihop wireless networks using IEEE 802.11 possess several properties, which are different to the wired Internet for which the widely deployed TCP NewReno implementation has been optimized. Opposed to wired networks, in IEEE 802.11 networks the wireless channel is a scarce resource shared among nodes within their radio range. Furthermore, channel capture, hidden and exposed terminal effects, and the IEEE 802.11 medium access control constitute features of wireless multihop networks not ___________________ * This work was funded in part by the German Research Council (DFG) under Grant Li-645/12-2. present in a wired IP network. In fact, for multihop wireless networks, most losses experienced by TCP are due to packet drops at the link layer and not due to buffer overflow [9] . Furthermore, since the congestion control of TCP NewReno is based on lost data packets, the size of its congestion window is overshooting rather than proactively sense incipient congestion by monitoring the network traffic. Because of all these features, TCP NewReno possesses quite poor performance in multihop wireless networks, as well as exhibits severe unfairness among competing TCP flows.. Improving the performance of reliable data transport in mobile ad hoc networks (MANET) by explicit rate control has been explored in several non-TCP protocols e.g., [5] , [17] . Instead of sending new packets into the network only when old packets have been acknowledged, these approaches send packets at a pre-determined rate. TCP Pacing is a hybrid between a pure rate-based transmission control and TCP's use of the congestion window to trigger new data packets to be sent into the network. Based on the intuition that bursty traffic produces higher queuing delays, more packet losses and lower goodput, smoothing the behavior of TCP traffic by pacing shall result in improved performance and fairness.. Aggarwal, Savage, and Anderson presented a comprehensive evaluation of TCP with pacing for the Internet [2] . They considered an implementation of pacing based on a leaky bucket algorithm with evenly spaced timeouts. As duration of the timeouts they considered the ratio of the averaged measured round trip time and the current window size. Their study showed that contrary to intuition for the Internet, TCP Pacing often exhibits significantly less goodput than regular TCP. In fact, TCP Pacing exhibits worse performance than regular TCP for scenarios with large buffers due to delaying congestion signals of the network. On the other hand, pacing improves TCP fairness and packet drop rates when round trip times are highly variable as typical for multihop wireless networks.. In this paper, we introduce a novel congestion control algorithm for TCP over multihop IEEE 802.11 networks implementing ratebased scheduling of transmissions within the TCP congestion window. Rather than evenly spacing the transmissions of packets within the congestion window as proposed in [2] , in our approach, a TCP sender adaptively sets its transmission rate using an estimate of the current 4-hop propagation delay and the coefficient of variation of recently measured round-trip times. The 4-hop propagation delay describes the time elapsed between transmitting a TCP packet by the TCP source node and receiving the packet at the node which lies 4 hops apart from the source node along the path to the destination. The novel TCP variant is denoted as TCP with Adaptive Pacing (TCP-AP). Opposed to previous proposals for improving TCP over multihop IEEE Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. 802.11 networks, TCP-AP retains the end-to-end semantics of TCP and does neither rely on modifications on the routing or the link layer nor requires cross-layer information from intermediate nodes along the path. A comprehensive simulation study using ns-2 [8] shows that TCP-AP achieves up to 84% more goodput than TCP NewReno, provides excellent fairness in almost all scenarios, and is highly responsive to changing network traffic conditions. In particular, TCP-AP provides fair sharing of the available bandwidth, even when competing flows are not within each other's transmission range, but within each other's interference range, since the proposed algorithm relies on the end-to-end measurement of the interference experienced by a TCP connection.. The remainder of this paper is organized as follows. Section 2 summarizes related work on TCP for multihop wireless networks and Section 3 describes the settings of the simulation environment used throughout this paper. In Section 4, we introduce the novel TCP congestion control algorithm. A comprehensive performance study of TCP-AP versus TCP NewReno with and without dynamically delaying acknowledgements is presented in Section 5. Finally, concluding remarks are given. We proposed a novel congestion control algorithm for TCP over multihop wireless networks denoted as TCP with Adaptive Pacing (TCP-AP). TCP-AP implements rate-based scheduling within TCP's congestion window in order to avoid bursty packet transmissions. The key feature of the proposed algorithm is the quantification of incipient congestion by measuring the fluctuation of round trip time samples using the coefficient of variation. Based on this measure for contention on the network path, as well as the estimation of 4-hop propagation delays, TCP-AP adaptively calculates the appropriate rate for pacing the transmission. Since TCP-AP relies solely on end-to-end measurements of round trip times and requires no modifications on the routing layer or the link layer, TCP-AP is easily deployable.. In a comprehensive simulation study using ns-2 [8] , we showed that TCP-AP achieves up to 84% more goodput than TCP NewReno and provides excellent fairness in almost all scenarios. In particular, TCP-AP provides fair sharing of the available bandwidth, even when competing flows are not within each other's transmission range, but within each other's interference range, since the proposed algorithm relies on the end-to-end measurement of the interference experienced by a TCP connection.. In future work, we are examining the performance of TCP-AP over routing protocols, which use different routing metrics such as energy efficiency or expected transmission count (ETX) [7] . Furthermore, we would like to implement TCP-AP for an IEEE 802.11 testbed in order to evaluate and optimize its performance in real multihop wireless networks. Fu et al. [9] pointed out the hidden terminal problem in wireless multihop networks and experimentally showed that for a chain topology the optimal windows size, for which TCP achieves best throughput, is roughly given by 1/4 of the hop count of the path. Furthermore, they proposed two enhancements on the link layer: adaptive pacing to distribute traffic on the link layer among intermediate nodes in a more balanced way and link layer RED to throttle TCP senders when incipient congestion is detected. Using simulation, they showed that depending on the scenario, these link layer enhancements improve TCP goodput by 5% to 30% due to better spatial reuse. Xu et al. [18] proposed the neighborhood RED (NRED) scheme on routing layer to throttle TCP senders when incipient congestion is detected, by purposely dropping TCP packets on intermediate nodes. Nodes forming a neighborhood manage a virtual distributed queue in order to coordinate the packet drops of individual nodes. Using simulation, the authors showed that NRED could substantially improve fairness in multihop wireless networks.. Our approach differs fundamentally from [9] , [18] . TCP-AP just requires slight modifications on the transport layer and does neither require modifications on the routing layer as [18] and link layer as [9] , nor extra communication between neighboring nodes. As a consequence, TCP-AP can be incrementally deployed. Furthermore, TCP-AP integrally improves both fairness and goodput without provoking packet losses.. Sundaresam et al. [17] and Chen et al. [5] introduced two new special-purpose transport protocols for multihop wireless networks. Both protocols employ pure rate-based transmission of packets, where the transmission rate is determined using feedback from intermediate nodes along the path. In [17] , the authors propose to dynamically adjust the transmission rate according to the maximum packet queuing delay on intermediate nodes along the network path. Chen et al. [5] also proposed an explicit ratebased flow control scheme for multihop wireless network. Using cross-layer information from both the MAC and the routing layer, the sending rate of a flow is conveyed from intermediate nodes along the path in special control headers attached to each data packet.. In contrast to [5] , [17] , TCP-AP retains the end-to-end semantics of TCP without relying on any cross-layer information from intermediate nodes along the path. As a consequence, TCP-AP can be incrementally deployed, since TCP-AP is not only TCPfriendly, but also TCP compatible.. Altman and Jiménez [1] proposed a dynamic scheme for delaying ACKs in order to improve TCP throughput in multihop wireless networks. Using simulation, they showed that for an h-hop chain, delaying ACKs yields around 50% more throughput for TCP NewReno. Building upon their results, we are also considering dynamically delaying ACK, though, not only for TCP NewReno, but also for TCP-AP. Furthermore, we evaluate the dynamic delayed ACK scheme for a comprehensive set of network topologies rather than just for an h-hop chain.. Several authors introduced TCP enhancements for coping with mobility in ad hoc wireless networks over IEEE 802.11. Holland and Vaidya [11] introduced explicit link failure notification (ELFN) as a feedback mechanism from the network in order to help TCP distinguish congestion losses and losses induced by link failures. Yu [20] proposed two cross-layer communication mechanisms that further improve TCP performance in case of packet losses due to mobility. We focus on TCP performance and fairness in static wireless networks instead, though, our results may well be utilized together with their findings in order to adapt TCP-AP for mobile wireless multihop networks.

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


Query

optimization

by

simulated

annealing

Quay

optimlzas

of

future

da&base

manage!ment

task.Exhaustivelysearchmgsuchaccessplanspaces~s

Wvw=aqucryopturuzationW

nthm

based

on

shulured

annedmg,

which

is

a

probab&s&

brJJ

climbmg

algcr&n.

We

show

the

speuk

formulation

of

the

algorithm

for

the

case

of

optunlxmg

complex

non-lecufslve

that

arlse

the

study

of

hear

recursion.

'Ihe

query

answer

IS

expllcltly

repnsented

and

mampulated

w&m

the

closed

semmng

of

lmear

relational

operators.

The

optunlzation

alg*

nthm~sapphedtoastatespacethatIsconstructedkom

the

eqmvalent

algebraz

forms

of

the

query

answm.

A

pmotype

of

the

sum&ted

anneahng

algorithm

has

been

bmlt

and

few

experunents

have

been

performed

for

a

llmlted

class

of

lelahonal

m.Our

in&al

experlalccisthat,mgalclal*thealgorithmconvagestopocessings&ategiesthatareveryclcsetotheoptimal.

Maeova,

the

mdltlonal

m==q

st=wt=

(e.g..

semwudve

evahutton)

have

been

found

to

be,

m

general,

subopcunal.

ThekeytothesuccessofaIMabaseManagemm

System

(DBMS),

especmUy

of

one

based

on

the

rclahmal

model

is

the

effmveness

of

the

ophnlmbmoduleofthesystem.

Thelnputto

EiLd*

is

some

mtanal

reprwentahon

of

an

ad-hoc

query.

Its

purpose

is

to

tbc

most

e&lent

algonthm(accessplan)in&torrccesstherelevantdata

andanswerthequeay..

QuayoptM&lmhasbeenanactlveareaof

fesarch

evcz

smce

the

bcgimmg

of

the

development

of

r&tonal

DBMSs.

Various

query

optunticn

algonthmshavebeendevelopedaspartoftheresearchprojxts

of

lNGRBS

and

System

R

Mack&Sb]

Theorehcal

appmads

to

quay

ogormzatiar

have

also

been

employed,

attempting

to

apply

general

theorems

to

help

the

query

opthhcr

in

its

task

Query

ophmuatim

algdhms

in

a

distnbuted

DBMS

enwonmeat

have

received

considerable

attention

as

well

A

good

sun'ey

on

quay

optunizaharandotherrelatedlssuescanbefoundmthe

sumey

title

by

Jake

and

Koch

[JarkMl

and

the

book

by

Km,

Remer,

and

Batoty

Most

of

the

existmg

work

on

query

opmmzahon

has

focused

on

optimizing

conjunctive

quenes

The

demand

for

such

quaies

m

cunent

database

apphcahens

is

h@er

than

for

Quarts

that

also

Uh'Oh'e

dBJUnChOnS.~tamsOfx&hOIAdalgcbra[Codd701,thethr~

dational

opcmors

that

have

recened

almost

the

exclusive

attentmn

of

researchas

are

proJectton,

selechon.

and

Jam.

To

thei

best

of

our

lolowledge,

the

problem

of

ophmuung

umon,

a

m

rekihordoperator

for

LsJunctrve

queries,

has

not

been

addnzssed

by

any

prenous

study..

The

unit

of

optimoo

m

most

of

the

exaung

DBMSs

IS

a

smgle

query.

Each

quay

mvolves

a

small

number

of

relahons

(e.g.,

less

than

Hence,

even

though

the

number

of

altematwe

access

plans

to

answer

a

query

grows

exponentrally

with

the

number

of

the

felauons

m

the

quay,

dus

number

relattvely

small

So,

most

of

the

exShng

query

opvntzets

perform

an

exhaushve

search

over

the

space

of

alternanve

access

plans,

and

whenever

posstble,

use

heurtshcs

to

reduce

theslxeofthatspace..

Several

aspects

of

the

prctum

presented

above

change

when

one

studies

query

opumtxatton

in

systems

that

are

geartd

towards

some

of

the

newest

database

apphcatton

domams,

such

as

arhficral

mtelhgence

(e.g.,

txptrt

database

systems

fKer&a,

and

deducwe

databast

systems

The

most

important

of

these

changes

are

rdentrfied

below.

l

The

number

of

relahons

expected

to

parnctpate

tn

aquery

mcmases

slgntticantly

The

at

of

opunuxahon

changes

f&an

a

smgle

query

to

a

set

of

quertes

In

other

words,

the

ophmtxer

tries

to

optimii

the

executron

of

stveral

quem

together,

possrbly

takmg

advantageofcommontasksthathavetobeperfWned

bymorethanonequery.

Thrstypeofopttmrxahon

ls

referred

to

as

global

opluwat~on

l

Quenes

may

become

recurswe.

Recurswe

querres

are,

in

general,

equrvalent

to

the

unton

of

an

arbmary

number

of

nonmcursrve

queries.

In

general,

the

number

of

nonrecursrve

quertes

to

whtch

a

recurstve

one

equtvalent

depends

on

thecontentsofthedambase,anditcanbearb~-tranly

large,

mdependent

of

the

sunphcity

of

the

recursive

query.

Eachoftbeabovetbreepomtsleadstothesame

conclusion.

the

space

of

access

plans

that

the

query

opumtxer

has

to

face

in

future

DBMSs

rs

larger

by

several

orders

of

magnitude

than

the

one

currently

faced

in

convenhonal

systems.

The

valnhty

of

thts

observahon

obvious.

We

have

already

menhoned

that

the

number

of

alternatrve

access

plans

for

a

query

an

exponenaal

functton

of

the

number

of

relahons

m

the

query.

Hence,

small

mcmases

m

the

number

of

relauons

m

a

query,

e

g..

by

one

order

of

magmtude,

result

m

Iarge

mcreases

mthesKeoftheaccessplanspace.

When

perfonnmg

global

optunixatron,

the

state

space

mcreases

at

a

rate

higher

than

lmear

m

the

number

of

quenes.

Thts

because

the

opumixer

does

both

mterquery

and

mtraquery

optumxatron,

hying

to

idenhfy

common

subexpresstons

or

other

common

characterrsucs

in

the

parucipatmg

quertes

that

can

speed

up

execuuon

tf

they

are

taken

mto

account.

Finally,

the

number

of

nonrecursive

queues

that

are

eqtuvalent

to

a

recurslve

one

arbitranly

large.

Iltese

nonrecursive

quertes

share

several

common

subexlnesstons,

smce

each

equivalent

to

repeatedly

applymg

the

same

query

several

hmes.

Hence,

the

stze

of

the

E!Nlhng

access

plan

space

can

be

arbitranly

large

as

well..

Tbe

above

discussion

leads

to

the

conclusion

that

exhausave

search

of

the

access

plan

space

no

longer

plausible

for

query

optmuxahon

In

the

past,

a

lumted

number

of

approaches

have

been

employed

to

deal

with

largeaCcesSplanspacea

Forqueneswnhalarge

number

of

Knshnamurthy,

Boral,

and

ZIIUO~O

have

devised

an

optumxatton

algorithm

that

rs

quadmnc

m

the

number

of

pamcipatmg

r&IhOnS

Then

approach

to

look

only

at

a

small,

carefully

selected

put

of

the

complete

access

plan

space

Based

on

some

aSSUmphOnS

about

tht

fOt?'tt

Of

the

cost

fUnCuOn

aswattd

with

each

access

plan,

they

have

&vtsed

an

efficient

atgonthm

that

most

of

tht

time

gtvts

a

soluhon

close

to

ophmal

and

"always

avoids

the

worst

execuhens"

In

global

optuntxation,

httmshc

search

algortthms.

such

as

A

l

are

employed

to

avoid

searching

the

enure

search

space

Stlhs

has

also

proposed

several

less

general

techmques

that

art

apphcable

when

the

set

of

optrmtxed

querres

of

some

speafic

form

[SeW]

To

the

best

of

our

knowledge,

no

query

ophmtion

algmthms

for

recurson

have

existed

tmtd

now..

In

this

paper,

we

present

a

@abthstrc

algornhm

for

query

optuntxaaon

which

IS

suitable

for

large

u

plan

spaces.

The

algorithm

besed

on

the

Smduzed

Anneufu~g

pmcess,

whtch

has

been

used

for

various

other

optunrxatton

problems,

especrally

problems

related

to

global

routmg

and

cell

placement

for

VLSI

chip

destgn

Stmulated

anneahng

IS

a

probabthstrc

hrll

chmbzng

algonthm.

Htll

chmbmg

algonthms

art

greedy

algonthms

Therefore,

tbetr

outcome

I

m

gentral

suboptmal.

A

hrll

chmbmg

algorithm

has

been

used

for

query

opumixahon

rn

the

prolect

The

SDD-I

algor&m

mcorporaW

several

duncements,

i.e.,

htunstics

that

help

overcome

the

greedma

of

the

algorithm.

To

the

best

of

our

knowledge,

the

algorithm

presented

m

tlus

paper

the

first

probabthshc

a&W&m

to

be

used

in

query

Ophmixahon.

Simulated

annealmg

especrally

well

sued

to

optmzauon

problems

wnh

large

search

spaces

and

wrth

cost

funchons

that

mamfest

a

hugt

number

of

local

mmma

If

tht

number

of

local

mmuna

is

small,

then

a

greedy

appmch

IS

probably

adequate.

Hence,

for

convenhonal

query

Ophmlzahott,

snnuhued

anneahng

mapprqmtt

Thls

net

the

howtver.

when

DBMSs

are

used

m

ntw

apphcatton

domams.

Sunulated

annealmg

appears

to

be

a

pronnsmg

approach

to

face

the

new

challenges

of

the

optuntzer,

as

created

by

thtlargtslxtoftheaccessplanspace..

Smdated

anneahng

apphcable

to

any

type

of

query

opttmtxatron.

i

t

optuntxahon

of

quenes

mvolvmg

many

relahons,

global

optuntxatton,

and

recursive

query

optnnlzatlon

In

thts

paper,

however,

we

concentrate

on

some

aspects

of

recursivt

query

optuntzatton

In

pattrcular,

we

assume

that

the

number

of

nontecursivt

quertes

that

are

eqtuvalent

to

the

recursive

one

IS

known

in

advance.

Hence,

the

query

that

opnmmd

actually

non-recursive

One

can

thmk

of

two

masons

why

such

an

approach

sull

useful

m

addressmg

rfmrsivt

query

opumrzahon

l

Some

recurslve

quents

are

bounded,

te.,

they

are

eqmvalent

to

a

fixed

iimte

number

of

nonrecurswe

q-es

mdependent

of

the

database

contents

l

For

rnbounded

recurswe

q-es,

the

number

of

necessary

non-recursive

quenes

can

be

estunated

usmg

stahshcs

mamtamed

by

the

system

on

the

datahase

contents.

Ophnuzahon

can

be

based

on

thlsesmlate..

In

the

sequel,

we

wdl

conhnue

usmg

the

term

recurswe

for

the

quezzs

we

are

m&rested

m,

altbougb

for

tbe

apphcahon

of

the

pmposed

algorithm

only

a

relevant

non-recurslvc

queay

(possi%ly

some

m&al

iimte

part

of

the

recmve

one)

will

be

ophmized..

Recent

sh&es

comparmg

the

performance

of

various

algonthms

that

have

been

dewed

for

recurswe

query

processing

mdicate

that

no

parhcuhu

algorithm

is

universally

optmul,

le.,

fm

all

database

instances

Hence,

query

ophmmhon

for

recursive

queries

becomes

m.

There

have

been

several

taudtes

on

lmpmvmg

the

exe

cuhon

cost

of

recwsIvc

queries

that

are

of

some

spec&

form

These

studues,

however,

do

not

address

the

geamal

ophmlzabon

problemoffindmgtbeophmalaccessplantoanswera

gwenquery.

Tiuslastproblematheoneaddressedm

thus

paper

Thu

paper

w

as

follows.

In

Sechon

we

descnbe

an

algebnuc

model

for

the

study

of

recurslon

as

mtroduced

m

C~XU&%]

We

also

fommlate

the

ophnuxahon

problem

m

tbe

context

of

that

alga

model.

Most

of

tbat

sechon

taken

fkom

[Ioanffi]

In

Se&on

we

present

some

results

that

allow

us

tosomewbatreducetheslzeoftbeacctssplanspace

that

the

slmulated

anneahng

algorltllm

has

to

explore

Sechon

devoted

to

descnbmg

ophmtz&on

by

sunubed

annealmg

m

@mend

terms

h

&chon

the

specifics

of

applymg

simulated

annealmg

to

recutslve

query

ophnuzahon

are

given.

We

gVIe

the

exact

formUlahon

of

the

algontbm

as

well

as

some

prebminary

experunental

results

produced

by

a

prototype

implementahon

of

the

algorithm.

Sechon

dscuSSeS

dre

strong

and

weak

pomts

of

tbe

parucular

formulahon

of

sunulated

annealmg

flven

m

tlus

paper

and

suggests

some

unprovements

Fmally,

Sechon

gives

the

summary

and

m&cates

seveml

duechons

for

future

research.

Simulated

anneahng

a

probabrllshc

algonthm,

good

for

optumzauon

problems

that

involve

large

solution

spaces

Each

soluuon

repnsents

a

state

in

the

search

space,

and

each

state

has

an

assocmted

cost.

The

goal

IS

to

find

the

state

with

the

mmlmum

cost..

We

have

adopted

simulated

anneahng

to

perform

query

ophmuahon

for

complex

quene.s

that

anse

in

the

study

of

lmear

recursmn

The

state

space

defimtmn

has

been

based

on

the

algebnuc

strucbue

of

fdahonal

operators.

Each

state

represents

a

mmnt

algebnuc

for

the

query

aIlswe&

The

cost

of

the

state

ls

the

total

I/O

cost

of

the

operatmns

m

the

conespondmg

algebmc

expresslon.

We

have

unpkmented

a

pototype

of

the

algorithm

m

LISP

and

have

performed

a

lunlted

number

of

small

expenments.

Our

mmal

expenem

that,

in

general,

the

algorithm

to

stmtegles

that

are

very

close

to

the

optimal.

Mmver,

the

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


Natural human role in supervising complex control systems Large collections of communities such as those found in complex control systems necessitate sophisticated techniques for high-level human supervision due to their requirements of influence spanning over individuals, communities, and global system behaviours. We have developed psycho-socio-cultural models for mediation of system-level behaviours and interactions. The ensuing lowered human cognitive load will enable supervisors to effectively guide large systems with competing objectives. This model paves the way for developing the 'Man On The Loop' (MOTL) paradigm, a phrase we are proposing for a novel human supervision role that contrasts with typical micromanagement. We have highlighted and validated MOTL parameters through the implementation of a domain-neutral simulation and compared our results with those found in natural systems. A key issue that arises in controlling complex systems is judicious determination of the extent to which human participation is useful. Multifaceted, mission critical systems that are in development for defence and space explorations need to firmly remain under human jurisdiction while the loci of control are increasingly and technologically widely distributed. The level of human intervention may vary from minimal participation to total domination within a control loop. The level of human intervention can be broadly divided into two categories. If human interference directly affects the actions of a specific acting entity (i.e. an agent) in the control loop, it is traditionally termed 'Man In The Loop' (MITL). Whereas, if the human intervention indirectly affects actions at the unit or agent community level, we coin the phrase 'Man On The Loop' (MOTL).. Man on the loop is characterised as a paradigm shift where a human supervisor employs psychological and social influences to control the system behaviour. MOTL alleviates excessive dependence on the human supervisor. A system-level network policy management is an example for MOTL, where changing the policies in the policy management system by the system administrator will affect the configuration of the entire network without tediously altering each system parameter (Strassner 2003) . Moreover, the human supervisor must attempt to coerce the community to be a responsible society, discharging minimum sets of necessary rights and duties (Jennings and Campos 1997) via: . Acquaintance: the notion that the society contains other members. . Influence: the notion that members can affect one another. . Rights and Duties: the notions that a member can expect certain things from others in the society and that the society could expect reciprocation.. Since decision making in most complex systems is cognitive and deterministic, and validation of such systems is difficult and tedious, MITL has been the predominant paradigm for such systems. This article posits that there is a need to relinquish the intimate, micro-managerial control style of the MITL paradigm to the higher level MOTL paradigm that prescribes a naturalistic, psycho-social macro-management role to human supervisors in charge of the systems. In the MOTL paradigm, a human supervisor will influence individuals and communities of system control units by managing the manner in which control units relate to one another while preserving mission effectiveness and performance metrics. However, it must be stressed that successful task performance invariably depends on the capabilities of the users (McFarlane and Latorella 2002) .. The level of human intervention within automation can be broadly divided into two major classes, Human Computer Interaction (HCI) and Human Agent Interaction (HAI), a subset of HCI itself (Norman 1998) . In contrast to HCI, HAI agents permit more direct human intervention in their actions and dynamic adjustment of their parameters. The problem with the MITL approach is the need for rigorous monitoring and maintenance of each and every agent parameter and perhaps the manual computation of those parameters. Such a supervisor will be inundated with tedious decision making, which might jeopardise opportunities for more impactful, high-level decisions.. Man on the loop aims to herald a significant paradigm shift in controlling complex systems. Although there might be profound underlying phenomena, our simulation results will merely serve to show the path for prototypical system controls and not as validated scientific tautologies. Rigorous subsequent studies in collaboration with social scientists may yield enduring theories beyond the scope of our present endeavour. By and large, we are providing tools for the designers of larger systems to parametrically adjust their system for desired performance and characteristics. The present work provides articulation of a reasonable platform for significant exploration and development in this area.. In Section 2, we outline motivations for MOTL including the OODA loop. Section 3 offers basic behaviour articulation parameters developed by MOTL. Section 4 provides details of the implementation of these parameters followed by validation and observations in Section 5. Concluding remarks on MOTL are given in Section 6. Real-time multi-agent systems built upon ontological knowledge backbones are rapidly emerging as viable platforms for implementing many applications, including net-centric warfare. The Enhanced ELINT Processor (EEP) is one such multi-agent system that automatically manages and controls ELINT sensor systems. During the early development of EEP, it was quickly recognised that new paradigms for monitoring and influencing automated systems were needed. Unlike current ELINT collection systems, automated systems cannot pause to attain human user review data prior to making decisions. However, these highly complex systems still require capabilities for human supervision and influence.. The motivation for this work was to propose a major paradigm shift in the human supervision of complex systems. This article suggested a shift from the traditional Man in the Loop paradigm to a high-level control arrangement we termed MOTL. We conducted numerous experiments with an agent-based simulation to explore the effects of human supervision on an agent community. Observations of results indicate that the model used to simulate this paradigm follows the pattern known to exist in established, real-world systems where there exists an optimal level of control by the supervisor.. These positive results pave the way for further experimentation and expansion. In particular, plans are in place wherein the organisation of the agent system is incorporated into the MOTL paradigm. This will allow the system to take on characteristics of organisations that would allow it to better conform to the characteristics desired by the supervisor. Additionally, exploration of very large systems of agents could yield expanded knowledge of the effects of the MOTL paradigm shift on the efficient control of system behaviour. The computer simulation of social phenomena is a promising field of research at the intersection of social, mathematical and computer sciences. The objective of agentbased social simulation systems is to explore the dynamics of social phenomena replicated in a society of agents. In particular, the notion of an extended computational agent implementing cognitive capabilities (Doran 1998 ) encourages proliferations of artificial societies (Gilbert and Conte 1995; Epstein and Axtell 1996) . We have selected to build a generic simulator which unlike traditional domain-specific simulators such as Gaudiano, Bonabeau and Shargel (2003) and Vincent, Horling, Wagner and Lesser (1998) remains domain neutral and can be tuned for any domain where a supervisor is required to control large systems or a community. The simulator can be adapted based on domain specifics.

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


Gaussian random number generators Rapid generation of high quality Gaussian random numbers is a key capability for simulations across a wide range of disciplines. Advances in computing have brought the power to conduct simulations with very large numbers of random numbers and with it, the challenge of meeting increasingly stringent requirements on the quality of Gaussian random number generators (GRNG). This article describes the algorithms underlying various GRNGs, compares their computational requirements, and examines the quality of the random numbers with emphasis on the behaviour in the tail region of the Gaussian probability density function. Simulations requiring Gaussian random numbers are critical in fields including communications, financial modelling, and many others. A wide range of Gaussian random number generators (GRNGs) have been described in the literature. They all utilize well-understood basic mathematical principles, usually involving transformations of 11:2 D. B. Thomas et al. uniform random numbers. Assuming suitably precise arithmetic, the GRNGs can generally be configured to deliver random numbers of sufficient quality to meet the demands of a particular simulation environment.. Recent advances in computing and the increasing demands on simulation environments have made it timely to examine the question of what characterizes "sufficient quality." While the answer depends on the specifics of the simulation environment, it can be bounded by considering the capabilities of modern processors and extrapolating for expected trends. Modern processors programmed to implement a computational process can often reach a rate of 10 8 outputs per second. Dedicating a large computer cluster with 1000 machines to a single simulation for a ten-day period of time would result in a total simulation size of approximately 10 17 . Adding another two orders of magnitude to allow for technology improvements over the next decade gives an extrapolated total of 10 19 . Additional factors, such as the use of collaborative Internet-based simulations using significantly larger than 1000 machines could drive this number even higher.. The requirement to generate extremely large numbers of Gaussian random numbers elevates the importance of the quality of the GRNG. For example, while Gaussian random numbers with absolute values greater than 6σ or 7σ rarely occur, it is precisely those extreme events that could contribute disproportionately to certain rare but important system behaviours that the simulation aims to explore. Samples from an ideal GRNG with absolute value exceeding 9σ occur with probability 2.26 × 10 −19 . For 10σ , the corresponding probability is 1.52 × 10 −23 . Thus, a GRNG accurate in the tails to about 10σ would be sufficient for the largest simulations practical using technology available today and in the foreseeable future. More generally, when running large simulations it is vital to ensure that simulation results measure the performance of the system under study, without contamination due to imperfections in the random number generation process. Thus, the question of random number quality in GRNGs is central to their utility.. This basic question of random number quality has been of interest since the earliest days of computers. The first published survey of this topic appeared in 1959 [Muller 1959] , and additional survey papers appeared in the 1960s [Kronmal 1964 ], 1970s [Ahrens and Dieter 1972] , and 1980s [Chen and Burford 1981] . Schollmeyer and Tranter [1991] discussed GRNGs for communications applications in 1991, providing a survey of contemporary methods, and performing a limited number of tests. Their focus was mainly on the pairing of specific uniform random number generators, particularly linear congruential generators (LCGs) [Lehmer 1949 ] with transformation algorithms, and utilized visual, as opposed to statistical, evaluations of the resulting distributions. An overview of a limited set of GRNGs was provided by Kabal [2000] , which compared several of the classic methods for generating Gaussian numbers on modern computers.. Most of the attention to GRNGs in recent years has focused on new generation algorithms as opposed to analysis of existing algorithms. Thus, while the number of algorithms has grown, there has been relatively little published work addressing the universe of GRNGs as a whole. The goals of this article are therefore:. (1) to provide an overview of GRNG methods and algorithms, including a classification of the various techniques, (2) to present results on the performance and accuracy of the GRNGs that will be useful to practitioners, particularly those working in applications where statistically accurate generation of the "extreme events" noted above is important.. Our discussion also addresses issues that have not previously received significant attention. For instance, to ensure accurate tails, we address the need for careful conversion of uniform integer random numbers to floating-point values.. GRNGs aim to produce random numbers that, to the accuracy necessary for a given application, are statistically indistinguishable from samples of a random variable with an ideal Gaussian distribution. We classify GRNGs into four basic categories: cumulative density function (CDF) inversion, transformation, rejection, and recursive methods. The CDF inversion method simply inverts the CDF to produce a random number from a desired distribution. Transformation methods involve the direct transformation of uniform random numbers to a Gaussian distribution. The third category, rejection, again starts with uniform random numbers and a transformation, but has the additional step of conditionally rejecting some of the transformed values. Recursion, the final category, utilizes linear combinations of previously generated Gaussian numbers to produce new outputs.. An alternative classification is "exact" or "approximate." Exact methods would produce perfect Gaussian random numbers if implemented in an "ideal" environment. For example, the Box-Muller method subjects uniform numbers to various transformations in order to produce Gaussian outputs. If a perfect, and infinitely precise, uniform RNG were used, and if the functions themselves were evaluated with infinite precision, perfect Gaussian random numbers would be produced. Approximate methods, on the other hand, will produce outputs that are approximately Gaussian even if the arithmetic used is perfect. An example of this is the central limit theorem, which is only exact when an infinite number of uniform random numbers are combined and so must be approximate in any practical implementation. In the subsequent discussion of the algorithms, an indication of whether the algorithm is exact or approximate is provided.. Section 2 provides brief descriptions, pseudo code, and references for the GRNGs. Section 3 covers algorithms that focus on the tail region of the Gaussian. Section 4 describes the test parameters and the corresponding results, and Section 5 presents conclusions. This article presents a survey and a classification of Gaussian random number generators. We describe a comprehensive test methodology to determine the statistical quality of the different methods, particularly with regards to the distribution in the tails. This testing has demonstrated that single-precision calculations are usually sufficient, even for applications requiring good coverage in the tails of the Gaussian distribution, as long as care is taken when converting uniform random integers to floating-point random numbers. It is shown that the Wallace method is the fastest, but can suffer from correlation problems; the Ziggurat method, the second in speed, is about 33% slower than the Wallace method but does not suffer from correlation problems. Thus, when maintaining extremely high statistical quality is the first priority, and subject to that constraint, speed is also desired, the Ziggurat method will often be the most appropriate choice. If the quality requirements are not so stringent but speed is essential then Wallace may be appropriate. One disadvantage of Ziggurat lies in the large number of constants (388 for single-precision), so in environments where that is problematic simpler methods such as polar or GRAND may also be appropriate.

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


Comparison of predictive contract mechanisms from an information theory perspective Inconsistency arises across a Distributed Virtual Environment due to network latency induced by state changes communications. Predictive Contract Mechanisms (PCMs) combat this problem through reducing the amount of messages transmitted in return for perceptually tolerable inconsistency. To date there are no methods to quantify the efficiency of PCMs in communicating this reduced state information. This article presents an approach derived from concepts in information theory for a deeper understanding of PCMs. Through a comparison of representative PCMs, the worked analysis illustrates interesting aspects of PCMs operation and demonstrates how they can be interpreted as a form of lossy information compression. Distributed Virtual Environments (DVEs) is a class of software systems that enable geographically distant users to collaboratively interact with each other. Typically this takes the form of a virtual environment or virtual world that offers shared time, shared space, and shared presence [Singhal and Zyda 1999] . Examples of significant DVE deployments range from distributed military simulations (e.g., SIMNET [Calvin et al. 1993; Miller and Thorpe 1995] , DIS [IEEE 1998 ], HLA [IEEE 2000]) and academic virtual networked community (e.g., DIVE [Frécon and Stenius 1998 ], NPSNET [Capps 18 :2 • X. Zhang et al. et al. 2000] , PECOLE [Saddik et al. 2008] ) to large-scale online entertainment systems (e.g., UltimaOnline [Origin Systems 1997] , Quake [Kushner 2002 ], DIP [Zimmermann et al. 2008] ).. Conceptually, a real-time DVE can be seen as a set of virtual entities (or objects) interacting within a simulated and synchronized virtual environment . The interactive entities can be represented by a number of state variables, and manipulated by dispersed human-users through host machines that maintain local instances of the virtual environment. The local controlling host notifies the changing state of the corresponding entity by sending synchronization messages (or update packets) across the underlying communication network. Remote host machines receive the messages and implement the changes to their own virtual environment instances. This "updating" enables the DVE to provide to the human users the illusion of a single, seamless virtual environment and real-time interaction.. Despite the diversity of this application class, the fundamental functionality of any DVE is to maintain a consistent view of the virtual world for all the participating users and to hide the distributed nature of the application. Maintaining sufficient consistency has been one of the most persistent problems in large-scale DVEs because of the two fundamental challenges of network data transmission, that is, finite network bandwidth and nonzero network latency [Capps and Stotts 1997; Delaney et al. 2006] . In the face of the limited network resources, increasing the update frequency for a finer remote state replication may lead to higher throughput and latency if the traffic exceeds the available bandwidth, and ironically compromises consistency. This Consistency-Throughput Trade-off states that it is impossible to achieve a both highly consistent and dynamic world at the same time [Singhal and Zyda 1999] .. To deal with the Consistency-Throughput Trade-off, one important group of consistency maintenance mechanisms, collectively known as Predictive Contract Mechanisms (PCMs) [Mellon and West 1995; Delaney et al. 2006] , employs predictive approaches to reduce the amount of data transmission for optimal bandwidth usage and minimum latency. These techniques have been widely utilized in military training simulations and networked games [Calvin et al. 1993; Pantel and Wolf 2002; Yu et al. 2007] . In PCMs, a local controlling host runs a high-fidelity motion that represents the true entity state and a low-fidelity local model estimated from contextual dynamics by some prediction scheme. The local host compares the low-fidelity model to the true entity state and send an update packet only when the difference between the two violates a given threshold. The same prediction scheme is also applied at every remote host to produce a remote model of the entity state from the most recently received packet. In doing so, PCMs maintain a controlled inconsistency for reduced traffic.. The most commonly deployed PCM is known as Dead Reckoning (DR), which makes use of the current state derivatives and polynomial equations to extrapolate future entity states [Miller and Thorpe 1995; IEEE 1998; Pantel and Wolf 2002] . There has been significant research focused on improving prediction accuracy either by employing advanced modeling techniques to generate better derivative information used by those predictors [Pantel and Wolf 2002; Hanawa and Yonekura 2006; McCoy et al. 2007] or dynamically switching among prediction models according to certain accuracy criterion [Lee et al. 2000; Delaney et al. 2003; McCoy et al. 2005] . One problem with these alternative predictors is that they only produce better accuracy when the user motion complies with the motion model implied by the predictor under use. Another line of research carefully selects suitable error thresholds in order to balance the trade-off between the number of update packets and consistency [Lee et al. 2000; Yu and Choy 2001; Chen and Chen 2005; Roberts et al. 2008; Kenny et al. 2009] . These techniques have all proven effective through simulation. However, in so far as the authors are aware, there exists no analytical measure of the contribution of such mechanisms in reducing data transmission.. The work presented in this article takes a new approach to examine PCMs from the perspective of information theory. Concepts such as Entropy and Mutual Information [Cover and Thomas 2006] are employed to measure the knowledge related to future entity states in the state derivatives used by the predictors. The advantage of information-based measurement is that it does not imply any presumed model or pattern, and provides a general metric of the user motion predictability of any possible form. Also, different prediction schemes can be assessed and compared under a single framework. Such an information perspective has been proposed to measure PCM operation, but is either restrained on the local host [Zhang et al. 2008] or only with the simplest standard dead reckoning [Zhang et al. 2009] . In this article, the idea is considerably extended by a complete "life cycle" analysis of the synchronization messages that shows how information is included in and extrapolated from the messages to build the remote model. The inconsistency caused by discarding prediction errors within the threshold limit and network latency in data transmission is measured as information loss. Such a perspective facilitates an analytical study of the trade-off between consistency and throughput. PCMs are seen consequently as an information generation, compression and reconstruction process. An analysis of our model is presented through an experimental study. Finally, a comparison of two standard DR algorithms and a newly proposed Neuro-Reckoning technique [McCoy et al. 2007 ] using the information model is presented. The results show that our information approach applies to both standard and novel PCMs.. The remainder of this article is organized as follows. In the next section, principles of general PCMs are outlined. A brief overview of two standard polynomial predictors and Neuro-Reckoning (NR) is also presented. The information model, along with basic concepts in information theory, is discussed in detail in Section 3. In Section 4, the information model and information analysis is demonstrated using a user motion dataset from a representative DVE scenario. The three PCMs are then examined and compared using thiis model. Finally, Section 5 gives some conclusions and discusses future directions. To demonstrate our information model, experiments are conducted under a representative DVE environment based on the Torque game engine [Lloyd 2004 ]. The simulation scenario, developed by McCoy et al. [2007] , is shown in Figure 4(a) . In the simulation, players who controls the avatar using a keyboard (for translation movements) and a mouse (for rotations) in first-person perspective are born at randomly assigned "spawn-points" as starting locations. The goal of the players in the simulation is to be the first to reach a prespecified "hit-point" score-limit by attacking others using projectile-based weapon with unlimited ammo, and "disabling" the opponents. Disabled players are reborn at one of the spawn-points. At the point of the score-limit being reached by one of the players, the simulation can be repeated. This "deathmatch" scenario involves typical user behavior in general DVEs, such as exploration, chasing, circumvention and engagement. We will submit such a DVE to an analysis from our information perspective. Figure 4 (b) illustrates the entity state space in the simulation. At the simulation step k, an entity is modeled by its position x (k), velocity v(k) and orientation θ(k), each of which is a 2-dimensional vector. The entity position and velocity are coordinates and speed along the x-axis and y-axis respectively, based on game units. The orientation is the sine and cosine coordinate pair of the positive angle from the x-axis to the line of the orientation. For the convenience of illustration, the presented results are based on the x-coordinate of the entity position, which ranges from −52 to 403 game units. Multidimensional analysis can be conducted in a similar manner. The simulation is run at the rate of 20Hz, with the constant simulation step of δ = 50ms.. The PCMs we examine here are standard DR with 1 st and 2 nd -order predictors, and NR. For 1 storder DR, the x-component of the entity velocity vector is directly taken as the 1 st -order derivative in (3). The 2 nd -order derivative in (4) has to be estimated since it is not recorded during the simulation. For NR, we use the neural network predictors trained and validated under the same game scenario in McCoy et al. [2007] , where the maximum prediction time-delay d and the maximum prediction horizon q were set at d = 3 and q = 10 to give the best prediction accuracy. Therefore, the NR velocity vector is predicted based on the motion descriptions of the most recent four steps and pointing through a predicted position at 0.55s in the future. Similar to the case of 1 st -order DR, the x-axis componentv x (k) of the NR velocityv(k) is used in extrapolating the one-dimensional entity dynamic. The derivatives in a packet sent at the step k u is summarized in Table I .. In the experiment, the human-user is asked to repeatedly play the game and the entity state trajectories of the human-user are then combined to form a true entity motion with the length of N = 102053 steps. Details of the recorded dataset in terms of the number of possible values and occurrences of entity states, derivatives, and their combination in each type of packet are summarized in Table II . The "OCC (95%)" row denotes that at least 95% of the possible combinations are sampled with occurrences higher than the shown value. It is then clear that the entity motion is within a small subset of the whole possible space and low occurrence is very rare. From other application domains where the KDE approach has been successfully deployed [Moon et al. 1995; Steuer et al. 2002] , this dataset is more than sufficient to give decent results for the purpose to demonstrate the concept to evaluate PCMs using information measurement. In practical DVE systems where huge amounts of recorded data are easily available, even more accurate information estimation for larger state spaces can be obtained using our approach. The user motion is prerecorded and then applied to the three mechanisms to evaluate their performance under varying thresholds and simulated fixed latencies. Figure 5 shows examples of the probability estimation for the 1 st -order DR experiment. The contrast of the unconditional probabilityp(x τ =1 ) and the conditional probabilityp(x τ =1 |u = [29, 1]) in Figure 5 (b) reveals that given the knowledge in parameters in the packet, the next entity state became highly predictable compared to the situation without the update. Figure 5 (b) illustrates how information could be used to reduce uncertainty. In our information model, aspects of consistency maintenance, namely entity dynamics, prediction algorithms, threshold, and network latency are analyzed using an integrated information metric, and factors causing inconsistency are viewed as a form of information loss or reduction in information rate. Such analysis facilitates a novel understanding of the Consistency-Throughput Trade-off, and suggests improvement in application design. Although our information model is presented through analysis of threshold-based mechanisms, it is also suitable for rate-based methods, in which case, the function period is the constant updating interval.. A performance comparison of three prediction schemes, namely 1 st and 2 nd -order DR, and NR, is conducted under a novel information model perspective, in which we use information theory to reframe PCMs as a form of lossy compression. Our results show that NR achieves a reduction in the number of update packets compared to standard DR, because it employs a huge amount of information in producing the predictive NR vector. On the other hand, the simple linear extrapolation for the purpose of transparency of integrating NR into standard DR framework hinders good utilization of the available information. NR could be further improved by some advanced extrapolation method. 1 st -order DR is the most information-efficient extrapolation in that most of its delivered information is used to reconstruct the remote model. 2 nd -order DR does not properly utilize the additional information in the acceleration parameter into building the remote model, and is thus unsuitable for the game scenario investigated here. Our information perspective not only facilitates new distinctions in the relative performance of these PCMs in controlling remote inconsistency, it also reveals the potential of PCMs by providing an analytical measure of the information capacity of the messages.. Our future work will include: investigating different types of entity dynamics from various DVE application scenarios, facilitating the pursuit of an application-dependent optimum prediction algorithm; designing remote extrapolation techniques that can efficiently make use of the information available; and relating the information rate and network traffic.

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


Learning spatial relations in object recognition This paper studies two types of spatial relationships that can be learned from training examples for object recognition. The first one employs deformable relationships between object parts with a Gaussian model, while the second one describes pairwise relationships between pixel intensity values using Bayesian networks. We perform experiments on a human face dataset and a horse dataset, imposing the same amount of annotation of training data, which can be seen as sending knowledge to the learning algorithms. The result indicates that the Bayesian network method compares favorably to the deformable model, as it can capture long-distance stable relations in the object appearance. We also conclude that both methods are superior to strictly spatial matching by template and strictly non-spatial classifiers. Object is an abstract concept for which just few aspects are valid in general, for all types of objects. In the recognition of object classes, objects are usually characterized by distinct appearances (signs), textures (tiger), features (coins) or parts (eyes plus mouth for a face). In this paper, we concentrate on the other common aspect of object: that they share some spatial order. We focus on learning spatial relationships among in the object appearance or among object parts for the purpose of object recognition.. In the study of spatial relationships one may take a syntactical approach. Tagare et al. (1995) derives a metric between two Voronoi diagrams to describe spatial relationships of similar patches. This is similar to the approach in (Egenhofer, 1997) where they admit a relaxation of the spatial constraint. At any rate, such approaches require a very robust part-labeling scheme. They are too brittle for the effects of partial occlusion and undetected parts that the method is not effective for object recognition.. Graph matching (Bunke, 2000) provides another, more frequently explored path to describe the spatial relations of object parts. The construction of object graphs is not obvious. The method in (Rocha and Pavlidis, 1994) , for example, resorts to elaborate feature extractors together with manual interactive design. A separate class is the shock graphs capturing the object topological structure (Sebastian et al., 2004; Siddiqi et al., 1999) . This is an important class because the extraction and subsequent matching can be achieved efficiently. Nevertheless, the shock graph as well as graph representation in general lack a statistical model that can capture the variation of a collection of objects (or graphs). As a consequence, these approaches are not yet suitable for learning and recognition of object classes.. In this paper we contrast two types of spatial relationships that can be learned from a set of examples for object recognition. The first uses deformable relationships between named entities, for examples the approaches in (Burl and Perona, 1996; Weber et al., 2000; Fergus et al., 2003; Fischler and Elschlager, 1973; Felzenszwalb and Huttenlocher, 2000) . The named entities are derived by specific part detectors, as opposed to Harris detectors and spot detectors generating nameless points of interest. Using parts is advised when one wishes to extend the class of objects with a fixed spatial layout to include objects with articulated structures. Examples are windmills and animals with their limbs. One critical issue not fully addressed in these approaches is that of missing parts and image clutter. In this study, we choose a method using a translation invariant shape configuration (Pham and Smeulders, 2004) where the problem of missing parts and image clutter is handled efficiently.. The second type of spatial relations we study are between pairs of intensity values on the face of the object. For that purpose, the spatial relation of a pair of pixels is combined with pixel intensities at either end. Such is the topic of ''graphical models'', which utilize results in graph theory and probability theory into a single framework (Pearl, 1988; Jordan, 1999) . Unlike the aforementioned graph matching approach where each object is associated with a separate graph, in this approach a graph describes a class of objects. Since the class of an object can be derived easily by holding it against the graphical model, this approach is suited for the object class recognition problem. Graphical models also differ from other statistical approaches that have been applied to the object recognition problem, such as (Sung and Poggio, 1998; LeCun et al., 1998; Cortes and Vapnik, 1995) , in that the spatial relationships among input pixels, are described explicitly. One critical issue in this approach is how to learn the structure from examples. Here we consider the graphical model in (Pham et al., 2002) that looks for the co-occurrence of pixel values over distance. This model is learned efficiently and shows superior performance (Pham et al., 2002) in comparison with methods employing simpler structures (Schneiderman and Kanade, 2000; Colmenarez and Huang, 1997) .. We contrast the recognition performance of a model for coarse-grain spatial relationship between parts (Pham and Smeulders, 2004) with two models for fine-grain spatial relation between pixels (Pham et al., 2002) . We do so on two data sets, one being human faces in frontal view as the best example of the class of objects with a fixed spatial layout, and the other horses faced to the right with large variations in action and hence in the relative positioning of the limbs. The last data set is taken as the best example of the articulated object class. We do not aim to reach for optimal performance but rather to understand the behavior of spatial relation classifiers.. A proper comparison requires careful consideration of the amount of a priori knowledge inserted in each method. Ideally, the a priori information should be equal for all different methods. We consider annotation as sending information to the learning algorithm. One mouse click in the annotation is one message to the learning algorithm. From that point of view, we take care that the amount clicks is (almost) identical for all methods. For the learning phases, object examples are extracted from images by one mouse click per object roughly in the center of its frame. In addition, there is a few mouse clicks on one image to initialize the part learning.. The paper is organized as follows. After the review the methods in Section 2, we describe the datasets used for evaluation in Section 3. The experimental results are presented in Section 4. Finally, we draw conclusions in Section 5. In this paper, we evaluate two statistical methods to evaluate the use of spatial relationships in object recognition.. We emphasize that all methods are presented with the same set training examples with (almost) identical annotation, which is one click on the center of an object in the learning set. In this way, for the purpose of fair comparison, we equate the amount of annotation information available to the methods. Due to this constraint, part alignment is indispensable. As a by-product, we conclude that the alignment works well. On the face dataset automatic alignment and manual part labeling generate the same localization results.. For the Bayesian network methods, one can observe that the long-distance dependencies within the face of the object are most informative. This is due to the spatial coherence in images implying that nearby pixels are strongly correlated almost everywhere; typically only broken at the edges between foreground objects and the background. Hence short distance relations are commonly correlated and less informative. Strongly correlated longdistance relations are rare and typical for pixel pairs on one face of an object. This observation holds true for the faces as expected for an example of the fixed layout class as well as for the horses.. Object masking is designed in analogy to a feature selection procedure for the Bayesian network. It improves the recognition result significantly on the face dataset while maintaining the result on the horse dataset. Bayesian network with object masking outperforms the part-based method on both datasets. That is, even in the case of the flexible articulated object class, here represented by the horse dataset, the Bayesian network performed superior. The Bayesian networks are capable of capturing the stable relations in the object appearance.. It should be noted, however, that for the part-based method, the issue of part learners is critical for effective recognition. We do not use the most advanced part learners. One method to be investigated further is the use of a local Bayesian networks for that purpose. Alternatively, one may consider local descriptors invariant to scale and orientation as part detectors.. None of the methods copes well with severe random patch occlusion. The part-based method is less sensitive to occlusion than the Bayesian network methods. This is ascribed to the tolerance to missing parts of the part-based method. Between the two Bayesian network methods, object masking is more sensitive to occlusion than without object masking as expected since the masking brings the information back to the minimum set of pixels. This result means that feature selection by Bayesian masking is unlikely to solve the problem of occlusion. In applications where occlusion is expected, it should be dealt with explicitly.. Further research is conducted into the issue of automatic feature selection. This is important for generic object recognition where a priori knowledge is limited and the range of object classes is huge. One approach might be to reject regions with low weight in a learned Bayesian network in an iterative fashion. The experiments show that the background regions carry little weight in classification.. In conclusion, we have presented a study for three methods that exploit spatial relations for object recognition. The relations are learned from training examples. By imposing (almost) the same amount of annotation of training data, which can be seen as sending knowledge to the learning algorithm, we can identify the strengths and weaknesses of each method. The part-based method and Bayesian networks are capable of exploiting the spatial relations for recognition. To be sure, the part-based method outperforms global template matching on both datasets. (This is expected as the part-based method is designed to be tolerant to some variation in the object structure, making the method less brittle than global matching.) And, for the Bayesian network method, a previous study (Pham et al., 2002) has already shown its superior performance in comparison with the naive Bayes classifier, which encodes no spatial relations at all. This leads us to conclude that both part-based and especially pair-wise relations in Bayesian networks are superior to strictly spatial matching by templates and strictly non-spatial classifiers. In this section, we discuss part-based learning, Bayesian network learning and Bayesian network learning with object masking. In the first method, the object of interest is decomposed into parts. The learning phase consists of learning the part detectors and the spatial relationships among them. The recognition phase consists of the detection of object parts and searching for the spatial configuration optimal for a target object. In the second method, object appearance is learned by finding optimal pairwise relations among the pixels as well as modeling the dependences of the pixel values. The runtime process includes scanning the input image to find the best object location according to the learned statistical model. The last method is a variant of the second one where an object mask is employed to reduce the effect of background pixels.

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