A type system for certified binaries A certified binary is a value together with a proof that the value satisfies a given specification. Existing compilers that generate certified code have focused on simple memory and control-flow safety rather than more advanced properties. In this paper, we present a general framework for explicitly representing complex propositions and proofs in typed intermediate and assembly languages. The new framework allows us to reason about certified programs that involve effects while still maintaining decidable typechecking. We show how to integrate an entire proof system (the calculus of inductive constructions) into a compiler intermediate language and how the intermediate language can undergo complex transformations (CPS and closure conversion) while preserving proofs represented in the type system. Our work provides a foundation for the process of automatically generating certified binaries in a typetheoretic framework. Proof-carrying code (PCC), as pioneered by Necula and Lee [30, 28] , allows a code producer to provide a machine-language program to a host, along with a formal proof of its safety. The proof can be mechanically checked by the host; the producer need not be trusted because a valid proof is incontrovertible evidence of safety.. The PCC framework is general because it can be applied to certify arbitrary data objects with complex specifications [29, 2] . For example, the Foundational PCC system [3] can certify any property expressible in Church's higher-order logic. Harper et al. [19, 7] call all these proof-carrying constructs certified binaries (or deliverables [7] ). A certified binary is a value (which can be a function, a data structure, or a combination of both) together with a proof that the value satisfies a given specification.. Unfortunately, little is known on how to construct or generate certified binaries. Existing certifying compilers [31, 9] have focused on simple memory and control-flow safety only. Typed intermediate languages [21] and typed assembly languages [27] are effective techniques for automatically generating certified code; how-Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. POPL '02, Jan. [16] [17] [18] 2002 Portland, OR, USA c 2002 ACM ISBN 1-58113-450-9/02/01...$5.00 ever, none of these type systems can rival the expressiveness of the actual higher-order logic as used in some PCC systems [3] .. In this paper, we present a type-theoretic framework for constructing, composing, and reasoning about certified binaries. Our plan is to use the formulae-as-types principle [23] to represent propositions and proofs in a general type system, and then to investigate their relationship with compiler intermediate and assembly languages. We show how to integrate an entire proof system (the calculus of inductive constructions [34, 11] ) into an intermediate language, and how to define complex transformations (CPS and closure conversion) of programs in this language so that they preserve proofs represented in the type system. Our paper builds upon a large body of previous work in the logic and theorem-proving community (see Barendregt et al . [5, 4] for a good summary), and makes the following new contributions:. • We show how to design new typed intermediate languages that are capable of representing and manipulating propositions and proofs. In particular, we show how to maintain decidability of typechecking when reasoning about certified programs that involve effects. This is different from the work done in the logic community which focuses on strongly normalizing (primitive recursive) programs.. • We maintain a phase distinction between compile-time typechecking and run-time evaluation. This property is often lost in the presence of dependent types (which are necessary for representing proofs in predicate logic). We achieve this by never having the type language (see Section 3) dependent on the computation language (see Section 4) . Proofs are instead always represented at the type level using dependent kinds.. • We show how to use propositions to express program invariants and how to use proofs to serve as static capabilities. Following Xi and Pfenning [44] , we use singleton types [22] to support the necessary interaction between the type and computation languages. We can assign an accurate type to unchecked vector (or array) access (see Section 4.2). Xi and Pfenning [44] can achieve the same using constraint checking, but their system does not support arbitrary propositions and (explicit) proofs, so it is less general than ours.. • We use a single type language to typecheck different compiler intermediate languages. This is crucial because it is impractical to have separate proof libraries for each intermediate language. We achieve this by using inductive definitions to define all types used to classify computation terms. This in turn nicely fits our work on (fully reflexive) intensional type analysis [39] into a single system.. • We show how to perform CPS and closure conversion on our intermediate languages while still preserving proofs repre-sented in the type system. Existing algorithms [27, 20, 25, 6] all require that the transformation be performed on the entire type language. This is impractical because proofs are large in size; transforming them can alter their meanings and break the sharing among different languages. We present new techniques that completely solve these problems (Sections 5-6).. • Our type language is a variant of the calculus of inductive constructions [34, 11] . Following Werner [41] , we give rigorous proofs for its meta-theoretic properties (subject reduction, strong normalization, confluence, and consistency of the underlying logic). We also give the soundness proof for our sample computation language. See Sections 3-4, the appendix, and the companion technical report [37] for details.. As far as we know, our work is the first comprehensive study on how to incorporate higher-order predicate logic (with inductive terms and predicates) into typed intermediate languages. Our results are significant because they open up many new exciting possibilities in the area of type-based language design and compilation. The fact that we can internalize a very expressive logic into our type system means that formal reasoning traditionally done at the meta level can now be expressed inside the actual language itself. For example, much of the past work on program verification using Hoare-like logics may now be captured and made explicit in a typed intermediate language.. From the standpoint of type-based language design, recent work [21, 44, 13, 15, 40, 39] has produced many specialized, increasingly complex type systems, each with its own metatheoretical proofs, yet it is unclear how they will fit together. We can hope to replace them with one very general type system whose meta theory is proved once and for all, and that allows the definition of specialized type operators via the general mechanism of inductive definitions. For example, inductive definitions subsume and generalize earlier systems on intensional type analysis [21, 14, 39] .. We have started implementing our new type system in the FLINT compiler [35, 36] , but making the implementation realistic still involves solving many remaining problems (e.g., efficient proof representations). Nevertheless, we believe our current contributions constitute a significant step toward the goal of providing a practical end-to-end compiler that generates certified binaries. We presented a general framework for explicitly representing propositions and proofs in typed intermediate or assembly languages. We showed how to integrate an entire proof system into our type language and how to perform CPS and closure conversion while still preserving proofs represented in the type system. Our work is a first step toward the goal of building realistic infrastructure for certified programming and certifying compilation.. Our type system is fairly concise and simple with respect to the number of syntactic constructs, yet it is powerful enough to express all the propositions and proofs in the higher-order predicate logic (extended with induction principles). In the future, we would like to use our type system to express advanced program invariants such as those involved in low-level mutable recursive data structures.. Our type language is not designed around any particular programming language. We can use it to typecheck as many different computation languages as we like; all we need is to define the corresponding Ω kind as an inductive definition. We hope to evolve our framework into a realistic typed common intermediate format. Our type language is a variant of the calculus of constructions [11] extended with inductive definitions (with both small and large elimination) [34, 41] . We omitted parameterized inductive kinds and dependent large elimination to simplify our presentation, however, all our meta-theoretic proofs carry over to a language that includes them. We support η-reduction in our language while the official Coq system does not. The proofs for the properties of TL are adapted from Geuvers [17] and Werner [41] (which in turn borrows ideas from Altenkirch [1] ); the main difference is that our language has kind-schema variables and a new product formation rule (Ext, Kind) which are not in Werner's system.. The Coq proof assistant provides support for extracting programs from proofs [34] . It separates propositions and sets into two distinct universes Prop and Set. We do not distinguish between them because we are not aiming to extract programs from our proofs, instead, we are using proofs as specifications for our computation terms.. Burstall and McKinna [7] proposed the notion of deliverables, which is essentially the same as our notion of certified binaries. They use dependent strong sums to model each deliverable and give its categorical semantics. Their work does not support programs with effects and has all the problems mentioned in Section 2.3.. Xi and Pfenning's DML [44] is the first language that nicely combines dependent types with programs that may involve effects. Our ideas of using singleton types and lifting the level of the proof language are directly inspired by their work. Xi's system, however, does not support arbitrary propositions and explicit proofs. It also does not define the Ω kind as an inductive definition so it is unclear how it interacts with intensional type analysis [39] and how it preserves proofs during compilation.. We have discussed the relationship between our work and those on PCC, typed assembly languages, and intensional type analysis in Section 1. Inductive definitions subsume and generalize earlier systems on intensional type analysis [21, 14, 39] ; the type-analysis construct in the computation language can be eliminated using the technique proposed by Crary et al. [16] .. Concurrently with our work, Crary and Vanderwaart [12] recently proposed a system called LTT which also aims at adding explicit proofs to typed intermediate languages. LTT uses Linear LF [8] as its proof language. It shares some similarities with our system in that both are using singleton types [44] to circumvent the problems of dependent types. However, since LF does not have inductive definitions and the Elim construct, it is unclear how LTT can support intensional type analysis and type-level primitive recursive functions [15] . In fact, to define Ω as an inductive kind [39] , LTT would have to add proof-kind variables and proof-kind polymorphism, which could significantly complicate the meta-theory of its proof language. LTT requires different type languages for different intermediate languages; it is unclear whether it can preserve proofs during CPS and closure conversion. The power of linear reasoning in LTT is desirable for tracking ephemeral properties that hold only for certain program states; we are working on adding such support into our framework.

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


An

exact

algorithm

for

the

single-machine

total

weighted

tardiness

problem

with

sequence-dependent

setup

times

This

study

proposes

an

exact

algorithm

for

the

single-machine

total

weighted

tardiness

problem

with

sequence-dependent

setup

times.

The

algorithm

is

an

extension

of

the

authors'

previous

algorithm

for

the

single-machine

scheduling

problem

without

setup

times,

which

is

based

on

the

SSDP

(Successive

Sublimation

Dynamic

Programming)

method.

In

the

first

stage

of

the

algorithm,

the

conjugate

subgradient

algorithm

or

the

column

generation

algorithm

is

applied

to

a

Lagrangian

relaxation

of

the

original

problem

to

adjust

multipliers.

Then,

in

the

second

stage,

constraints

are

successively

added

to

the

relaxation

until

the

gap

between

lower

and

upper

bounds

becomes

zero.

The

relaxation

is

solved

by

dynamic

programming

and

unnecessary

dynamic

programming

states

are

eliminated

to

suppress

the

increase

of

computation

time

and

memory

space.

In

this

study

a

branching

scheme

is

integrated

into

the

algorithm

to

manage

to

solve

hard

instances.

The

proposed

algorithm

is

applied

to

benchmark

instances

in

the

literature

and

almost

all

of

them

are

optimally

solved.

This

study

is

devoted

to

the

single-machine

total

weighted

tardiness

problem

with

sequence-dependent

setup

times.

In

practical

production

systems

it

is

often

the

case

that

setup

times

are

incurred

when

a

machine

starts

processing

a

job.

It

is

also

the

case

that

they

differ

in

accordance

with

the

job

finished

just

before

it.

Such

setup

times

are

called

sequence-dependent

Our

problem

is

to

minimize

total

weighted

tardiness

on

a

single

machine

under

the

existence

of

sequencedependent

setup

times.

According

to

the

standard

classification

of

scheduling

problems,

this

problem

is

denoted

by

i

j

w

i

T

i

For

i

j

w

i

T

i

or,

its

unweighted

version

i

j

T

i

there

are

many

studies

on

metaheuristics

such

as

GA

(Genetic

Algorithm),

SA

(Simulated

Annealing),

TS

(Tabu

Search),

ACO

(Ant

Colony

Optimization),

PSO

(Particle

Swarm

Optimization),

DE

(Differential

Evolution

Algorithm),

GRASP

(Greedy

Randomized

Adaptive

Search

Procedure),

VNS

(Variable

Neighborhood

Search)

and

so

on

In

recent

studies,

effectiveness

of

algorithms

for

i

j

w

i

T

i

is

evaluated

by

benchmark

instances

with

jobs,

which

were

generated

by

Cicirello

Best

solutions

of

the

instances

have

been

updated

by

several

researchers

and

the

latest

are

summarized

in

For

i

j

T

i

the

benchmark

instances

with

and

jobs

by

Rubin

and

Ragatz

and

those

with

and

jobs

by

Gagné

et

al.

play

the

same

role..

There

are

also

some

studies

on

exact

algorithms

for

i

j

T

i

for

the

unweighted

earliness-tardiness

problem

with

a

common

duedate

i

j

d

i

d|

∑(Ei

T

i

for

the

weighted

earliness-tardiness

problem

with

distinct

duedates

i

j

∑(Ei

T

i

and

for

the

maximum

tardiness

problem

Among

them,

Bigras

et

al.

succeeded

in

solving

instances

of

i

j

T

i

with

up

to

jobs,

but

it

took

more

than

days

for

the

hardest

instance.

Moreover,

there

has

been

no

attempts

so

far

to

solve

i

j

w

i

T

i

optimally.

Therefore,

it

is

quite

a

challenging

theme

to

solve

this

NP-hard

combinatorial

optimization

problem..

This

study

proposes

an

exact

algorithm

for

i

j

w

i

T

i

It

is

derived

from

the

authors'

previous

ones

for

single-machine

scheduling

without

setup

times.

These

algorithms

are

based

on

the

SSDP

(Successive

Sublimation

Dynamic

Programming)

method

In

it

was

shown

that

this

framework

is

so

effective

that

instances

with

jobs

of

the

total

weighted

tardiness

problem

w

i

T

i

can

be

solved

optimally.

However,

the

framework

is

not

so

efficient

for

i

j

w

i

T

i

as

for

the

problems

in

because

a

tight

lower

bound

is

harder

to

obtain

due

to

the

existence

of

sequence-dependent

setup

times.

Therefore,

a

branching

scheme

is

integrated

into

it

to

suppress

memory

usage,

which

is

the

bottleneck

of

the

framework.

It

will

be

demonstrated

that

this

algorithm

can

solve

all

the

i

j

w

i

T

i

instances

by

Cicirello,

all

the

i

j

T

i

instances

by

Rubin

and

Ragatz,

and

almost

all

of

the

i

j

T

i

instances

by

Gagné

et

al.

Although

it

is

still

time-consuming

to

solve

some

instances,

the

optimal

objective

values

enable

us

an

absolute

(and

not

relative)

performance

evaluation

of

the

existing

and

developing

metaheuristic

approaches..

The

remainder

of

this

paper

is

organized

as

follows.

In

Section

the

problem

is

formulated

as

a

constrained

shortest

path

problem.

Next,

in

Section

an

exact

algorithm

is

constructed

based

on

our

previous

ones,

and

in

Section

it

is

applied

to

the

i

j

w

i

T

i

instances.

Then,

in

Section

the

algorithm

is

improved

to

solve

the

unsolved

instances,

and

in

Section

the

improved

algorithm

is

applied

to

the

remaining

instances.

Finally,

Section

summarizes

this

study.

In

this

study

we

proposed

an

exact

algorithm

for

the

single-machine

total

weighted

tardiness

problem

with

sequence-dependent

setup

times

based

on

our

previous

algorithms

for

the

problem

without

setup

times.

Then,

the

proposed

algorithm

was

applied

to

well-known

benchmark

instances

and

almost

all

of

them

were

optimally

solved.

To

the

best

of

the

authors'

knowledge,

this

is

the

first

attempt

to

solve

the

Cicirello's

instances

and

the

Gagné's

instances

optimally.

However,

it

still

takes

a

very

long

computation

time.

To

reduce

it,

we

should

improve

the

lower

bound

by,

for

example,

introducing

effective

cuts

such

as

those

proposed

in

It

is

left

for

future

research..

Pessoa

A,

Uchoa

E,

Poggi

de

Aragǎo

M,

Rodrigues

R.

Exact

algorithm

over

an

arc-time-indexed

formulation

for

parallel

machine

scheduling

problems,

Mathematical

Programming

Computation

lpsolve:

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


Query term ranking based on dependency parsing of verbose queries Query term ranking approaches are used to select effective terms from a verbose query by ranking terms. Features used for query term ranking and selection in previous work do not consider grammatical relationships between terms. To address this issue, we use syntactic features extracted from dependency parsing results of verbose queries. We also modify the method for measuring the effectiveness of query terms for query term ranking. Most search engines have a tendency to show better retrieval results with keyword queries than with verbose queries. Verbose queries tend to contain more redundant terms and these terms have grammatical meaning for communication between humans to help identify the important concepts.. Search engines do not typically use syntactic information.. For example, given a verbose query, "Identify positive accomplishments of the Hubble telescope since it was launched ...", search engines cannot recognize that "Hubble telescope" is the key concept of the query whereas "accomplishments" should be considered as a complementary concept, while people can readily identify this by analyzing the grammatical structure of the query. Therefore, search engines potentially need a method for exploiting this structure.. In this work, we rank terms in a verbose query and reformulate a new query using selected highly ranked terms. Good selection methods should be able to leverage the grammatical roles of terms within a query. To do this, we use syntactic features extracted from dependency parsing trees of queries. In addition, we suggest a new method for measuring the effectiveness of terms for query term ranking.. Copyright is held by the author/owner(s). SIGIR'10, July 19-23, 2010, Geneva, Switzerland. ACM 978-1-60558-896-4/10/07. In this paper, we propose a query term ranking method that uses syntactic features extracted from dependency parsing trees. By using syntactic features, we can take into account grammatical relationships between terms. We also modify the query term ranking method to measure the effectiveness of terms based on combinations of terms. Experimental results showed that the terms selected by the query term ranking method improved retrieval performance.

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


Decomposition-based logic synthesis for PAL-based CPLDs The paper presents one concept of decomposition methods dedicated to PAL-based CPLDs. The proposed approach is an alternative to the classical one, which is based on two-level minimization of separate single-output functions. The key idea of the algorithm is to search for free blocks that could be implemented in PAL-based logic blocks containing a limited number of product terms. In order to better exploit the number of product terms, two-stage decomposition and BDD-based decomposition are to be used. In BDD-based decomposition methods, functions are represented by Reduced Ordered Binary Decision Diagrams (ROBDDs). The results of experiments prove that the proposed solution is more effective, in terms of the usage of programmable device resources, compared with the classical ones. Nowadays, Programmable Logic Devices (PLDs) are very extensively used in designing electronic digital circuits. Simple PLDs can be divided into several kinds: PAL (Programmable Array Logic), PLA (Programmable Logic Array), and PLE (Programmable Logic Element). Based on simple PLDs, there is a group of devices called Complex Programmable Logic Devices (CPLDs). Logic blocks available in CPLDs utilize a PAL-based structure (Fig. 1 ). Other PLDs include FPGA (Field Programmable Gate Array) devices. Due to the high complexity of these systems, efficient CAD algorithms must be developed to address their design challenges. Logic minimization and technology mapping are two important elements in this process.. The classical approach to the synthesis of PAL-based CPLD structures, implemented in many computer aided design tools, employs two-level minimization of separate functions and technological fitting to the structure of programmable logic blocks (Bolton, 1990) . The Espresso algorithm is mainly used for two-level minimization of Boolean functions (Brayton et al., 1984) . The strategies of synthesis implemented in commercial CAD tools are designed mostly for a small group of devices produced by single manufacturers, but they do not provide effective solutions. The synthesis methods implemented in Hardware Description Language (HDL) compilers, such as the VHDL or Verilog, use a multi-level representation of functions, while the synthesis process consists in fitting a function to the technology library patterns. These methods lead to inefficient use of the available product terms in PAL-based logic.. The aim of the paper is to show a complete logic synthesis method of a multi-output function based on a new concept of decomposition adopted for a PAL-based architecture. This method is based on two-stage decomposition (Kania, 2004) .. In general, a single step of functional decomposition consists of input variable partitioning into two disjoint The paper presents a logic synthesis method dedicated to PAL-based CPLDs. The aim of that method was to utilize non-standard decomposition in order to minimize the area of the implemented circuit and the reduction of necessary logic blocks in the programmable structure. These methods provide an alternative to the classical approach based on two-level minimization of individual single-output functions.. The paper presents three variants of PAL-oriented decomposition dedicated to PAL-based CPLDs. First, twostage PAL-oriented decomposition is presented. This method is an extension of the classical Ashenhurst-Curtis decomposition. Decomposition based on a two-stage model is very effective. Unfortunately, the algorithms contain very demanding procedures. The computation complexity precludes the synthesis of large designs. Other PAL-oriented decomposition models use reduced ordered binary decision diagrams. The binary decision diagram was taken into consideration in order to increase computation performance/efficiency. The experience gained in the implementation of two-stage decomposition allows us to implement efficient partitioning procedures for the BDD. Decomposition results for BDD methods are slightly worse as referenced to previous approaches. The synthesis process is computation efficient and allows us to decompose complex logic circuits in a reasonable amount of time. The exploration of BDD decomposition methods shows their undiscovered potential; a potential which can still be developed, especially for the decomposition of a function consisting of a few hundred input and output variables.. The essence of all the methods is to incorporate decomposition into the synthesis process dedicated to CPLD structures. The algorithm consists in a sequential search for decomposition which provides the feasibility of implementation of a free block in one PAL-based logic block containing a predefined number of product terms.. The proposed methods were practically proved. For all synthesis methods, the results of the experiments presented in the paper become close to one another with growing k. The conclusion is that for large k it is better to use the dekBDD+E approach, which works fast and gives comparable results.. Through the adjustment of the decomposition elements to the logical resources characteristic for a PALbased logic block, a significant improvement of the synthesis effectiveness in relation to the classical approach could be obtained. Unfortunately, a reduction in the area is not always associated with a reduction in logic levels.. Although satisfactory results were achieved, the presented methods will still be improved. In our opinion, the quality of results could be enhanced, e.g., by extending the decomposition model to allow creating the description of a circuit, where several outputs of macrocells can be connected to one product-term. Considering perspectives for further research, comparisons with other tools and integration with commercial tools will be taken into consideration.

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


Evolving spiking neural networks for personalised modelling, classification and prediction of spatio-temporal patterns with a case study on stroke The paper presents a novel method and system for personalised (individualised) modelling of spatio/ spectro-temporal data (SSTD) and prediction of events. A novel evolving spiking neural network reservoir system (eSNNr) is proposed for the purpose. The system consists of spike-time encoding module of continuous value input information into spike trains; a recurrent 3D SNNr; eSNN as an evolving output classifier. Such system is generated for every new individual, using existing data of similar individuals. Subject to proper training and parameter optimisation, the system is capable of accurate spatio-temporal pattern recognition (STPR) and of early prediction of individual events. The method and the system are generic, applicable to various SSTD and classification and prediction problems. As a case study, the method is applied for early prediction of occurrence of stroke on an individual basis. Preliminary experiments demonstrated a significant improvement in accuracy and time of event prediction when using the proposed method when compared with standard machine learning methods, such as MLR, SVM, and MLP. Future development and applications are discussed. The paper introduces a novel method and system for PM on SSTD based on SNN. The novelty of the proposed method and system is in the following (see also [34] ):. (1) It is the first personalised modelling method and system developed to deal with SSTD without defining in advance the 'time lags' of the time series data. (2) The same paradigm, spiking information processing, used in the brain efficiently for STPR tasks, is used here to represent and to process SSTD in the form of spiking neural networks (SNN). (3) The system is evolving, as previously unknown classes could be added incrementally as a result of new SSTD patterns being learned and recognised, which is also a principle of brain cognitive development. (4) The system always retains a transparent spatio-temporal memory that can be mined and interpreted either in real time or retrospectively for new knowledge discovery. (5) The system is able to recognise and predict the outcome of a new SSTD pattern that is similar to previously learnt ones even before the new pattern is fully presented to its inputs. The time window for training and testing can be different, which allows for the method to be used for predictive data modelling, e.g. trained on 30 days data and tested on 23 or 25, etc., for early event prediction. (6) For the first time a system is created for early stroke occurrence prediction based on temporal data.. Other applications of the proposed PMeSNNr method and system will include in the future:. -Ecological data modelling and event prediction [33] .. -Cardio-vascular risk of occurrence prediction.. -Integrated fMRI-, EEG-and gene brain data modelling.. -Earthquake and other environmental events prediction.. -Financial market crash prediction.. -Machine failure prediction.. -Personal gambling addiction prediction.. There are several avenues to be followed for a future improvement of the model. Further experiments are needed and the model performance needs to be analysed in terms of both accuracy and time of event prediction in relation to different types of input SSTD and different parameter values (e.g. Mod, C, Drift parameters in the eSNN classifier). The model is indeed very sensitive to parameter values. The results may differ significantly due to small changes of the parameter values. Another problem that needs to be addressed in the future is the initialisation of the connectivity of the SNNr. Different connectivities may result in different accuracies and times of prediction. For an optimal performance, the model needs to be run several times and the best performed model saved for recall. These are new degrees of freedom in the learning model that need to be properly utilised for better pesrformance. The eSNNr are complex systems and they have to be treated and utilised as such. This is in contrast to the simple and much limited in terms of SSTD classical machine learning methods, such as SVM, MLR, and MLP.. The complexity of the eSNNr systems requires an optimisation of a model through multiple runs for different parameter values, always retaining the best performed model. This is a procedure that here is realised through a GA as explained in Section 2, but a further improvement in terms of reducing the time for optimisation is needed.. The paper demonstrates that it is possible to design much more accurate, although more complex, models for personalised modelling on SSTD than the ones developed with the use of traditional machine learning techniques. The new models can be used for an early prediction of individual events, such as the chosen case study problem of stroke prediction.

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


On the Feedback Capacity of the Fully Connected K-User Interference Channel The symmetric -user interference channel with fully connected topology is considered, in which 1) each receiver suffers interference from all other transmitters, and 2) each transmitter has causal and noiseless feedback from its respective receiver. The number of generalized degrees of freedom ( ) is characterized in terms of , where the interference-to-noise ratio ( ) is given by . It is shown that the per-user of this network is the same as that of the two-user interference channel with feedback, except for , for which existence of feedback does not help in terms of . The coding scheme proposed for this network, termed cooperative interference alignment, is based on two key ingredients, namely, interference alignment and interference decoding. Moreover, an approximate characterization is provided for the symmetric feedback capacity of the network, when the and are far apart from each other.Index Terms-Feedback capacity, interference alignment, interference channel. W IRELESS networks with multiple pairs of transceivers are quite common in modern communications, notable examples being wireless local area networks (WLANs) and cellular networks. Multiple independent flows of information share a common medium in such multiple unicast wireless networks. The broadcast and superposition nature of the wireless medium introduces complex signal interactions between multiple competing flows. In contrast to the point-to-point wireless channel, where a noisy version of a single transmitted signal is received at a given receiver, a combination of various wireless signals is observed at receivers in multiple unicast systems. In such scenarios, each decoder has to deal with all interfering signals in order to decode its intended message. Managing such interfering signals in a multiuser network is a long standing and fundamental problem in wireless communication.. The simplest example in this category is the two-user interference channel [1] , in which two transmitters with independent messages wish to communicate with their respective receivers over the wireless transmission medium. Even for this simple two-user network, the complete information-theoretic characterization of the capacity region has been open for several decades. To study more general networks, there is a clear need for a deep understanding, which may lead to the development of novel interference management techniques.. Although the exact characterization of the capacity region of the two-user Gaussian interference channel is still unknown, several inner and outer bounds are known. These bounds are very useful in the sense of providing an approximate characterization when there exists a guarantee on the gap between them. This approach has resulted in an approximate characterization, within one bit, by Etkin et al. in [2] as well as Telatar and Tse in [3] . This characterization includes upper bounds for the capacity of the network, as well as encoding/decoding strategies based on the Han-Kobayashi scheme [1] , which perform close to the optimum. Moreover, it has been shown that the gap between the fundamental information-theoretic bounds and what can be achieved using the proposed schemes is provably small. Therefore, the capacity can be approximated within a narrow range, although the exact region is still unknown.. A similar approximate characterization (with a larger gap) for this problem is developed in [4] , in which both coding scheme and bounding techniques are devised by studying the problem under the deterministic model. This framework, introduced by Avestimehr et al. in [5] , focuses on complex signal interactions in a wireless network by ignoring the randomness of the noise. Recently, it has been successfully applied to several problems, providing valuable insights for the more practically relevant Gaussian problems.. Several interference management techniques have been proposed for operating over more complex interference networks. Completely or partially decoding and removing interference (interference suppression) when it is strong and treating it as noise when it is weak are perhaps the most widely used schemes. More sophisticated schemes such as interference alignment [6] , [7] have been proposed recently. However, it still remains to be seen whether the capacity of general interference networks can be achieved with any combination of these techniques.. It is well known that feedback does not increase the capacity of point-to-point discrete memoryless channels [8] . However, feedback is beneficial in improving the capacity regions of more complex networks (see [9] and references therein). The effects of feedback on the capacity region of the interference channel have been studied in several papers. Feedback coding schemes for -user Gaussian interference networks have been developed by Kramer in [10] . Outer bounds for the two-user interfer-ence channel with generalized feedback have been derived in [11] and [12] . The effect of feedback on the capacity of the twouser interference channel is studied in [13] , where it is shown that feedback provides multiplicative gain in the capacity at high signal-to-noise ratio ( ), when the interference links are much stronger than the direct links. The entire feedback capacity region of the two-user Gaussian interference channel has been characterized within a 2 bit gap by Suh and Tse in [14] . This includes all regimes of interference, and finite and asymptotic regimes of . The gap between the capacity of the channel with and without feedback can be arbitrarily large for certain channel parameters. The key technique for the strong interference regime is to use the feedback links to create an artificial path from each transmitter to its respective receiver through the other nodes in the network. For instance, the message intended for can be sent either through the direct link or the cyclic path . In particular, the advantage of such artificial paths can be clearly understood when the cross links are much stronger than the direct links (e.g., the strong interference regime). This observation becomes very natural by studying the problem under the deterministic framework.. The first extension of [14] to a multiuser setting is the -user cyclic interference channel with feedback, where each receiver's signal is interfered with by only one of its neighboring transmitters, in a cyclic fashion. The effect of feedback on the capacity region of this network is addressed in [15] . It is shown that although feedback improves the symmetric capacity of the -user interference channel, the improvement in symmetric capacity per user vanishes as grows. The intuitive reason behind this result is that the configuration of the network allows only one cyclic path, which has to be shared between all pairs of transceivers. The amount of information that can be conveyed through this path does not scale with , and therefore, the gain for each user scales inverse linearly with .. In another extreme, each transmit signal may be corrupted by all the other signals transmitted by the other base stations. This model is appropriate for a network with densely located nodes, where everyone hears everyone else. This network, which we call the -user fully connected interference channel (FC-IC), is another generalization of the two-user interference channel. Fig. 1 shows the FC-IC with feedback for users. In this paper, we study the FC-IC network with feedback, and for simplicity, we consider a symmetric network topology, where all the direct links (from each transmitter to its respective receiver) have the same gain, and similarly, the gains of all cross (interfering) links are identical. A similar setting without feedback has been studied by Jafar and Vishwanath in [16] , where the number of symmetric degrees of freedom ( ) is characterized. An approximate sum capacity of this network is recently found by Ordentlich et al. in [17] . In this paper, the impact of feedback is studied for the -user FC-IC. The main contribution of this paper is to show that feedback can arbitrarily improve the performance of the network, and in contrast to the cyclic case [15] , it does scale with the number of users in the network. In particular, except for the intermediate interference regime where the is equal to the interference-to-noise ratio ( ), the effect of interference from users is as if there were only one interfering transmitter in the network. This is analogous to the result of [7] , where it is shown that the number of per-user of the -user fading interference channel is the same as if there were only two users in the network.. In order to get the maximal benefit of feedback, we propose a novel encoding scheme, called cooperative interference alignment, which combines two well-known interference management techniques, namely, interference alignment and interference decoding. More precisely, the encoding at the transmitters is such that all the interfering signals are aligned at each receiver. However, a fundamental difference between our approach and the standard interference alignment approach is that we need to decode interference to be able to remove it from the received signal, while the aligned interference is usually suppressed in standard approaches. A challenge here, which makes this problem fundamentally different from the two-user inference channel, is that the interference is a combination of interfering messages, and decoding all of them induces strict bounds on the rate of the interfering messages. However, each transmitter does not need to decode all the interfering messages individually, instead, upon receiving feedback, it only decodes the combination of them that corrupts the intended signal of interest. To this end, we propose using a common structured code, which has the property that the summation of codewords of different users is still another codeword from the same codebook. Lattice codes [18] are a suitable choice to satisfy this desired property. This idea is similar to that used in [19] and [20] .. The rest of this paper is organized as follows. First, we formally present the model, introduce notation, and state the problem in Section II. The main result of the paper is presented in Section III. Before proving the result for the Gaussian network, we study the problem under the deterministic model in Section IV, where we characterize the exact feedback capacity of the deterministic network. Based on the insight and intuition obtained by analysis of the deterministic network, we present the converse proof and the coding scheme for the Gaussian network in Sections V and VI, respectively. Having the approximate feedback capacity of the network, we derive the generalized degrees of freedom ( ) with feedback in Section VII. We further extend the result of the paper and study the case of global feedback, where each transmitter receives feedback from all receivers in Section VIII, and finally, conclude the paper in Section IX. In order to make the paper easily readable, some of the technical proofs are postponed to the appendixes. Parts of this work have been presented in [21] . We have studied the feedback capacity of the -user FC-IC under a symmetric topology. This is a natural extension of the feedback capacity characterization for the two-user case in [14] , in which it is shown that channel output feedback can significantly improve the performance of the two-user interference channel. Rather surprisingly, it turns out that such an improvement can also be achieved in the -user case, except if the intended and interfering signals have the same received power at the receivers. In particular, we have shown that the per-user feedback capacity of the -user FC-IC is as if there were only one source of interference in the network. Compared to the network without feedback [16] , this result shows that feedback can significantly improve the network capacity.. The coding scheme used to achieve the capacity of the network combines two well-known interference management techniques, namely, interference alignment and interference decoding. In fact, the messages at the transmitters are encoded such that the interfering signals are received aligned at each receiver. Closedness of lattice codes with respect to summation implies that the aligned received interference is a codeword that can be decoded, as in the two-user case. Another interesting aspect of this scheme is that each message is kept secret from all receivers, except the intended one. This implies that an appropriately defined secrecy capacity of the network coincides with the capacity with no secrecy constraint.

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


Near-Optimal

Connectivity

Encoding

of

Polygon

Meshes

Encoders

for

triangle

mesh

connectivity

based

on

enumeration

of

vertex

valences

are

among

the

best

reported

to

date.

They

are

both

simple

to

implement

and

report

the

best

compressed

file

sizes

for

a

large

corpus

of

test

models.

Additionally

they

have

recently

been

shown

to

be

near-optimal

since

they

realize

the

Tutte

entropy

bound

for

all

planar

triangulations.In

this

paper

we

introduce

a

connectivity

encoding

method

which

extends

these

ideas

to

meshes

consisting

of

faces

with

arbitrary

degree.

The

encoding

algorithm

exploits

duality

by

applying

valence

enumeration

to

both

the

primal

and

dual

mesh

in

a

symmetric

fashion.

It

generates

two

sequences

of

symbols,

vertex

valences

and

face

degrees,

and

encodes

them

separately

using

two

context-based

arithmetic

coders.

This

allows

us

to

exploit

vertex

and/or

face

regularity

if

present.

When

the

mesh

exhibits

perfect

face

regularity

(e.g.,

a

pure

triangle

or

quad

mesh)

and/or

perfect

vertex

regularity

(valence

six

or

four

respectively)

the

corresponding

bit

rate

vanishes

to

zero

asymptotically.

For

triangle

meshes,

our

technique

is

equivalent

to

earlier

valence

driven

approaches.We

report

compression

results

for

a

corpus

of

standard

meshes.

In

all

cases

we

are

able

to

show

coding

gains

over

earlier

coders,

sometimes

as

large

as

Remarkably,

we

even

slightly

gain

over

coders

specialized

to

triangle

or

quad

meshes.

A

theoretical

analysis

reveals

that

our

approach

is

near-optimal

as

we

achieve

the

Tutte

entropy

bound

for

arbitrary

planar

graphs

of

bits

per

edge

in

the

worst

case.

Encoding

connectivity

is

an

important

component

(next

to

geometry

coding)

of

all

surface

compression

algorithms

to

date.

This

is

true

for

single

rate

and

progressive

coders

and

independent

of

the

surface

primitive,

e.g.,

piecewise

linear,

NURBS,

subdivision,

or

multiresolution

patches..

Much

of

the

previous

work

in

this

area

has

been

concerned

with

methods

applicable

to

triangle

and

quad

meshes

and

has

reached

some

sophistication

both

in

terms

of

observed

and

worst

case

performance.

Comparatively

little

work

has

been

dedicated

to

the

harder

problem

of

connectivity

encoding

of

graphs

with

arbitrary

face

degrees

and

vertex

valences

(see

the

examples

in

Figure

the

valence

of

a

vertex

is

the

number

of

edges

incident

to

this

vertex,

while

the

degree

of

a

face

is

the

number

of

edges

enclosing

it.

Both

are

in

general

unconstrained.

We

have

presented

a

unified

technique

for

connectivity

compression

of

polygon

meshes.

It

performs

near-optimally

on

all

major

types

of

meshes

encountered

in

practice:

triangle,

quad

and

general

polygon

meshes.

Our

algorithm

exploits

duality

by

encoding

separately

the

list

of

vertex

valences

and

the

list

of

face

degrees.

Vertex

and/or

face

regularity

can

therefore

be

fully

exploited.

Additionally,

we

show

that

encoding

these

two

lists

is

in

perfect

agreement

with

previous

theoretical

analyses

and

leads

to

a

worst-case

of

b/e

on

arbitrary

meshes,

and

of

b/v

for

triangulations.

We

also

provide

a

statistical

model

for

the

entropy

coding

that

improves

compression

ratios

further

by

exploiting

local

regularities

in

valence

and

degree

distributions.

These

are

found

quite

commonly

in

all

the

meshes

we

examined.

Our

implementation

demonstrates

the

compression

gains

of

this

polygon

mesh

compression

technique

over

all

previously

published

techniques,

on

all

tested

meshes.

The

very

same

algorithm

even

outperforms

most

of

the

previous

encoders

which

were

specifically

tuned

to

triangle

or

quad

meshes

when

applied

to

such

specialized

inputs..

Possible

future

work

includes

the

generalization

of

this

approach

to

volume

meshes,

including

tetrahedron

or

hexahedron

meshes.

This

would

require

vertex,

face

and

edge

valences

to

be

encoded.

An

extension

to

non-manifold

meshes

would

also

be

very

relevant

for

practical

applications.

Finally

we

hope

to

build

more

sophisticated

statistical

models

of

valence

and

degree

distributions

based

on

larger

corpora

of

meshes,

to

further

improve

the

compression

performance.

The

motivation

for

using

such

contexts

is

that

the

average

valence

of

vertices

in

quad

and

triangle

regions

are

different.

Therefore,

there

is

a

correlation

between

the

vertex

or

face

symbol

to

encode

and

the

average

valence

of

known

neighboring

vertices..

We

have

found

the

above

heuristics

to

generally

improve

the

coding

of

meshes.

We

have

experimented

our

technique

on

the

large

SNHC

database,

and

on

average,

a

gain

of

is

observed

when

we

use

our

simple

statistical

model

over

a

direct

encoding

(slightly

worse

bitrates

are

obtained

only

for

small

meshes).

We

also

show

in

Table

that

using

only

contexts

based

on

valences

or

degrees

is

consistently

worse

than

our

mixed

strategy

on

this

database.

Although

one

could

adjust

this

strategy

to

perform

better

on

a

given

corpus

of

meshes,

our

choice

seems

a

good

compromise

for

the

typical

meshes

used

in

graphics..

Bytes

using

VF

using

V

using

F

shows

the

group.

The

second

column

shows

the

relative

improvement

when

using

multiple

contexts.

Third

and

forth

column

show

improvement

when

using

multiple

contexts

only

on

vertex,

and

face

streams

respectively.

We

begin

with

a

performance

comparison

of

our

algorithm

and

the

FaceFixer

coder.

Table

shows

the

results

of

compression

for

a

set

of

standard

models

(see

Figure

both

in

total

bytes

and

b/v.

The

average

improvement

is

approximately

The

most

significant

improvement

is

achieved

for

the

shark

model:

most

of

the

vertices

in

this

model

have

the

same

valence.

Because

of

the

separation

of

vertex

and

face

information

in

our

coder,

the

vertex

information

was

encoded

at

practically

no

cost,

leading

to

a

factor

improvement

in

bit

rate

performance.

In

Tables

and

we

also

compare

our

polygon

mesh

coder

to

the

Touma-Gotsman

(TG)

and

Alliez-Desbrun

(AD)

triangle

mesh

coders

on

sets

of

irregular

and

semi-regular

triangle

meshes.

As

expected,

all

these

algorithms

exhibit

essentially

similar

performance.

TABLE

The

table

compares

Lastly,

we

compressed

the

connectivity

of

adaptively

tessellated

Catmull-Clark

surfaces

(Table

These

meshes

contain

mostly

quads,

but

also

have

a

number

of

"conforming"

triangles

in

the

transition

regions

between

different

levels

of

tessellation

(see

Figure

These

tables

all

indicate

the

better

bit

rates

for

polygon

meshes,

and

similar

or

slightly

better

results

for

triangle

meshes

over

the

best

available

coders

known

as

of

today.

This

confirms

the

notion

of

near-optimality

of

our

algorithm

as

proven

by

our

simple

entropy

analysis.

There

is

however

no

doubt

that

it

is

possible

to

design

better

encoders

for

a

specific

corpus

of

meshes

by

adapting

or

fine-tuning

the

statistical

modeling

we

implemented.

Our

current

implementation

processes

all

tested

meshes

in

less

than

two

seconds

on

a

PIII

computer.

The

set

of

models

we

used

for

comparison

can

be

found

at

The

related

work

on

single

rate

coders

falls

into

two

major

groups

of

algorithms:

those

specific

to

triangle

meshes,

and

those

for

more

general

polygon

meshes.

We

review

these

in

turn..

Triangle

Meshes

Early

work

was

motivated

by

the

desire

to

render

triangle

meshes

quickly.

Deering

proposed

generalized

triangle

strips

coupled

with

a

vertex

cache

consuming

on

average

b/v.

Bar-Yehuda

and

Gotsman

provided

a

theoretical

study

of

the

cache/compression

tradeoff.

Speed

was

also

a

main

concern

for

Chow

and

Gumhold

Focusing

more

on

absolute

compression

ratios,

Taubin

and

co-workers

designed

the

"topological

surgery"

scheme

which

is

capable

of

adapting

to

connectivity

regularity,

resulting

in

b/v

for

very

regular

meshes

and

b/v

on

average

otherwise..

Subsequently,

Rossignac

introduced

EdgeBreaker

a

better

and

simpler

traversal

technique

focusing

on

edges

and

introducing

the

concept

of

active

gate.

The

mesh

is

traversed

by

moving

to

the

incident

face

across

an

active

gate,

followed

by

moving

the

active

gate

to

the

new

face.

This

algorithm

has

an

upper

bound

of

b/v

for

triangle

meshes.

A

number

of

improvements

to

the

algorithm

and

its

theoretic

bounds

have

followed..

In

Touma

and

Gotsman

pioneered

a

novel

vertex-based

traversal

scheme

that

provides

a

natural

adaptation

to

triangle

mesh

regularity

through

entropy

coding.

In

contrast

to

all

previous

methods,

the

traversal

results

in

V

rather

than

F

tokens,

decreasing

the

bit

rate

to

b/v

on

average

and

vanishing

to

zero

for

regular

meshes.

Alliez

and

Desbrun

recently

explained

the

excellent

performance

of

such

algorithms

by

analyzing

the

entropy

of

the

list

of

all

valences

and

showing

that

it

is

optimal.

There

are

however

exceptional

symbols

(splits)

for

which

no

non-trivial

bound

is

yet

known

(hence

the

claim

of

"near"-optimality).

As

a

practical

solution

they

proposed

an

adaptive

traversal

control

heuristic

which

reduces

the

number

of

splits

to

get

closer

to

the

optimal

bit

rate.

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


Comparing Instance Generation Methods for Automated Reasoning The clause-linking technique of Lee and Plaisted proves the unsatisfiability of a set of first-order clauses by generating a sufficiently large set of instances of these clauses that can be shown to be propositionally unsatisfiable. In recent years, this approach has been refined in several directions, leading to both tableaubased methods, such as the disconnection tableau calculus, and saturation-based methods, such as primal partial instantiation and resolution-based instance generation. We investigate the relationship between these calculi and answer the question to what extent refutation or consistency proofs in one calculus can be simulated in another one. In recent years, there has been a renewed interest in instantiation-based theorem proving for first-order logic. Much of the recent work in this field is based on the research of Plaisted and Lee [8] . They showed that the interleaving of production of instances with recombination of clauses, as done in resolution, leads to duplication of work in subsequent inference steps. As a means of avoiding this duplication, they proposed the clause linking approach. In clause linking, links between complementary unifiable literals are used to generate instances of the given clauses, based on the unifier of the linked literals. Unlike in the resolution calculus, the generated instances are not recombined but are added to the set of clauses as they are. As a consequence, in order to check satisfiability of the generated set, an additional SAT solving procedure is needed, which is usually in the spirit of the Davis-PutnamLogemann-Loveland (DPLL) procedure [4] .. Today, there exist several methods based to some extent on clause linking or DPLL. They may be distinguished by the means they use to detect unsatisfiability. Some calculi arrange instances in a tree or a tableau, integrating an implicit satisfiability check. This approach is used by the disconnection tableau calculus [3, 9, 12] , as well as by Baumgartner's FDPLL [1] and the model evolution calculus [2] . Other procedures separate instance generation and satisfiability test. These usually use a monotonically growing set of clause instances and call an external SAT solver on this set. Representatives of this approach are Plaisted's (ordered semantic) hyper linking [8, 11] , the partial instantiation methods [6] of Hooker et al., and resolution-based instance generation [5] by Ganzinger and Korovin. Since they use interchangeable SAT solvers, the main difference between these methods lies in the guidance of instance generation.. The fact that tableau-based and saturation-based instance generation methods are somehow related can be considered as folklore knowledge; it has been mentioned repeatedly in the literature (e.g., [2, 6] ). The precise relationship is, however, unclear.. In this work, we compare four instance generation methods that stay relatively close to the original clause linking approach and can be seen as direct refinements of it:. The Disconnection Calculus [9, 12] (DCC) integrates the instance generation of the clause linking approach into a clausal tableau. The linking rule of DCC allows inferences only between literals that are on the same branch, strongly restricting the generation of clauses in the tableau. In this tableau structure, unsatisfiability of the given set of clauses can be decided by branch closure. Given a fair inference strategy, the calculus is refutationally complete.. Resolution-Based Instance Generation [5] (Inst-Gen) is another saturation-based method, with a single resolution-like inference rule, representing the clause linking approach of generating instances. After a given set has been saturated under this inference rule, satisfiability of the original clause set is equivalent to propositional satisfiability and can be checked by any propositional decision procedure.. SInst-Gen is a refinement of Inst-Gen by semantic selection, based on a propositional model for the given set of clauses. Inconsistencies, which arise when extending this model to a model for the first-order clauses, are used to guide the inferences.. The Primal Partial Instantiation [6] method (PPI) is a saturation-based method with semantic selection similar to SInst-Gen.. After introducing the four calculi, we compare the saturation-based methods and show that SInst-Gen and PPI are, in large part, equivalent. Then we compare SInstGen and PPI to DCC and show to what extent refutation or consistency proofs in one calculus can be simulated in another one. We have compared the four instance generation methods DCC, Inst-Gen, SInst-Gen, and PPI. Inst-Gen, which makes no attempt to restrict the search space, is obviously the most general of these calculi: any DCC, SInst-Gen, or PPI proof can be simulated by an Inst-Gen proof.. PPI is essentially a special case of SInst-Gen, except for its term-depth-based saturation strategy, which ensures completeness of the calculus but is not subsumed by the fairness criterion of SInst-Gen. We have given a new fairness criterion that preserves completeness and allows all strategies that are allowed in PPI or SInst-Gen.. For DCC and SInst-Gen, we have demonstrated that, for refutation proofs, simulation between (the basic versions of) the methods is in general not possible. This implies in particular that neither of the methods can be considered as a special case of the other. In case of consistency proofs, we have shown that SInst-Gen proofs that terminate on satisfiable input can always be simulated by DCC, while this does not hold for the other direction. All of these results still hold when SInst-Gen is allowed to use hyper-inferences.. We face a different situation when we consider weak simulation, so that we can use not only clauses from the given proof but also generalizations thereof. We have shown that DCC and SInst-Gen with ⊥-unification can weakly simulate each other; in fact we conjecture that DCC and SInst-Gen with ⊥-unification can weakly simulate any instance-based calculus.. For DCC and SInst-Gen there are various refinements that are beyond the scope of this work. It is not clear how our results would translate to the refined calculi, for exaple, DCC with lemma generation and subsumption or SInst-Gen with redundancy elimination. Additionally, for both methods extensions to equality reasoning are available. A comparison of the different approaches to these refinements and extensions might give more useful insights on the relation between DCC and SInst-Gen.

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