Web

user

clustering

and

Web

prefetching

using

Random

Indexing

with

weight

functions

Abstract

Users

of

a

Web

site

usually

perform

their

interest-oriented

actions

by

clicking

or

visiting

Web

pages,

which

are

traced

in

access

log

files.

Clustering

Web

user

access

patterns

may

capture

common

user

interests

to

a

Web

site,

and

in

turn,

build

user

profiles

for

advanced

Web

applications,

such

as

Web

caching

and

prefetching.

The

conventional

Web

usage

mining

techniques

for

clustering

Web

user

sessions

can

discover

usage

patterns

directly,

but

cannot

identify

the

latent

factors

or

hidden

relationships

among

users'

navigational

behaviour.

In

this

paper,

we

propose

an

approach

based

on

a

vector

space

model,

called

Random

Indexing,

to

discover

such

intrinsic

characteristics

of

Web

users'

activities.

The

underlying

factors

are

then

utilised

for

clustering

individual

user

navigational

patterns

and

creating

common

user

profiles.

The

clustering

results

will

be

used

to

predict

and

prefetch

Web

requests

for

grouped

users.

We

demonstrate

the

usability

and

superiority

of

the

proposed

Web

user

clustering

approach

through

experiments

on

a

real

Web

log

file.

The

clustering

and

prefetching

tasks

are

evaluated

by

comparison

with

previous

studies

demonstrating

better

clustering

performance

and

higher

prefetching

accuracy.

This

paper

focuses

on

discovering

latent

factors

of

user

browsing

behaviours

based

on

Random

Indexing

with

various

weight

functions

and

detecting

clusters

of

Web

users

according

to

their

activity

patterns

acquired

from

access

logs.

Experiments

are

conducted

to

inves-tigate

the

performance

of

weighted-RI

in

Web

user

clustering

tasks.

The

results

show

that

the

proposed

RI-based

Web

user

clustering

approach

could

be

used

to

detect

user

groups

that

are

hardly

found

by

other

clustering

algorithms.

Based

on

common

profiles

of

detected

clusters,

our

approach

is

employed

to

predict

and

prefetch

user

requests

with

encouraging

results.

In

this

section,

we

present

our

experiments

of

clustering

Web

users

using

RI

weighted

by

various

statistical

functions

and

give

a

detailed

investigation

of

the

results.

We

use

MatLab

for

our

experiments..

Four

parameters

are

used

to

investigate

the

performance

of

our

prefetching

task:

hits

which

indicate

the

number

of

URLs

that

are

requested

from

the

prefetched

URLs,

precision

which

is

the

ratio

of

hits

to

the

number

of

URLs

that

are

prefetched,

recall

which

is

the

ratio

of

hits

to

the

number

of

URLs

that

are

requested

and

F

which

considers

both

the

precision

and

the

recall

to

test

the

accuracy.

Since

our

prefetch

strategy

only

predicts

common

URLs

within

one

user

cluster,

we

cannot

make

sure

that

all

requests

from

a

single

user

are

prefetched.

Therefore,

precision

is

valued

higher

than

recall

for

prefetching.

As

a

result,

we

choose

F

to

measure

the

prefetching

accuracy

that

weights

precision

twice

as

much

as

recall..

Based

on

the

clustering

results,

we

build

the

common

user

profile

for

each

RI

method.

Moreover,

in

order

to

evaluate

RI

with

weighting

functions

for

the

Web

user

clustering

task,

we

compare

their

user

profiles

to

the

ones

generated

using

FCMdd

and

CAS-C.

The

common

user

profile

created

by

MI-RI

(the

method

with

best

clustering

performance

shown

in

Sect.

can

be

found

in

Table

of

Appendix

A..

From

the

common

user

profile

acquired

by

the

MI-based

RI

approach,

we

can

find

some

information:

Different

clusters

of

users

can

be

identified

by

the

common

teachers

or

courses

they

selected,

such

as

Clusters

and

in

Table

Some

groups

of

users

are

clustered

by

their

common

interests,

such

as

Clusters

and

in

Table

Many

users

only

access

the

homepage

of

the

department

and

the

entry

of

courses

to

check

information,

such

as

Cluster

in

Table

About

half

of

the

users

visited

the

course

page

'cs-www.bu.edu/students/grads/tahir/CS111/',

'Introduction

to

Computer

Science',

which

means

that

they

selected

this

course

or

were

interested

in

it;

Course

pages

gained

the

most

attention

at

this

Web

site,

because

almost

everyone

had

visited

the

homepage

of

courses;

and

The

entry

page

of

this

Web

site,

'cs-www.bu.edu',

had

been

accessed

by

all

the

clusters.

According

to

the

common

user

profiles

created

by

the

four

weighted-RI

techniques,

FSMdd

and

CAS-C,

we

set

up

prefetching

experiments

to

prefetch

URL

requests

for

users

in

each

cluster.

We

calculate

the

accuracy

of

the

prefetch

hits

by

comparing

the

predicted

URLs

with

the

access

logs

of

March.

Table

gives

the

overall

experimental

comparison

of

prefetching

for

FCMdd,

CAS-C

and

the

weighted-RI

techniques..

Comparing

the

top

two

lines

to

the

last

four

rows

of

Table

we

can

see

that

the

results

in

the

proposed

prefetching

tasks

achieve

a

total

average

precision

of

and

a

total

recall

of

which

are

all

higher

than

of

CAS-C

and

using

FCMdd.

Even

the

lowest

F

value

of

the

RI-based

techniques,

from

RelFreq-RI,

is

larger

than

of

CAS-C

and

of

FCMdd.

We

can

thus

conclude

that

prefetching

based

on

Random

Indexing

provides

a

user

request

predicting

service

that

is

better

than

using

FCMdd

or

CAS-C..

Then,

we

focus

on

the

different

weighted-RI

methods

(rows

in

Table

We

can

find

that

the

MI-RI

approach

gets

the

highest

total

precision

and

the

largest

F

value,

while

the

original

RI

(Identity-RI)

method

has

the

best

recall.

It

is

clear

that

the

three

weighted-RI

techniques

achieve

higher

precision

than

the

Identity-RI-based

approach

although

they

get

lower

recall

rate.

The

MI-RI

and

Gref-RI

methods

acquire

the

largest

F

values

and

that

are

higher

than

of

Identity-RI.

As

we

have

mentioned

at

the

beginning

of

this

subsection,

we

value

precision

higher

than

recall

and

use

F

to

measure

the

accuracy

of

prefetching.

The

MI-RI-and

Gref-RI-based

approaches

then

perform

better

than

the

original

RI

technique.

Furthermore,

MI-RI

achieves

the

best

performance

among

all

the

prefetching

methods.

The

detailed

prefetching

results

of

MI-RI

are

shown

in

Table

of

Appendix

B..

To

summarise,

Random

Indexing

of

user

navigation

patterns

can

improve

the

quality

of

user

request

prediction

and

show

better

results

than

FCMdd

and

CAS-C.

Moreover,

weighting

functions

further

improve

Random

Indexing's

prefetch

performance.

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


Numerical modelling of complex turbulent free-surface flows with the SPH method: an overview The gridless smoothed particle hydrodynamics (SPH) method is now commonly used in computational fluid dynamics (CFD) and appears to be promising in predicting complex free-surface flows. However, increasing flow complexity requires appropriate approaches for taking account of turbulent effects, whereas some authors are still working without any turbulence closure in SPH. A review of recently developed turbulence models adapted to the SPH method is presented herein, from the simplistic point of view of a one-equation model involving mixing length to more sophisticated (and thus realistic) models like explicit algebraic Reynolds stress models (EARSM) or large eddy simulation (LES). Each proposed model is tested and validated on the basis of schematic cases for which laboratory data, theoretical or numerical solutions are available in the general field of turbulent free-surface incompressible flows (e.g. open-channel flow and schematic dam break). They give satisfactory results, even though some progress should be made in the future in terms of free-surface influence and wall conditions. Recommendations are given to SPH users to apply this method to the modelling of complex free-surface turbulent flows. At the end of the 1970s, the smoothed particle hydrodynamics (SPH) numerical method was invented to simulate astrophysical problems, for which a meshless formalism is helpful, as pointed out by Gingold and Monaghan [1] . SPH is a fully Lagrangian method, which means that no computational mesh or grid is required. At the beginning of the 1980s, this method was successfully applied to other fields of computational physics [2] , in particular for rapid dynamic phenomena 278 D. VIOLEAU AND R. ISSA in solid [3] and fluid dynamics [4] . Today, SPH is becoming one of the most popular meshless methods for fluid dynamics and is commonly applied to real free-surface flows. The complete standard SPH equations are here presented in Section 2 and an example is presented and validated in Section 4 under laminar conditions. However, literature regarding turbulence modelling in SPH has been quite scarce until now. Recently, the authors successfully applied mixing length [5, 6] and k-ε [7] models to a turbulent free-surface channel. A 3D large eddy simulation (LES) model was also applied to the collapse of a water column in a tank [8] , while Shao and Gotoh [9] as well as Dalrymple and Rogers [10] applied a two-dimensional LES model to wave propagation and interaction with coastal defence. Given these promising developments, we present here a brief overview of the SPH tools and applications in computational fluid dynamics (CFD) for turbulent incompressible free-surface flows. We will include in our presentation a review of available SPH turbulent models based on transport equations, and try to highlight the advantages and drawbacks of each. The natural conservation properties of the SPH method will be presented in Section 3, and their consequences will be discussed. Staring from these considerations, we will first present turbulent closures based on transport equations like the well known k-ε model (Sections 5 and 6), with validations showing its advantages and limitations in the case of free-surface flows. An explicit algebraic Reynolds stress model (EARSM) is then proposed in Section 7, and his benefits are shown, while LES is presented in Section 8. Advantages and drawbacks of each model will be highlighted.. Our presentation will be supported by applications on schematic cases for which theoretical solutions or experimental data are available. For practical reasons related to computational cost, most of the presented application cases are two-dimensional (except in Section 8); however, the reader should keep in mind that the presented equations are also valid in three dimensions. On a theoretical point of view, emphasis will be placed on the conservativity properties of the proposed formulations. From the above-mentioned applications, it appears that SPH is a very promising method for the simulation of complex turbulent flows involving distorted free surfaces in two or three dimensions. It may be emphasized that the developments presented herein do not cover all the possibilities of SPH in CFD: in particular, the method allows the modelling of floating bodies, fluid-structure interactions and two-phase flows. The developments made in Section 5 also tend to suggest that modelling turbulent scalar transport in SPH is a possible task. However, some drawbacks of the SPH method can easily be pointed out. The Courant condition appearing in (15) leads to rather small time steps, and the high number of particles required in 3D makes SPH a very computationally demanding method. The presented explicit weakly compressible scheme could also be criticized since it generally predicts scattered pressure fields. Some authors like Shao and. Gotoh [9] have demonstrated the possibility of modelling truly incompressible flows with SPH, which is an alternative choice to increase the time step and provide smooth pressure fields under all circumstances. The presented turbulence closure models, although not yet deeply validated in the case of complex free-surface flows, have shown to be attractive. Some of them (e.g. k-ε or LES), today considered as traditional in the context of Eulerian methods, have been proved to be adapted to the particular context of SPH and were applied with success on validated test cases. The merits of each model, in terms of accuracy and/or simplicity, partly appear from the presented simulations. For practical applications in CFD with SPH, it appears that the standard k-ε provides satisfactory results, while it can be inappropriate in the particular field of free-surface flows. The modelling of complex surfaces should be more successfully predicted with EARSM, to take account of strong distorsion and rotation effects. By highlighting the weaknesses of those turbulence closures in regards of the modelled flows, this work also suggests possible ways of improvements. Hence, future developments should be done around the problem of free surface and wall effects as well as associated boundary conditions. LES was too briefly investigated here to draw definite conclusions. The high 3D computational time makes this approach especially cumbersome with SPH. Indeed, the use of SPH as an operational tool for three dimensional applications will require a parallelized code. Among other key points, further work will focus on this development. One may also mention that other appropriate and specific turbulent methods, like stochastic (pdf) models (see Reference [23] ) were also tried in the context of SPH [5, 29] and may constitute a suitable alternative to LES to keep computational time reasonable.. In conclusions, the standard k-ε equations, here applied to SPH, are recommended for practical applications in industrial or environmental CFD with SPH. However, under specific circumstances, they should be inappropriate, in particular when modelling very complex free surface, where more advanced models should be used, like the proposed EARSM.

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


Efficient Packet Classification with a Hybrid Algorithm Packet classification categorizes incoming packets into multiple forwarding classes based on pre-defined filters. This categorization makes information accessible for quality of service or security handling in the network. In this paper, we propose a scheme which combines the Aggregate Bit Vector algorithm and the Pruned Tuple Space Search algorithm to improve the performance of packet classification in terms of speed and storage. We also present the procedures of incremental update. Our scheme is evaluated with filter databases of varying sizes and characteristics. The experimental results demonstrate that our scheme is feasible and scalable. Packet classification is a discriminating forwarding technique for new network services. With packet classification, the requirement of network applications can be met by applying consistent actions defined in the filters to the incoming packets. The actions include queuing disciplines, access control, accounting and intrusion detection [1] . In addition, various devices, such as routers, firewalls and network intrusion detection systems, have used packet classification to practical effect. Thus, a wide range of network applications depends on the performance of packet classification. Nevertheless, packet classification with a large number of filters is complex and usually has poor worst-case performance [2] - [5] .. The filters for packet classification consist of a set of fields and an associated action. Each field, in turn, corresponds to one field of packet headers. The value in each field could be a variable-length prefix, range, explicit value or wildcard. The most common fields include a source/destination IP address prefix, a source/destination port range of the transport protocol and a protocol type in a packet header. Formally, we define a filter F with d fields as F = ( f 1 , f 2 , . . . , f d ). While performing packet classification, a packet header P is said to match a particular filter F if for all i, the i th field of the header satisfies f i . Each action has a cost that defines its priority among the actions of the matching filters, and the classifier only applies to the least-cost action from the matching filters [1] . The problem of packet classification resembles the point location problem in multidimensional space [3] . The point location problem finds the enclosing region of a point within a set of non-overlapping regions To improve the search performance, much effort has been devoted to packet classification in recent years, yielding a number of algorithms. However, the current solutions may not match the speed requirement for large filter databases. We are aware of the tradeoff between time and space complexity in the existing algorithms and attempt to improve further on the scalability of packet classification techniques. In this paper, we propose a scheme to combine the Bit Vector (BV) algorithm with the Pruned Tuple Space Search (PTSS) algorithm. While both algorithms may not scale well for certain filter databases, they can be functionally complementary to each other. Thus, we design a novel combination based on the their characteristics. We evaluate the performance of our scheme with filter databases of varying sizes and characteristics. Our results show that our scheme has better feasibility and performance than the prominent existing schemes. We also present update procedures that utilize our data structures.. The rest of the paper is organized as follows. Section 2 addresses related work. Section 3 presents our scheme and data structure. Section 4 describes the procedures of incremental update. Section 5 explains the experimental setup and evaluates our scheme in detail. Section 6 concludes our work. In this paper, we present a hybrid algorithm of packet classification by combining tuple space search and bit vectors. This combination is based on the observation that both algorithms are functionally complementary to each other for certain filter databases. This observation motivates us to categorize the filters into two groups, one for tuple space search and the other for bit vectors. We develop an optimized algorithm to minimize the number of tuples for a predetermined storage of bit vectors. We use Pruned Tuple Space Search and Aggregate Bit Vector to accelerate the search procedure. We also present several update procedures that fully utilize our data structures to minimize the cost of filter insertion and deletion. Our experimental results show that our scheme could achieve a better balance between the tradeoff of speed and storage performance by keeping the storage requirement in a reasonable degree. Therefore, our scheme is suitable for network applications with numerous filters or multifunction network devices that integrate routers, firewalls and network intrusion detection systems. We believe that our scheme will remain up-to-date with new network applications due to its insensitivity to filter databases with different characteristics. We provide a brief discussion of the existing algorithms by dividing them into three categories according to their methods of data structure construction. The algorithms in the first category build their data structures by considering all the filters from the outset. Srinivasan et al. [2] introduced Cross-producting which uses best matching prefix lookups and a pre-computed table to combine the results of individual prefix lookups in each header field. Gupta and McKeown presented Recursive Flow Classification that does cross-producting recursively and can be viewed as a generalization of cross-producting [3] . The algorithms presented in [6] and [5] are based on decision trees that attempt Copyright c 2009 The Institute of Electronics, Information and Communication Engineers to divide the filters into multiple linear search buckets. The cut rules of filter categorization may either be a value [6] or a bit [5] of any field. HyperCuts [7] further improves the decision-trees-based algorithms by using multidimensional cut rules. Next, Extended Grid-of-Tries with Path Compression (EGT-PC), is evolved from Grid-of-Tries [2] to support filters with more than two fields [8] by using a series of linear searches. Another algorithm, Independent Sets (ISET), categorizes multidimensional filters according to the specifications of one field [9] . The filters in each independent set are mutually disjoint; hence, binary search is enough to search for the matching filter in each independent set.. In contrast to the first category, the algorithms of the second category classify the filters into different groups at the outset. This category consists of mainly tuple-based algorithms. These algorithms store the filters with an identical prefix length combination in a hash table [10] . The matching filters can be found by probing each hash table alternately. Each hash table is also known as a tuple, and tuple space search aims at searching for the matching filters among the tuples. Two well-known algorithms, Rectangle Search and Pruned Tuple Space Search, are designed to improve the performance of tuple space search [10] . Two subsequent algorithms in [11] and [12] further improve rectangle search by reducing the number of tuples. Another work, Entry Pruned Tuple Search [13] , enhances Pruned Tuple Space Search by storing pruning information of tuples containing non-conflicting filters in each filter in the form of a bit vector.. The third category includes hardware-based algorithms. There are two subcategories of hardware-based solutions, ternary content-addressable memories (TCAMs) and bit vectors. TCAMs compare search data against a table of stored data and return the address of the first matching data. Each TCAM cell stores an extra "Don't Care" state for arbitrary bit mask matches. Although TCAMs have been proven effective for packet classification [1] , their drawbacks include low density, high power dissipation and extra entries due to range-to-prefix transformation [8] , [14] . Moreover, TCAMs with a particular word width cannot be used when a flexible filter specification is required. Much effort has gone into improving the power and storage efficiency of TCAMs [1] . In the other subcategory, the Bit Vector (BV) algorithm performs d one-dimensional searches to derive d lists of filters which have at least one matching field. Combing these lists could further yield the matching filters. A later work, Aggregate Bit Vector [14] , shows a dramatic improvement in the speed performance of the BV algorithm.. We list time and space complexity of several algorithms in Table 1 as a summary. The algorithms based on decision trees [6] , [7] and cross-producting [2] , [3] have the best search performance, while PTSS [10] and ISET [9] have the least storage requirements. However, these algorithms do not scale well for large filter databases and sometimes a tradeoff between time and storage is inevitable. Therefore, we propose a new scheme in this paper to improve the storage efficiency of filter data structures as well as the scal- Time Space ability of packet classification.

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


A cognitive robotic ecology approach to self-configuring and evolving AAL systems Robotic ecologies are systems made out of several robotic devices, including mobile robots, wireless sensors and effectors embedded in everyday environments, where they cooperate to achieve complex tasks. This paper demonstrates how endowing robotic ecologies with information processing algorithms such as perception, learning, planning, and novelty detection can make these systems able to deliver modular, flexible, manageable and dependable Ambient Assisted Living (AAL) solutions. Specifically, we show how the integrated and self-organising cognitive solutions implemented within the EU project RUBICON (Robotic UBIquitous Cognitive Network) can reduce the need of costly pre-programming and maintenance of robotic ecologies. We illustrate how these solutions can be harnessed to (i) deliver a range of assistive services by coordinating the sensing & acting capabilities of heterogeneous devices, (ii) adapt and tune the overall behaviour of the ecology to the preferences and behaviour of its inhabitants, and also (iii) deal with novel events, due to the occurrence of new user's activities and changing user's habits. Current smart home solutions utilize sensors and microprocessors pervasively deployed throughout the home to collect information which is then exploited to perform useful tasks, as monitoring the daily activity, safety, health and security of the house occupants.. One of the key drivers of this type of solutions is the need to assist the ageing population, and address the associated social impact due to the increase on the cost of formal health care and the shortage of caregivers by delivering Ambient Assisted Living (AAL) services.. Notwithstanding its potential benefits to the user life style, such as allowing elderly persons to live independently in their own homes and postponing or perhaps even avoiding a potential move to a residential care facility, the technology is far from reaching widespread adoption by consumers. Commercial products are mostly limited to basic monitoring services and suffer from a low user's acceptance rate due to their poor reliability and still prohibitive costs, which often include installation, certification, testing, customization charges and monthly monitoring fees. The perceived value and trust in this type of solution can be seriously undermined and curbed by constant monitoring and by ill-advised or poorly- timed interventions, especially when they are based on preprogrammed models of user behaviour and/or by relying solely on knowledge that was imbued in the system at design time.. A key source of the complexity associated with effective smart environments in general is the inherent heterogeneity of the enduser population, their housing arrangements, their individual situations and requirements. On one hand, complete off-the-shelf systems that successfully addresses such disparate requirements are unlikely to materialise. On the other hand, customized solutions for individual circumstances do not have the ability to respond to the users' in-situ response or smoothly adapt to changing contexts and evolving users' needs, habits and preferences.. We argue that maximum gain will be attained only by factoring the need for evolution and adaptivity into the design and implementation of smart environments. These should not only be robust and easily maintainable, but must also be able to self-configure and even evolve to meet the requirements of individuals as their needs and circumstances change. Adaptation should be supported both in the way these systems adapt to circumstances in the physical world they inhabit, and in the modular way they combine existing approaches and use available components and computational resources.. The traditional devices found in a smart environment are being increasingly augmented by the rapid introduction of robots in homes. The service robot market, including domestic robots, is predicted to experience a ten-fold growth in the next 20 years (http://www.ifr. org/service-robots/statistics, 2014). Evidence of their role in domestic settings range from autonomous but specialized products, such as the Roomba vacuum cleaner (http://www.irobot.ie/Roomba,); to telepresence robotic healthcare solutions (e.g. Coradeschi et al., 2013) ; and to the networked robots being validated in the AAL domain (http://www.robot-era.eu/robotera,).. The view presented in this paper is that the increasing addition of networked devices, cheap robotic hardware, wireless sensors, actuators and other smart artefacts to our environment provides a powerful impetus for building assistive smart environments through a cognitive robotic approach. Specifically, Robotic Ecologies (Saffiotti and Broxvall, 2005) can provide complex services with their ability to acquire and apply knowledge about their environment, exploit the flexibility given by robots' mobility, and coordinate actions and information exchange between heterogeneous, and simple devices. Recent advancements developed within the EU project RUBICON (Robotic UBIquitous COgnitive Network http:// www.fp7rubicon.eu, 2014; ) make these system able to pro-actively assist the users in their activities by learning to adapt to changes in the environment and in users' habits.. The remainder of this paper is organized in the following manner: Section 2 discusses the benefits of a robotic ecology design. It also reviews relevant related work and outlines the challenges associated to build integrated systems and re-use many of the machine learning and artificial intelligence techniques already proposed in the literature. Section 3 outlines the architecture of the integrated system developed in RUBICON, before examining in detail each of its components. Section 4 illustrates how the interplay between these components can be harnessed to deliver a family of assistive services, while allowing to adapt to dynamic situations and also to newly discovered habits and user activities. To this end, we provide an exemplification of the cognitive ecology operation within a realworld case study. The case study is documented with supplemental material, attached to this paper, in the form of a video that captures all the key phases of our experiments. This paper has highlighted the challenges in endowing robotic ecologies with cognitive capabilities, and has illustrated the general principles underlying the construction of self-adaptive robotic ecologies.. We have shown how adaptive, and proactive system behaviour can be obtained by exploiting: (i) a learning infrastructure to extract meaning from noisy, imprecise and heterogeneous sensed data, (ii) cognitive reasoning capabilities to learn what service goals to pursue, and (iii) advanced planning solutions that are able to reason upon different objectives, resources, and dynamic situations. Furthermore, this paper has shown how the dynamic acquisition and modelling of new events can also be implemented as an interlayer cooperative process.. All our solutions have been purposefully designed to be as open, flexible and extensible as possible. Key components of our software suite can already be downloaded from our project website (http://www.fp7rubicon.eu, 2014).. These components can be applied, either in the fully integrated form presented in this paper, or by using only selected combinations, as we have shown in (Bacciu et al., 2014a) . This has the potential to drive the adaptation of many existing smart environment scenarios, and also to inform the development of similar integrated approaches.. However, more work is needed to improve the usability and manageability of this type of integrated solutions. Building actual AAL applications requires many researchers to program each part of the system using domain-specific languages and researchoriented software and tools, before systems prototypes can be evaluated. In addition, setting up each system still requires a degree of manual configuration, for instance, to identify narrow passages in the environment that must be considered as a single resource by the configuration planner. The issue of whether this configuration could also be automated, for instance, as part of autonomous exploration and mapping of the environment, is still an open research question. Its resolution would be an important step toward allowing fully autonomous systems able to adapt to the settings where they are installed.. Moreover, further work needs to be directed towards improving both the efficiency of these solutions and the user's experience when dealing with them, in order to enable us to carry out longterm evaluations with real users in their own homes. To this end, the interplay between the different components composing a cognitive robotic ecology provides flexible mechanisms, which can be used to define, at run-time, new learning requirements, and can adapt to changes in the settings of the ecology or to newly discovered situations and users' activities. These mechanisms may be used by both internal ecology components -as in our examples -as well as by external components, such as user interfaces. These may be used to provide feedback to the learning system, to drive its smooth adaptation to user preferences, but also to verify and possibly accelerate its ability to adapt to novel situations. The research question in this case is how to find ways for the human to meaningfully interact with an opaque system that sometime may incorporate concepts that do not correspond to recognizable activities. Future work should explore scenarios in which users and cognitive robotic ecologies collaborate and learn to exploit their different capabilities to their mutual benefit. Thanks to an adaptive, open and general purpose learning infrastructure and its innovative combination with online novelty detection functionalities, a RUBICON system can more easily adapt to evolving situations and achieve useful services that are not restricted to only those situations that are envisioned by their designer. Successful goals and novel events are absorbed into the cognitive model which shows an ability to evolve and grow to accommodate and account for new situations.. Such a process allows the system to be driven by using easily identifiable rules, while delegating, over time, symbolic reasoning to data-driven inference for the purpose of increasing flexibility, robustness and adaptation. This is a clear improvement on past solutions, which demanded for all context and goal rules to be specified a priori.. To the best of our knowledge, the integration approach discussed in this paper constitutes a novel way to design adaptive robotic ecologies by extending plan-based control mechanisms with a combination of machine learning methods for context recognition, and cognitive reasoning for goal deliberation and novelty detection.. A useful characteristic of such an integrated solution is its clear distinction between (i) events, i,e, the result of the activity and context recognition process performed by the Learning Layer on the basis of raw sensor data, (ii) goals, i.e. the result of the cognitive reasoning performed by the Cognitive Layer on the basis of the events originated by the Learning Layer, and (ii) plans describing the configuration and coordination strategies activated and supervised by the Control Layer to achieve the goals set by the Cognitive Layer.. Our implementation is an instance of such a modular design, whereas each component may be replaced with possible alternative implementations covering similar roles.. While it has been tested in a limited scenario, the two-layer interaction between the Learning and Cognitive layers implemented in RUBICON has shown a promising direction toward which to advance the results of past attempts that have integrated activity detection with pattern discovery functionalities in the same application domain. Compared to those methods, which were discussed in Section 2, our system has the ability to account for heterogeneous and noisy sensor data and can leverage a rich selection of both binary and non-binary sensors while performing online novelty detection and reasoning on context and automation patterns.. However, the goal of our work is not the classification of all users' behavioural patterns, but only those whose prompt detection can facilitate the robotic ecology in assisting its users. Indeed, as (Wan et al., 2014 ) also notes, seeking to recognize every possible activity can be overly complex, and may also be perceived by home occupants as unacceptably compromising to their privacy. The only activities of interest are those that the occupant undertakes which undermine their capability to function independently. The integration approach discussed in this paper shows Fig. 9 . Extract from the video attached as supplemental material, showing the task re-allocation between the two robots after the system has recognized the need to bring the pulsometer to the user. From top left, clockwise: robot 1 cleaning the kitchen (in the top right corner); robot 1 moving toward the living-room; robot-2 moving to the kitchen while the user collects the pulsometer from robot-1; robot-2 taking over the cleaning duty in the kitchen while the user uses the pulsometer. Fig. 10 . The final plan, which is refined by the scheduler to make sure that the robots will not have to traverse the narrow space between the wall and the wall at the same time (they both consume a resource of capacity one). a way to do just that, by starting from a system trained to recognize simple events, and by letting it learn, over time, to recognize and adapt to evolving situations. In this concern, the Incremental Learning mechanisms implemented in the Learning Layer (see Section 3.1) provide the RUBICON system with the ability to deal with environmental changes by allowing re-training on existing computational tasks, whenever a significant environmental change is identified by the Cognitive Layer.. Noticeably, the effect of this process is similar to what is achieved by approaches addressing the concept drift problem (Widmer and Kubat, 1996) in activity classification, as in (Kurz and Ferscha, 2010) . Concept drift addresses slow changes in the mapping between sensor signals and activity classes in the feature space. Usually, this is achieved by monitoring drift over time, and by triggering either (i) a re-calibration of the learning system (e.g., by adjusting the parameters of the classifier), or (ii) a complete retraining (by taking advantage of many repetitive occurrences of context in daily life). The solution implemented with the interaction between the Cognitive and the Learning layers described in Section 4.1 is an example of the latter. However, in our architecture the same approach is used both to account for changes in known activities corresponding to already trained learning module, and also for discovering new activities for which the learning system had not received supervised training information.. In addition, activity classification is a by-product of our approach: new events are internalized and detected by a distributed learning network. They may not exactly match with recognizable users' activities, but the outcome is a system that can successfully adapt to new user habits and changing user needs.. Supporting heterogeneous and distributed systems and varying computational constraints has been a cross-cutting concern addressed in each of the solutions described in this paper. This was an important requirement, which is not met by the centralized solutions traditionally used in smart environments, as robotic ecologies may contain devices such as computers with large processing and bandwidth capacities, as well as much simpler devices such as micro-controller-based actuators and sensor nodes, and even devices with no (customizable) computational capability at all, such as Radio Frequency Identifications (RFIDs). Sensor data in a cognitive robotic ecology is processed as much as possible locally on computational constrained and robotic devices. Information (e.g. goals) is extracted and exploited by the higher layers. These are equipped with bigger computational capabilities, which they exploit to deliberate and supervise the execution of complex tasks.. Our approach may inspire similar advancements in similar technical domains. In particular, the Robotic Ecology vision shares many similarities with the one pursued within the CSP and IoT communities: the ideal aim in all those fronts is that arbitrary combinations of devices should be able to be deployed in unstructured environments, such as those exemplified in a typical household, and therefore, efficiently cooperate to the achievement of complex tasks. A widespread solution in IoT system is to deploy high-level, rule-based reasoning modules on cloud-based infrastructures. However, systems that need to close the loop between analysis and control may find it useful to implement a similar approach to the one implemented in RUBICON, and combine highlevel, cloud-based system intelligence with data processing and learning functionalities deployed on each device.

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


Kernel Ellipsoidal Trimming Ellipsoid estimation is important in many practical areas such as control, system identification, visual/audio tracking, experimental design, data mining, robust statistics and statistical outlier or novelty detection. A new method, called Kernel Minimum Volume Covering Ellipsoid (KMVCE) estimation, that finds an ellipsoid in a kernel-defined feature space is presented. Although the method is very general and can be applied to many of the aforementioned problems, the main focus is on the problem of statistical novelty/outlier detection. A simple iterative algorithm based on Mahalanobis-type distances in the kernel-defined feature space is proposed for practical implementation. The probability that a non-outlier is misidentified by our algorithms is analysed using bounds based on Rademacher complexity. The KMVCE method performs very well on a set of real-life and simulated datasets, when compared with standard kernel-based novelty detection methods. Outlier/novelty detection is a problem that arises in many applications such as credit card fraud, weather prediction, image enhancement, loan approval, object detection and condition monitoring. Surveys of outlier detection in statistics are given by Barnett and Lewis (1994) and Hawkins (1980) . There is no precise definition of what outliers are but, intuitively, an outlier can be defined as an observation that deviates so much from other observations as to arouse suspicions that it was generated by a different mechanism (Hawkins, 1980) . The main focus of outlier detection in statistics is robust estimation of the parameters of the statistical model when the data contain outliers (Rousseeuw and Leroy, 1997; Hawkins, 1980; Barnett and Lewis, 1994; Croux et al., 2002; Woodward and Sain, 2003; Hardin and Rocke, 2004) .. In the activity known as novelty detection, the primary problem is not to detect outliers among the observations, all regarded as "normal", that are used to estimate the parameters of the statistical model, but rather to detect whether or not a single new measurement is "abnormal" or "anomalous" (Nairac et al., 1997) . Here and in the rest of the paper the adjective "normal" is used as antonym of "outlier" or "anomalous", and not as a synonym of "Gaussian".. Novelty detection is concerned with identifying data that are atypical for the given distribution (Tax and Duin, 1999; Schölkopf et al., 1998) . In a typical application in engine monitoring systems, estimation of the model is based on observations from normal operation since abnormal measurements are either very rare or simply not available for problems that have not occurred before. Once the parameters of the model have been estimated, the system monitors new data and reports either "normal pattern", if the observation conforms to the given/estimated distribution, or "abnormal pattern", if the observation appears to deviate significantly from the data used to estimate parameters of the model. A novelty detector must identify as "small" a normal region as possible while still reliably identifying data outside this region as abnormal. Whilst we cannot guarantee that data identified as normal are not misclassified, ensuring that the normal region is small guards against this possibility. In the context of misclassification of normal patterns as abnormal we present theoretical results bounding the probability that a normal observation is identified as abnormal.. In this paper, we develop the outlier detection approach based on calculation of the Minimum Volume Covering Ellipsoid (MVCE) (Titterington, 1978) . The MVCE must contain the entire dataset. When a new observation arrives a "novelty score" based on a Mahalanobis-type distance is used to assess whether or not the new point is an outlier. If that exceeds a pre-defined threshold the new observation is considered to be an outlier.. The problem of calculating the MVCE becomes extremely difficult in a multidimensional kernel-defined feature space (defined in Section 2) when the dimension of that space might be unknown or the matrix that defines the MVCE is singular, i.e. positive semi-definite rather than positive definite. In order to deal with singularity, the proposed KMVCE method finds a minimum volume ellipsoid and calculates Mahalanobis-type distances in a subspace of the kernel-defined feature space. If we use a (possibly nonlinear) mapping to define the kernel-defined feature space then the observed data lie inside the MVCE in this space. The boundary of the MVCE in the kernel-defined feature space defines an estimate of the support of the distribution of observations in the original space.. The paper is organized as follows. Kernel Principal Component Analysis is introduced in Section 2. Our approach to calculating the MVCE centered on the origin is given in Section 3. The calculation of the KMVCE with optimally chosen center based on a simple iterative algorithm is discussed in Section 4. We compare the performance of the one-class Support Vector Machine (SVM), the Linear Programming Novelty Detection algorithm (LPND) and the KMVCE method in Section 5 followed by conclusions and acknowledgements in Section 6. The probability that a non-outlier is misidentified by the KMVCE centered on the origin is analysed using bounds based on Rademacher complexity in Appendix. We have proposed a new and very general Kernel Minimum Volume Covering Ellipsoid method and have shown how it can be applied to outlier detection. For example, if we use a different form of regularization the method can be further developed to obtain D-optimal experimental designs for the kernel ridge regression model. We have demonstrated that it is not always necessary to specify an accurate estimate of the proportion of outliers in advance. We have proposed a very simple but effective iterative algorithm that can be used for both anomaly detection and optimal experimental design. The KMVCE method has demonstrated better or similar performance on the real-life condition monitoring problem compared to the one-class SVM method and the LPND method. For an appropriately chosen objective function the method of kernelisation proposed in this paper includes the Minimum Volume Covering Sphere as a special case and therefore it is also related to the one-class SVM model. The probability that a non-outlier is misidentified by the KMVCE is analyzed using bounds based on Rademacher complexity. In future work it would be interesting to see to what extend we can increase robustness of the proposed method using other methodologies to remove outliers. . Note that the Rademacher complexity measures the degree to which the function class can align with random labels, a concept that gives an intuitive measure of capacity.. We use E D to denote expectation with respect to a distribution D and E S for its empirical value on the sample S, assuming uniform sampling. The Rademacher complexity allows us to bound uniformly the expectations of the values of all functions in a function class based on the class complexity. We first quote a theorem giving some properties of Rademacher complexity (Shawe-Taylor and Cristianini, 2004). . Theorem 6 Fix δ ∈ (0, 1) and let F be a class of functions mapping from. be drawn independently according to a probability distribution D. Then, with probability at least 1 − δ over random draws of samples of size n, every f ∈ F satisfies. For the proof the reader is referred to Bartlett and Mendelson (2002) and Shawe-Taylor and Cristianini (2004) with the slight adaptation that the range is scaled from the standard [0, 1] to [0, A] . Application of the standard result to an appropriate scaling of the functions together with part (ii) of Theorem 5 gives the result. Theorem 6 gives a uniform bound on the difference between the empirical and true expectation of any function drawn from a class in terms of its Rademacher complexity.. Given a training set S, the class of functions that we will primarily be considering are linear functions f (x) = w, φ (x) with weights w of bounded norm:. where φ is the feature mapping corresponding to the kernel function κ and K is the corresponding kernel matrix for the sample S. The following result bounds the Rademacher complexity of this kind of linear function class.. Theorem 7 Bartlett and Mendelson (2002) . If κ : X×X → R is a kernel, and S = {x 1 , · · · , x n } is a random sample from X, then the empirical Rademacher complexity of the class F B satisfieŝ. The theorem shows that for linear functions the two factors that determine the Rademacher complexity are the trace of the kernel matrix and the bound on the norm of the weight vectors w. In the next subsection we show how the expected misclassification probability for normal observations can be bounded using an underlying linear function class in a kernel-defined feature space.

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


New results on rewrite-based satisfiability procedures Program analysis and verification require decision procedures to reason on theories of data structures. Many problems can be reduced to the satisfiability of sets of ground literals in theory T . If a sound and complete inference system for first-order logic is guaranteed to terminate on T -satisfiability problems, any theorem-proving strategy with that system and a fair search plan is a T -satisfiability procedure. We prove termination of a rewrite-based first-order engine on the theories of records, integer offsets, integer offsets modulo and lists. We give a modularity theorem stating sufficient conditions for termination on a combinations of theories, given termination on each. The above theories, as well as others, satisfy these conditions. We introduce several sets of benchmarks on these theories and their combinations, including both parametric synthetic benchmarks to test scalability, and real-world problems to test performances on huge sets of literals. We compare the rewrite-based theorem prover E with the validity checkers CVC and CVC Lite. Contrary to the folklore that a general-purpose prover cannot compete with reasoners with built-in theories, the experiments are overall favorable to the theorem prover, showing that not only the rewriting approach is elegant and conceptually simple, but has important practical implications. Decision procedures for satisfiability in theories of data types, such as arrays, lists and records, are at the core of many state-of-the-art verification tools (e.g., PVS. Research supported in part by MIUR grant no. 2003-097383. First author's address: Viale Causa 13, 16145 Genova, Italy, armando@dist.unige.it. Second and fourth authors' address: Strada Le Grazie 15, 37134 Verona, Italy, mariapaola.bonacina@univr.it, schulz@eprover.org. Third author's address: 615 Rue Du Jardin Botanique, B.P. 101, 54600 Villers-lès-Nancy, France, silvio.ranise@loria.fr. Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior specific permission and/or a fee. c 20YY ACM 1529-3785/20YY/0700-0001 $5.00 [Owre et al. 1992] , ACL2 [Kaufmann et al. 2000] , Simplify , CVC [Barrett et al. 2000 ], ICS [de Moura et al. 2004] , CVC Lite [Barrett and Berezin 2004] , Zap [Lahiri and Musuvathi 2005a] , MathSAT , Yices [Dutertre and de Moura 2006] and Barcelogic [Nieuwenhuis and Oliveras 2007] ). The design, proof of correctness, and implementation of satisfiability procedures 1 present several issues, that have brought them to the forefront of research in automated reasoning applied to verification.. First, most verification problems involve more than one theory, so that one needs procedures for combinations of theories, such as those pioneered by [Nelson and Oppen 1979] and [Shostak 1984] . Combination is complicated: for instance, understanding, formalizing and proving correct Shostak's method required much work (e.g., Rueß and Shankar 2001; Barrett et al. 2002b; Ganzinger 2002; Ranise et al. 2004] ). The need for combination of theories means that decision procedures ought to be easy to modify, extend, integrate into, or at least interface, with other decision procedures or more general systems. Second, satisfiability procedures need to be proved correct and complete: a key part is to show that whenever the algorithm reports satisfiable, a model of the input does exist. Model-construction arguments for concrete procedures are specialized for those, so that each new procedure requires a new proof. Frameworks that offer a higher level of abstraction (e.g., [Bachmair et al. 2003 ; Ganzinger 2002] ) often focus on combining the quantifier-free theory of equality 2 , with at most one additional theory, while problems from applications, and existing systems, combine many. Third, although systems begin to offer some support for adding theories, developers usually have to write a large amount of new code for each procedure, with little software reuse and high risk of errors.. If one could use first-order theorem-proving strategies, combination would become conceptually much simpler, because combining theories would amount to giving as input to the strategy the union of the presentations of the theories. No ad hoc correctness and completeness proofs would be needed, because a sound and complete theorem-proving strategy is a semi-decision procedure for unsatisfiability. Existing first-order provers, that embody the results of years of research on data structures and algorithms for deduction, could be applied, or at least their code could be reused, offering a higher degree of assurance about soundness and completeness of the procedure. Furthermore, theorem-proving strategies support proof generation and model generation, that are two more desiderata of satisfiability procedures (e.g., [Necula and Lee 1998; Lahiri and Musuvathi 2005a] ), in a theory-independent way. Indeed, if the input is unsatisfiable, the strategy generates a proof with no additional effort. If it is satisfiable, the strategy generates a saturated set, that, if finite, may form a basis for model generation [Caferra et al. 2004] . The application of automated reasoning to verification has long shown the importance of decision procedures for satisfiability in decidable theories. The most common approach to these procedures, popularized as the "little" proof engines paradigm [Shankar 2002] , works by building each theory T into a dedicated inference engine. For T -satisfiability procedures, that decide conjunctions of ground T -literals, the mainstay is the congruence closure algorithm, enhanced by building T into the algorithm (e.g., [Nelson and Oppen 1980; Stump et al. 2001; Lahiri and Musuvathi 2005b; Dutertre and de Moura 2006; Nieuwenhuis and Oliveras 2007] ). Such procedures are combined according to the scheme of [Nelson and Oppen 1979] or its variants (e.g., [Tinelli and Harandi 1996; Barrett et al. 2002b; Ganzinger 2002; Ghilardi 2004; Baader and Ghilardi 2005; Ranise et al. 2005] ). Recent systematic treatments appeared in Manna and Zarba 2003; Conchon and Krstić 2003; Ranise et al. 2004; Ghilardi et al. 2005] .. For T -decision procedures, that decide arbitrary quantifier-free T -formulae, the so-called "eager" approaches seek efficient reductions of the problems to SAT and This exploration finds its historical roots in the relationship between congruence closure and Knuth-Bendix completion [Knuth and Bendix 1970] in the ground case: the application of ground completion to compute congruence closure was discovered as early as [Lankford 1975 ]; the usage of congruence closure to generate canonical rewrite systems from sets of ground equations was investigated further in [Gallier et al. 1993; Plaisted and Sattler-Klein 1996] ; more recently, a comparison of ground completion and congruence closure algorithms was given in [Bachmair et al. 2003 ]; and ground completion and congruence closure were included in an abstract framework for canonical inference in [Bonacina and Dershowitz 2007] . The central component of the rewriting approach is the inference system SP, that is an offspring of a long series of studies on completion for first-order logic with equality. These systems were called by various authors rewrite-based, completion-based, superposition-based, paramodulation-based, contraction-based, saturation-based or ordering-based , to emphasize one aspect or the other. Relevant surveys include [Plaisted 1993; Bonacina 1999; Nieuwenhuis and Rubio 2001; Dershowitz and Plaisted 2001] .. The gist of the rewriting approach to T -satisfiability is to show that a sound and refutationally complete "big" engine, such as SP, is guaranteed to generate finitely many clauses from T -satisfiability problems. By adding termination to soundness and completeness, one gets a decision procedure: an SP-strategy that combines SP with a fair search plan is a T -satisfiability procedure. Depending on the theory, termination may require some problem transformation, termed T -reduction, which is fully mechanizable for all the theories we have studied. We emphasize that the inference system is not adapted to the theories. The only requirement is on the ordering: SP is parametric with respect to a CSO, and the termination proof for T may require that this ordering satisfies some property named T -goodness. For all considered theories, T -goodness is very simple and easily satisfied by common · 43 orderings such as RPO's and KBO's.. We proved termination of SP on several new theories, including one with infinite axiomatization 15 . We gave a general modularity theorem for the combination of theories, and carried out an experimental evaluation, to test the pratical feasibility of the rewriting approach. The modularity theorem states sufficient conditions (no shared function symbols, variable-inactive theories) for SP to terminate on a combination of theories if it terminates on each theory separately. The "no shared function symbols" hypothesis is common for combination results. Variableinactivity is satisfied by all equational theories with no trivial models. First-order theories that fail to be variable-inactive in an intuitive way are not stably infinite, and therefore cannot be combined by the Nelson-Oppen scheme either. On the other hand, it follows from work in ] that variable-inactive theories are stably infinite. The quantifier-free theories of equality, lists, arrays with or without extensionality, records with or without extensionality, integer offsets and integer offsets modulo, all satisfy these requirements, so that any fair SP-strategy is a satisfiability procedure for any of their combinations. The theories of arrays and possibly empty lists are not convex, and therefore cannot be combined by the Nelson-Oppen scheme without case analysis.. A different approach to big engines in the context of theory reasoning, and especially combination of theories, appeared in [Ganzinger et al. 2006] : the combination or extension of theories is conceived as mixing total and partial functions, and a new inference system with partial superposition is introduced to handle them. Because the underlying notion of validity is modified to accomodate partial functions, the emphasis of [Ganzinger et al. 2006 ] is on defining the new inference system and proving its completeness. The realization of such an approach requires to implement the new inference system. The essence of our methodology, on the other hand, is to leave the inference system and its completeness proof unchanged, and prove termination to get decision procedures. This allows us to take existing theorem provers "off the shelf.". For the experimental evaluation, we designed six sets of synthetic benchmarks on the theory of arrays with extensionality and combinations of the theories of arrays, records and integer offsets or integer offsets modulo. For "real-world problems," we considered satisfiability benchmarks extracted from the UCLID suite. Our experimental comparison between the SP-based E prover and the validity checkers CVC and CVC Lite is a first of its kind, and offers many elements for reflection and suggestions for future research.. The analysis of the traces of the theorem prover showed that these satisfiability problems behave very differently compared to more typical theorem-proving problems. Classical proof tasks involve a fairly large set of axioms, a rich signature, many universally quantified variables, many unit clauses usable as rewrite rules and many mixed positive/negative literal clauses. The search space is typically infinite, and only a very small part of it gets explored. In T -satisfiability problems, input presentations are usually very small and there is a large number of ground rewrite rules generated by flattening. The search space is finite, but nearly all of it has to be explored, before unsatisfiability (validity) can be shown. Table I compares the behavior of E on some medium-difficulty unsatisfiable array problems and some representative TPTP problems of similar difficulty for the prover. The data are for E in automatic mode. STORECOMM(60)/1 is one of the problems in STORECOMM(n) for n = 60, STOREINV(5) is STOREINV(n) for n = 5 and SWAP(8)/3 is one of the problems in SWAP(n) for n = 8. The others are representative problems from TPTP 3.0.0. The sum of processed and remaining clauses may be smaller than the sum of initial and generated clauses, because E removes newly generated trivial clauses, as well as unprocessed clauses whose parents become redundant, without counting them as processed. The final column shows the percentage of all inferences (expansion and contraction) that did not contribute to the final proof. Most search plans and features of first-order provers were designed assuming the search space characteristics of typical first-order problems. Thus, the theorem prover turned out to be competitive with the little-engines systems, although it was optimized for different search problems. This means that not only is using a theorem prover already a viable option in practice, but there is a clear potential to improve both performance and usability, by studying implementation techniques of first-order inferences that target T -satisfiability, by designing theory-specific search plans, and by equipping the prover with the ability to recognize which theories appear in the input set. The prover also terminated in many cases beyond the known termination results (cf. Figure 6 and the runs with E(std-kbo), whose ordering is not A-good). Thus, theorem provers are not as brittle as one may fear with respect to termination, and still offer the flexibility of adding useful lemmata to the presentation, as shown in Section 6.2.. The above remarks suggest that stronger termination results may be sought. The complexity of the rewrite-based procedures may be improved by adopting theoryspecific search plans. Methods to extract models from saturated sets can be investigated to complement proof finding with model generation, which is important for applications. For instance, in verification, a model represents a counter-example to a conjecture of correctness of a system. The ability to generate models marks the difference between being able to tell that there are errors (by reporting "satisfiable"), and being able to give some information on the errors (by reporting "satisfiable" and a model). Since we do not expect the rewrite-based approach to work for full linear arithmetic, another quest is how to integrate it with methods for arithmetic or other theories such as bit-vectors . Research on integration with the latter theory began in [Kirchner et al. 2005] .. Most verification problems involve arbitrary quantifier-free T -formulae, or, equivalently, sets of ground T -clauses. Thus, a major open issue is how to apply big engines towards solving general T -decision problems. Since SP is an inference system for general first-order clauses, a set of ground T -clauses may be submitted to an SP-based prover. Showing that an SP-strategy is a T -decision procedure requires extending the termination results from sets of ground literals to sets of ground clauses. Sufficient conditions for termination of SP on T -decision problems were given recently in [Bonacina and Echenim 2007a] . However, verification problems of practical interest typically yield large sets with huge non-unit clauses, and first-order provers are not designed to deal with large disjunctions as efficiently as SAT solvers.. In practice, a more plausible approach could be to follow a simple "lazy" scheme (e.g., Flanagan et al. 2003 ]), and integrate a rewrite-based Tsatisfiability procedure with a SAT solver that generates assignments. The rewritebased T -solver produces a proof, whenever it detects unsatisfiability, and can be made incremental to interact with the SAT solver according to the "lazy" scheme. However, the state of the art in SMT solvers indicates that a tight integration of the two solvers is required to achieve high performances. SAT solvers are based on case analysis by backtracking, whereas rewrite-based inference engines are proofconfluent, which means they need no backtracking. While proof confluence is an advantage in first-order theorem proving, this dissimilarity means that a tight integration of SAT solver and rewrite-based T -solver requires to address the issues posed by the interplay of two very different kinds of control.. In current work we are taking a diffrent route: we are exploring ways to decompose T -decision problems, in such a way that the big engine acts as a pre-processor for an SMT solver, doing as much theory reasoning as possible in the pre-processing phase. In this way we hope to combine the strength of a prover, such as E, in equational reasoning with that of an SMT solver in case analysis. Even more general problems require to reason with universally quantified variables, that SMT solvers handle only by heuristics, following the historical lead of . In summary, big engines are strong at reasoning with equalities, universally quantified variables and Horn clauses. Little engines are strong at reasoning with propositional logic, non-Horn clauses and arithmetic. The reasoning environments of the future will have to harmonize their forces. Most termination results for theorem-proving methods are based on identifying generic syntactic constraints that the input must satisfy to induce termination (e.g., [Fermüller et al. 2001; Caferra et al. 2004] for two overviews). Our results are different, because they apply to specific theories, and in this respect they can be considered of a more semantic nature. There are a few other recent works that experiment with the application of first-order theorem provers to decidable theories of data structures. A proof of correctness of a basic Unix-style file system implementation was obtained in [Arkoudas et al. 2004] , by having a proof checker invoke the SPASS and Vampire [Riazanov and Voronkov 2002] provers for non-inductive reasoning on lists and arrays, on the basis of their first-order presentations. The haRVey system ] is a verification tool based on the rewriting approach that we propound in this paper. It integrates the E prover with a SAT solver, based on ordered binary decision diagrams, to implement decision procedures for a few theories. Experiments with haRVey offered additional evidence of the effectiveness of the rewriting approach .. The collection of theories considered here is different from that treated in [Armando et al. 2003 ]. Listsà la Shostak (with cons, car, cdr and three axioms) and listsà la Nelson-Oppen (with cons, car, cdr, atom and four axioms) were covered in [Armando et al. 2003 ]. Both axiomatize non-empty lists, since there is no symbol such as nil to represent the empty list. Here we consider a different presentation, with cons, car, cdr, nil and six axioms, that allows for empty lists. In an approach where the axioms are given in input to a theorem prover, a different presentation represents a different problem, because termination on satisfiability problems including a presentation does not imply termination on satisfiability problems including another presentation. To wit, the finite saturated sets generated by SP are different (cf. Lemma 11 in this article with Lemmata 4.1 and 5.1 in [Armando whether T |= ∀x C, where C is a Horn T -clause, and the clausal validity problem, or the problem of deciding whether T |= ∀x C, where C is a T -clause, all reduce, through skolemization, to deciding the unsatisfiability of a set of ground literals, since all variables are universally quantified.. The traditional approach to T -satisfiability is that of "little" engines of proofs (e.g., [Shankar 2002] ), which consists of building each theory into a dedicated inference engine. Since the theory is built into the engine, the input of the procedure consists of S only. The most basic example is that of congruence closure algorithms for satisfiability of sets of ground equalities and inequalities (e.g., [Shostak 1978; Nelson and Oppen 1980; Downey et al. 1980; Bachmair et al. 2003]) 8 . Theories are built into the congruence closure algorithm by generating the necessary instances of the axioms (see [Nelson and Oppen 1980] for non-empty lists) or by adding preprocessing with respect to the axioms and suitable case analyses (see [Stump et al. 2001] for arrays with extensionality). Theories are combined by using the method of [Nelson and Oppen 1979] . Two properties relevant to this method are convexity and stable infiniteness:. In other words, if n i=1 P i is true in all models of T ∪ H, there exists a P j that is true in all models of T ∪ H. This excludes the situation where all models of T ∪ H satisfy some P j , but no P j is satisfied by all. Since Horn theories are those theories whose models are closed under intersection -a fact due to Alfred Horn [Horn 1951, Lemma 7] -it follows that Horn theories, hence equational theories, are convex. The method of Nelson-Oppen without case analysis (also known as "branching" or "splitting") is complete for combinations where all theories are convex (e.g., [Nelson and Oppen 1979; Barrett et al. 2002b; Ganzinger 2002] ). The method of NelsonOppen with case analysis is complete for combinations where all involved theories are stably infinite [Tinelli and Harandi 1996] : Definition 2. A theory Th T is stably infinite, if for any quantifier-free Tformula ϕ, ϕ has a T -model if and only if it has an infinite T -model.. When combining the quantifier-free theory of equality with only one other theory, the requirement of stable infiniteness can be dropped [Ganzinger 2002] . For firstorder logic, compactness implies that if a set of formulae has models with domains of arbitrarily large finite cardinality, then it has models with infinite domains (e.g., [van Dalen 1989] for a proof). Thus, for T a first-order presentation, and ϕ a quantifier-free T -formula, if ϕ has arbitrarily large finite T -models, it has infinite T -models; or, equivalently, if it has no infinite T -model, there is a finite bound on the size of its T -models.. 9 Using this property, one proves (cf. Theorem 4 in [Barrett et al. 2002b] The synthetic benchmarks of Section 5 were submitted to three systems: E 0.82, CVC 1.0a and CVC Lite 1.1.0. The prover E implements (a variant of) SP with a large choice of fair search plans, based on the "given-clause" algorithm [Schulz 2002; , that ensure that the empty clause will be found, if the input is unsatisfiable, and a finite satisfiable saturated set will be generated, if the input set is satisfiable and admits one. CVC and CVC Lite [Barrett and Berezin 2004] combine several theory decision procedures following the Nelson-Oppen method, including that of [Stump et al. 2001] for arrays with extensionality, and integrate them with a SAT engine . CVC is no longer supported; it was superseded by CVC Lite, a more modular and programmable system. While CVC Lite has many advantages, at the time of these experiments CVC was reported to be still faster on many problems. CVC and CVC Lite feature a choice of SAT solvers: a built-in solver or Chaff for CVC, a "fast" or a "simple" solver for CVC Lite. In our experiments, CVC and CVC Lite performed consistently better with their built-in and "fast" solver, respectively, and therefore only those results are reported. We wrote a generator of pseudo-random instances of the synthetic benchmarks, producing either TPTP 11 or CVC syntax, and a set of scripts to run the solvers on all benchmarks. The generator creates either T -reduced, flattened input files or plain input files. Flattening times were not included in the reported run times, because flattening is a one-time linear time operation, and the time spent on flattening was insignificant. In the following, native input means flattened, T -reduced files for E, and plain, unflattened files for CVC and CVC Lite.. The experiments were performed on a 3.00GHz Pentium 4 PC with 512MB RAM. Time and memory were limited to 150 sec and 256 MB per instance. If a system ran out of either time or memory under these limits, the result was recorded as a "failure." When P b(n) is not a singleton (cf. STORECOMM(n), STORECOMM INVALID(n), SWAP(n) and SWAP INVALID(n)), the median run time over all tested instances is reported.. 12 For the purpose of computing the median, a failure is considered to be larger than all successful run times. The median was chosen in place of the average, precisely because it is well-defined even in cases where a system fails on some, but not all instances of a given size, a situation that occurred for all systems.. 11 TPTP, or "Thousands of Problems for Theorem Provers" is a de facto standard for testing general-purpose first-order theorem provers: see http://www.tptp.org/. 12 Reported figures refer to runs with 9 instances for every value of n. Different numbers of instances (e.g., 5, 20) were also tried, but the impact on the plots was negligible.

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