On

The

Complexity

of

Combinatorial

Auctions:

Structured

Item

Graphs

and

Hypertree

Decompositions

[Extended

Abstract]

Georg

Gottlob

Computing

Laboratory

Oxford

University

Oxford,

UK

georg.gottlob@comlab.ox.ac.uk

Gianluigi

Greco

Dipartimento

di

Matematica

University

of

Calabria

Rende,

Italy

ggreco@mat.unical.it

ABSTRACT

The

winner

determination

problem

in

combinatorial

auctions

is

the

problem

of

determining

the

allocation

of

the

items

among

the

bidders

that

maximizes

the

sum

of

the

accepted

bid

prices.

While

this

problem

is

in

general

NPhard,

it

is

known

to

be

feasible

in

polynomial

time

on

those

instances

whose

associated

item

graphs

have

bounded

treewidth

(called

structured

item

graphs).

Formally,

an

item

graph

is

a

graph

whose

nodes

are

in

one-to-one

correspondence

with

items,

and

edges

are

such

that

for

any

bid,

the

items

occurring

in

it

induce

a

connected

subgraph.

Note

that

many

item

graphs

might

be

associated

with

a

given

combinatorial

auction,

depending

on

the

edges

selected

for

guaranteeing

the

connectedness.

In

fact,

the

tractability

of

determining

whether

a

structured

item

graph

of

a

fixed

treewidth

exists

(and

if

so,

computing

one)

was

left

as

a

crucial

open

problem.

In

this

paper,

we

solve

this

problem

by

proving

that

the

existence

of

a

structured

item

graph

is

computationally

intractable,

even

for

treewidth

Motivated

by

this

bad

news,

we

investigate

different

kinds

of

structural

requirements

that

can

be

used

to

isolate

tractable

classes

of

combinatorial

auctions.

We

show

that

the

notion

of

hypertree

decomposition,

a

recently

introduced

measure

of

hypergraph

cyclicity,

turns

out

to

be

most

useful

here.

Indeed,

we

show

that

the

winner

determination

problem

is

solvable

in

polynomial

time

on

instances

whose

bidder

interactions

can

be

represented

with

(dual)

hypergraphs

having

bounded

hypertree

width.

Even

more

surprisingly,

we

show

that

the

class

of

tractable

instances

identified

by

means

of

our

approach

properly

contains

the

class

of

instances

having

a

structured

item

graph.

Categories

and

Subject

Descriptors

[Computer

Applications]:

Social

and

Behavioral

Sciences-Economics;

[Theory

of

Computation]:

Analysis

of

Algorithms

and

Problem

Complexity

INTRODUCTION

Combinatorial

auctions.

Combinatorial

auctions

are

well-known

mechanisms

for

resource

and

task

allocation

where

bidders

are

allowed

to

simultaneously

bid

on

combinations

of

items.

This

is

desirable

when

a

bidder"s

valuation

of

a

bundle

of

items

is

not

equal

to

the

sum

of

her

valuations

of

the

individual

items.

This

framework

is

currently

used

to

regulate

agents"

interactions

in

several

application

domains

(cf.,

e.g.,

such

as,

electricity

markets

bandwidth

auctions

and

transportation

exchanges

Formally,

a

combinatorial

auction

is

a

pair

I,

B

where

I

Im}

is

the

set

of

items

the

auctioneer

has

to

sell,

and

B

Bn}

is

the

set

of

bids

from

the

buyers

interested

in

the

items

in

I.

Each

bid

Bi

has

the

form

item(Bi),

pay(Bi)

where

pay(Bi)

is

a

rational

number

denoting

the

price

a

buyer

offers

for

the

items

in

item(Bi)

I.

An

outcome

for

I,

B

is

a

subset

b

of

B

such

that

item(Bi)∩item(Bj)

for

each

pair

Bi

and

Bj

of

bids

in

b

with

i

j.

The

winner

determination

problem.

A

crucial

problem

for

combinatorial

auctions

is

to

determine

the

outcome

b∗

that

maximizes

the

sum

of

the

accepted

bid

prices

(i.e.,

Bi∈b∗

pay(Bi))

over

all

the

possible

outcomes.

This

problem,

called

winner

determination

problem

(e.g.,

is

known

to

be

intractable,

actually

NP-hard

and

even

not

approximable

in

polynomial

time

unless

NP

ZPP

Hence,

it

comes

with

no

surprise

that

several

efforts

have

been

spent

to

design

practically

efficient

algorithms

for

general

auctions

(e.g.,

and

to

identify

classes

of

instances

where

solving

the

winner

determination

problem

is

feasible

in

polynomial

time

(e.g.,

In

fact,

constraining

bidder

interaction

was

proven

to

be

useful

for

identifying

classes

of

tractable

combinatorial

auctions.

Item

graphs.

Currently,

the

most

general

class

of

tractable

combinatorial

auctions

has

been

singled

out

by

modelling

interactions

among

bidders

with

the

notion

of

item

graph,

which

is

a

graph

whose

nodes

are

in

one-to-one

correspondence

with

items,

and

edges

are

such

that

for

any

Figure

Example

MaxWSP

problem:

(a)

Hypergraph

H

and

a

packing

h

for

it;

(b)

Primal

graph

for

H

and,

(c,d)

Two

item

graphs

for

H

bid,

the

items

occurring

in

it

induce

a

connected

subgraph.

Indeed,

the

winner

determination

problem

was

proven

to

be

solvable

in

polynomial

time

if

interactions

among

bidders

can

be

represented

by

means

of

a

structured

item

graph,

i.e.,

a

tree

or,

more

generally,

a

graph

having

tree-like

structure

bounded

treewidth

To

have

some

intuition

on

how

item

graphs

can

be

built,

we

notice

that

bidder

interaction

in

a

combinatorial

auction

I,

B

can

be

represented

by

means

of

a

hypergraph

H

I,B

such

that

its

set

of

nodes

N(H

I,B

coincides

with

set

of

items

I,

and

where

its

edges

E(H

I,B

are

precisely

the

bids

of

the

buyers

{item(Bi)

Bi

B}.

A

special

item

graph

for

I,

B

is

the

primal

graph

of

H

I,B

denoted

by

G(H

I,B

which

contains

an

edge

between

any

pair

of

nodes

in

some

hyperedge

of

H

I,B

Then,

any

item

graph

for

H

I,B

can

be

viewed

as

a

simplification

of

G(H

I,B

obtained

by

deleting

some

edges,

yet

preserving

the

connectivity

condition

on

the

nodes

included

in

each

hyperedge.

Example

The

hypergraph

H

reported

in

Figure

is

an

encoding

for

a

combinatorial

auction

where

and

item(Bi)

hi,

for

each

i

The

primal

graph

for

H

is

reported

in

Figure

while

two

example

item

graphs

are

reported

in

Figure

and

(d),

where

edges

required

for

maintaining

the

connectivity

for

are

depicted

in

bold.

Open

Problem:

Computing

structured

item

graphs

efficiently.

The

above

mentioned

tractability

result

on

structured

item

graphs

turns

out

to

be

useful

in

practice

only

when

a

structured

item

graph

either

is

given

or

can

be

efficiently

determined.

However,

exponentially

many

item

graphs

might

be

associated

with

a

combinatorial

auction,

and

it

is

not

clear

how

to

determine

whether

a

structured

item

graph

of

a

certain

(constant)

treewidth

exists,

and

if

so,

how

to

compute

such

a

structured

item

graph

efficiently.

Polynomial

time

algorithms

to

find

the

best

simplification

of

the

primal

graph

were

so

far

only

known

for

the

cases

where

the

item

graph

to

be

constructed

is

a

line

a

cycle

or

a

tree

but

it

was

an

important

open

problem

(cf.

whether

it

is

tractable

to

check

if

for

a

combinatorial

auction,

an

item

graph

of

treewidth

bounded

by

a

fixed

natural

number

k

exists

and

can

be

constructed

in

polynomial

time,

if

so.

Weighted

Set

Packing.

Let

us

note

that

the

hypergraph

representation

H

I,B

of

a

combinatorial

auction

I,

B

is

also

useful

to

make

the

analogy

between

the

winner

determination

problem

and

the

maximum

weighted-set

packing

problem

on

hypergraphs

clear

(e.g.,

Formally,

a

packing

h

for

a

hypergraph

H

is

a

set

of

hyperedges

of

H

such

that

for

each

pair

h,

h

h

with

h

h

it

holds

that

h

h

Letting

w

be

a

weighting

function

for

H,

i.e.,

a

polynomially-time

computable

function

from

E(H)

to

rational

numbers,

the

weight

of

a

packing

h

is

the

rational

number

w(h)

h∈h

w(h),

where

w({})

Then,

the

maximum-weighted

set

packing

problem

for

H

w.r.t.

w,

denoted

by

MaxWSP(H,

w),

is

the

problem

of

finding

a

packing

for

H

having

the

maximum

weight

over

all

the

packings

for

H.

To

see

that

MaxWSP

is

just

a

different

formulation

for

the

winner

determination

problem,

given

a

combinatorial

auction

I,

B

it

is

sufficient

to

define

the

weighting

function

w

I,B

(item(Bi))

pay(Bi).

Then,

the

set

of

the

solutions

for

the

weighted

set

packing

problem

for

H

I,B

w.r.t.

w

I,B

coincides

with

the

set

of

the

solutions

for

the

winner

determination

problem

on

I,

B

Example

Consider

again

the

hypergraph

H

reported

in

Figure

An

example

packing

for

H

is

h

which

intuitively

corresponds

to

an

outcome

for

where

the

auctioneer

accepted

the

bid

By

assuming

that

bids

and

are

such

that

the

packing

h

is

not

a

solution

for

the

problem

MaxWSP(H

w

Indeed,

the

packing

h∗

is

such

that

w

(h∗

w

(h).

Contributions

The

primary

aim

of

this

paper

is

to

identify

large

tractable

classes

for

the

winner

determination

problem,

that

are,

moreover

polynomially

recognizable.

Towards

this

aim,

we

first

study

structured

item

graphs

and

solve

the

open

problem

in

The

result

is

very

bad

news:

It

is

NP

complete

to

check

whether

a

combinatorial

auction

has

a

structured

item

graph

of

treewidth

More

formally,

letting

C(ig,

k)

denote

the

class

of

all

the

hypergraphs

having

an

item

tree

of

treewidth

bounded

by

k,

we

prove

that

deciding

whether

a

hypergraph

(associated

with

a

combinatorial

auction

problem)

belongs

to

C(ig,

is

NP-complete.

In

the

light

of

this

result,

it

was

crucial

to

assess

whether

there

are

some

other

kinds

of

structural

requirement

that

can

be

checked

in

polynomial

time

and

that

can

still

be

used

to

isolate

tractable

classes

of

the

maximum

weightedset

packing

problem

or,

equivalently,

the

winner

determination

problem.

Our

investigations,

this

time,

led

to

very

good

news

which

are

summarized

below:

For

a

hypergraph

H,

its

dual

¯H

(V,

E)

is

such

that

nodes

in

V

are

in

one-to-one

correspondence

with

hyperedges

in

H,

and

for

each

node

x

N(H),

{h

x

h

h

E(H)}

is

in

E.

We

show

that

MaxWSP

is

tractable

on

the

class

of

those

instances

whose

dual

hypergraphs

have

hypertree

bounded

by

k

(short:

class

C(hw,

k)

of

hypergraphs).

Note

that

a

key

issue

of

the

tractability

is

to

consider

the

hypertree

width

of

the

dual

hypergraph

¯H

instead

of

the

auction

hypergraph

H.

In

fact,

we

can

show

that

MaxWSP

remains

NP-hard

even

when

H

is

acyclic

(i.e.,

when

it

has

hypertree

width

even

when

each

node

is

contained

in

hyperedges

at

most.

For

some

relevant

special

classes

of

hypergraphs

in

C(hw,

k),

we

design

a

higly-parallelizeable

algorithm

for

MaxWSP.

Specifically,

if

the

weighting

functions

can

be

computed

in

logarithmic

space

and

weights

are

polynomial

(e.g.,

when

all

the

hyperegdes

have

unitary

weights

and

one

is

interested

in

finding

the

packing

with

the

maximum

number

of

edges),

we

show

that

MaxWSP

can

be

solved

by

a

LOGCFL

algorithm.

Recall,

in

fact,

that

LOGCFL

is

the

class

of

decision

problems

that

are

logspace

reducible

to

context

free

languages,

and

that

LOGCFL

P

(see,

e.g.,

Surprisingly,

we

show

that

nothing

is

lost

in

terms

of

generality

when

considering

the

hypertree

decomposition

of

dual

hypergraphs

instead

of

the

treewidth

of

item

graphs.

To

the

contrary,

the

proposed

hypertree-based

decomposition

method

is

strictly

more

general

than

the

method

of

structured

item

graphs.

In

fact,

we

show

that

strictly

larger

classes

of

instances

are

tractable

according

to

our

new

approach

than

according

to

the

structured

item

graphs

approach.

Intuitively,

the

NP-hardness

of

recognizing

bounded-width

structured

item

graphs

is

thus

not

due

to

its

great

generality,

but

rather

to

some

peculiarities

in

its

definition.

The

proof

of

the

above

results

give

us

some

interesting

insight

into

the

notion

of

structured

item

graph.

Indeed,

we

show

that

structured

item

graphs

are

in

one-to-one

correspondence

with

some

special

kinds

of

hypertree

decomposition

of

the

dual

hypergraph,

which

we

call

strict

hypertree

decompositions.

A

game-characterization

for

the

notion

of

strict

hypertree

width

is

also

proposed,

which

specializes

the

Robber

and

Marshals

game

in

(proposed

to

characterize

the

hypertree

width),

and

which

makes

it

clear

the

further

requirements

on

hypertree

decompositions.

The

rest

of

the

paper

is

organized

as

follows.

Section

discusses

the

intractability

of

structured

item

graphs.

Section

presents

the

polynomial-time

algorithm

for

solving

MaxWSP

on

the

class

of

those

instances

whose

dual

hypergraphs

have

bounded

hypertree

width,

and

discusses

the

cases

where

the

algorithm

is

also

highly

parallelizable.

The

comparison

between

the

classes

C(ig,

k)

and

C(hw,

k)

is

discussed

in

Section

Finally,

in

Section

we

draw

our

conclusions

by

also

outlining

directions

for

further

research.

COMPLEXITY

OF

STRUCTURED

ITEM

GRAPHS

Let

H

be

a

hypergraph.

A

graph

G

(V,

E)

is

an

item

graph

for

H

if

V

N(H)

and,

for

each

h

E(H),

the

subgraph

of

G

induced

over

the

nodes

in

h

is

connected.

An

important

class

of

item

graphs

is

that

of

structured

item

graphs,

i.e.,

of

those

item

graphs

having

bounded

treewidth

as

formalized

below.

A

tree

decomposition

of

a

graph

G

(V,

E)

is

a

pair

T,

χ

where

T

(N,

F)

is

a

tree,

and

χ

is

a

labelling

function

assigning

to

each

vertex

p

N

a

set

of

vertices

χ(p)

V

such

that

the

following

conditions

are

satisfied:

for

each

vertex

b

of

G,

there

exists

p

N

such

that

b

χ(p);

for

each

edge

{b,

d}

E,

there

exists

p

N

such

that

{b,

d}

χ(p);

for

each

vertex

b

of

G,

the

set

{p

N

b

χ(p)}

induces

a

connected

subtree

of

T.

The

width

of

T,

χ

is

the

number

maxp∈N

|χ(p)

The

treewidth

of

G,

denoted

by

tw(G),

is

the

minimum

width

over

all

its

tree

decompositions.

The

winner

determination

problem

can

be

solved

in

polynomial

time

on

item

graphs

having

bounded

treewidth

Theorem

(cf.

Assume

a

k-width

tree

decomposition

T,

χ

of

an

item

graph

for

H

is

given.

Then,

MaxWSP(H,

w)

can

be

solved

in

time

Many

item

graphs

can

be

associated

with

a

hypergraph.

As

an

example,

observe

that

the

item

graph

in

Figure

has

treewidth

while

Figure

reports

an

item

graph

whose

treewidth

is

Indeed,

it

was

an

open

question

whether

for

a

given

constant

k

it

can

be

checked

in

polynomial

time

if

an

item

graph

of

treewidth

k

exists,

and

if

so,

whether

such

an

item

graph

can

be

efficiently

computed.

Let

C(ig,

k)

denote

the

class

of

all

the

hypergraphs

having

an

item

graph

G

such

that

tw(G)

k.

The

main

result

of

this

section

is

to

show

that

the

class

C(ig,

k)

is

hard

to

recognize.

Theorem

Deciding

whether

a

hypergraph

H

belongs

to

C(ig,

is

NP-hard.

The

proof

of

this

result

relies

on

an

elaborate

reduction

from

the

Hamiltonian

path

problem

HP(s,

t)

of

deciding

whether

there

is

an

Hamiltonian

path

from

a

node

s

to

a

node

t

in

a

directed

graph

G

(N,

E).

To

help

the

intuition,

we

report

here

a

high-level

overview

of

the

main

ingredients

exploited

in

the

The

general

idea

it

to

build

a

hypergraph

HG

such

that

there

is

an

item

graph

G

for

HG

with

tw(G

if

and

only

if

HP(s,

t)

over

G

has

a

solution.

First,

we

discuss

the

way

HG

is

constructed.

See

Figure

for

an

illustration,

where

the

graph

G

consists

of

the

nodes

s,

x,

y,

and

t,

and

the

set

of

its

edges

is

(s,

x),

(x,

y),

(x,

t),

(y,

t)}.

From

G

to

HG.

Let

G

(N,

E)

be

a

directed

graph.

Then,

the

set

of

the

nodes

in

HG

is

such

that:

for

each

x

N,

N(HG)

contains

the

nodes

bsx,

btx,

bx,

bx,

bdx;

for

each

e

(x,

y)

E,

N(HG)

contains

the

nodes

nsx,

nsx,

nty,

nty

nse

x

and

nte

y.

No

other

node

is

in

N(HG).

Hyperedges

in

HG

are

of

three

kinds:

for

each

x

N,

E(HG)

contains

the

hyperedges:

Sx

{bsx}

{nse

x

e

(x,

y)

E};

Tx

{btx}

{nte

x

e

(z,

x)

E};

x

{bdx,

bx},

x

{bdx,

bx},

and

x

{bx,

bx}

-notice

that

these

hyperedges

induce

a

clique

on

the

nodes

{bx,

bx,

bdx};

Detailed

proofs

can

be

found

in

the

Appendix,

available

at

Figure

Proof

of

Theorem

(a)

from

G

to

HG

hyperedges

in

and

are

reported

only;

(b)

a

skeleton

for

a

tree

decomposition

TD

for

HG.

x

{bsx,

bx},

x

{bsx,

bx},

x

{bsx,

bdx}

-notice

that

these

hyperedges

plus

x,

x,

and

x

induce

a

clique

on

the

nodes

{bsx,

bx,

bx,

bdx};

x

{btx,

bx},

x

{btx,

bx},

and

x

{btx,

bdx}

-notice

that

these

hyperedges

plus

x,

x,

and

x

induce

a

clique

on

the

nodes

{btx,

bx,

bx,

bdx};

for

each

e

(x,

y)

E,

E(HG)

contains

the

hyperedges:

SHx

{nsx,

nsx};

THy

{nty,

nty

SEe

{nsx,

nse

x}

and

SEe

{nsx,

nse

x}

-notice

that

these

two

hyperedges

plus

SHx

induce

a

clique

on

the

nodes

{nsx,

nsx,

nse

x};

TEe

{nty,

nte

y}

and

TEe

{nty

nte

y}

-notice

that

these

two

hyperedges

plus

THy

induce

a

clique

on

the

nodes

{nty,

nty

nte

y}.

Notice

that

each

of

the

above

hyperedges

but

those

of

the

form

Sx

and

Tx

contains

exactly

two

nodes.

As

an

example

of

the

hyperedges

of

kind

and

the

reader

may

refer

to

the

example

construction

reported

in

Figure

and

notice,

for

instance,

that

Sx

{bsx,

x

x

and

that

Tt

{btt,

t

t

finally,

we

denote

by

DG

the

set

containing

the

hyperedges

in

E(HG)

of

the

third

kind.

In

the

reduction

we

are

exploiting,

DG

can

be

an

arbitrary

set

of

hyperedges

satisfying

the

four

conditions

that

are

discussed

below.

Let

PG

be

the

set

of

the

following

|PG|

|N|

|E|

pairs:

PG

{(bx,

bx)

x

N}

{(nsx,

nsx),

(nty,

nty

(nse

x,

nte

y)

e

(x,

y)

E}.

Also,

let

I(v)

denote

the

set

{h

E(H)

v

h}

of

the

hyperedges

of

H

that

are

touched

by

v;

and,

for

a

set

V

N(H),

let

I(V

v∈V

I(v).

Then,

DG

has

to

be

a

set

such

that:

∀(α,

β)

PG,

I(α)

I(β)

DG

∀(α,

β)

PG,

I(α)

I(β)

DG;

∀α

N

such

that

∃β

N

with

(α,

β)

PG

or

(β,

α)

PG,

it

holds:

I(α)

DG

and,

∀S

N

such

that

|S|

and

where

∃α,

β

S

with

(α,

β)

PG,

it

is

the

case

that:

I(S)

DG.

Intuitively,

the

set

DG

is

such

that

each

of

its

hyperedges

is

touched

by

exactly

one

of

the

two

nodes

in

every

pair

of

PG

cf.

and

Moreover,

hyperedges

in

DG

touch

only

vertices

included

in

at

least

a

pair

of

PG

cf.

and,

any

triple

of

nodes

is

not

capable

of

touching

all

the

elements

of

DG

if

of

the

pairs

that

can

be

built

from

it

belongs

to

PG

cf.

The

reader

may

now

ask

whether

a

set

DG

exists

at

all

satisfying

and

In

the

following

lemma,

we

positively

answer

this

question

and

refer

the

reader

to

its

proof

for

an

example

construction.

Lemma

A

set

DG,

with

|DG|

|PG|

satisfying

conditions

and

can

be

built

in

time

Key

Ingredients.

We

are

now

in

the

position

of

presenting

an

overview

of

the

key

ingredients

of

the

proof.

Let

G

be

an

arbitrary

item

graph

for

HG,

and

let

TD

T,

χ

be

a

tree

decomposition

of

G

(note

that,

because

of

the

cliques,

e.g.,

on

the

nodes

{bsx,

bx,

bx,

bdx},

any

item

graph

for

HG

has

treewidth

at

least).

There

are

three

basic

observations

serving

the

purpose

of

proving

the

correctness

of

the

reduction.

Blocks

of

TD:

First,

we

observe

that

TD

must

contain

some

special

kinds

of

vertex.

Specifically,

for

each

node

x

N,

TD

contains

a

vertex

bs(x)

such

that

χ(bs(x))

{bsx,

bx,

bx,

bdx},

and

a

vertex

bt(x)

such

that

χ(bt(x))

{btx,

bx,

bx,

bdx}.

And,

for

each

edge

e

(x,

y)

E,

TD

contains

a

vertex

ns(x,e)

such

that

χ(ns(x,e))

{nse

x,

nsx,

nsx},

and

a

vertex

nt(y,e)

such

that

χ(nt(y,e))

{nte

y,

nty,

nty

Intuitively,

these

vertices

are

required

to

cover

the

cliques

of

HG

associated

with

the

hyperedges

of

kind

and

Each

of

these

vertices

plays

a

specific

role

in

the

reduction.

Indeed,

each

directed

edge

e

(x,

y)

E

is

encoded

in

TD

by

means

of

the

vertices:

ns(x,e),

representing

precisely

that

e

starts

from

x;

and,

nt(y,e),

representing

precisely

that

e

terminates

into

y.

Also,

each

node

x

N

is

encoded

in

TD

be

means

of

the

vertices:

bs(x),

representing

the

starting

point

of

edges

originating

from

x;

and,

bt(x),

representing

the

terminating

point

of

edges

ending

into

x.

As

an

example,

Figure

reports

the

skeleton

of

a

tree

decomposition

TD.

The

reader

may

notice

in

it

the

blocks

defined

above

and

how

they

are

related

with

the

hypergraph

HG

in

Figure

other

blocks

in

it

(of

the

form

w(x,y))

are

defined

next.

Connectedness

between

blocks,

and

uniqueness

of

the

connections:

The

second

crucial

observation

is

that

in

the

path

connecting

a

vertex

of

the

form

bs(x)

(resp.,

bt(y))

with

a

vertex

of

the

form

ns(x,e)

(resp.,

nt(y,e))

there

is

one

special

vertex

of

the

form

w(x,y)

such

that:

χ(w(x,y))

{nse

x

nte

y

for

some

edge

e

(x,

y)

E.

Guaranteeing

the

existence

of

one

such

vertex

is

precisely

the

role

played

by

the

hyperedges

in

DG.

The

arguments

for

the

proof

are

as

follows.

First,

we

observe

that

I(χ(bs(x)))

I(χ(ns(x,e)))

DG

{Sx}

and

I(χ(bt(y)))

I(χ(nt(y,e)))

DG

{Ty}.

Then,

we

show

a

property

stating

that

for

a

pair

of

consecutive

vertices

p

and

q

in

the

path

connecting

bs(x)

and

ns(x,e)

(resp.,

bt(y)

and

nt(y,e)),

I(χ(p)

χ(q))

I(χ(bs(x)))

I(χ(ns(x,e)))

(resp.,

I(χ(p)

χ(q))

I(χ(bt(x)))

I(χ(nt(y,e)))).

Thus,

we

have:

I(χ(p)

χ(q))

DG

∪{Sx}

(resp.,

I(χ(p)∩χ(q))

DG

∪{Ty}).

Based

on

this

observation,

and

by

exploiting

the

properties

of

the

hyperedges

in

DG,

it

is

not

difficult

to

show

that

any

pair

of

consecutive

vertices

p

and

q

must

share

two

nodes

of

HG

forming

a

pair

in

PG,

and

must

both

touch

Sx

(resp.,

Ty).

When

the

treewidth

of

G

is

we

can

conclude

that

a

vertex,

say

w(x,y),

in

this

path

is

such

that

χ(w(x,y))

{nse

x

nte

y

for

some

edge

e

(x,

y)

E

to

this

end,

note

that

nse

x

Sx,

nte

t

Ty,

and

I(χ(w(x,y)))

DG.

In

particular,

w(x,y)

is

the

only

kind

of

vertex

satisfying

these

conditions,

i.e.,

in

the

path

there

is

no

further

vertex

of

the

form

w(x,z),

for

z

y

(resp.,

w(z,y),

for

z

x).

To

help

the

intuition,

we

observe

that

having

a

vertex

of

the

form

w(x,y)

in

TD

corresponds

to

the

selection

of

an

edge

from

node

x

to

node

y

in

the

Hamiltonian

path.

In

fact,

given

the

uniqueness

of

these

vertices

selected

for

ensuring

the

connectivity,

a

one-to-one

correspondence

can

be

established

between

the

existence

of

a

Hamiltonian

path

for

G

and

the

vertices

of

the

form

w(x,y).

As

an

example,

in

Figure

the

vertices

of

the

form

w(s,x),

w(x,y),

and

w(y,t)

are

in

TD,

and

GT

D

shows

the

corresponding

Hamiltonian

path.

Unused

blocks:

Finally,

the

third

ingredient

of

the

proof

is

the

observation

that

if

a

vertex

of

the

form

w(x,y),

for

an

edge

e

(x,

y)

E

is

not

in

TD

(i.e.,

if

the

edge

(x,

y)

does

not

belong

to

the

Hamiltonian

path),

then

the

corresponding

block

ns(x,e

(resp.,

nt(y,e

can

be

arbitrarily

appended

in

the

subtree

rooted

at

the

block

ns(x,e)

(resp.,

nt(y,e)),

where

e

is

the

edge

of

the

form

e

(x,

z)

(resp.,

e

(z,

y))

such

that

w(x,z)

(resp.,

w(z,y))

is

in

TD.

E.g.,

Figure

shows

w(x,t),

which

is

not

used

in

TD,

and

Figure

shows

how

the

blocks

and

can

be

arranged

in

TD

for

ensuring

the

connectedness

condition.

TRACTABLE

CASES

VIA

HYPERTREE

DECOMPOSITIONS

Since

constructing

structured

item

graphs

is

intractable,

it

is

relevant

to

assess

whether

other

structural

restrictions

can

be

used

to

single

out

classes

of

tractable

MaxWSP

instances.

To

this

end,

we

focus

on

the

notion

of

hypertree

decomposition

which

is

a

natural

generalization

of

hypergraph

acyclicity

and

which

has

been

profitably

used

in

other

domains,

e.g,

constraint

satisfaction

and

database

query

evaluation,

to

identify

tractability

islands

for

NP-hard

problems.

A

hypertree

for

a

hypergraph

H

is

a

triple

T,

χ,

λ

where

T

(N,

E)

is

a

rooted

tree,

and

χ

and

λ

are

labelling

functions

which

associate

each

vertex

p

N

with

two

sets

χ(p)

N(H)

and

λ(p)

E(H).

If

T

(N

E

is

a

subtree

of

T,

we

define

χ(T

v∈N

χ(v).

We

denote

the

set

of

vertices

N

of

T

by

vertices(T).

Moreover,

for

any

p

N,

Tp

denotes

the

subtree

of

T

rooted

at

p.

Definition

A

hypertree

decomposition

of

a

hypergraph

H

is

a

hypertree

HD

T,

χ,

λ

for

H

which

satisfies

all

the

following

conditions:

for

each

edge

h

E(H),

there

exists

p

vertices(T)

such

that

h

χ(p)

(we

say

that

p

covers

h);

Figure

Example

MaxWSP

problem:

(a)

Hypergraph

(b)

Hypergraph

(b)

A

hypertree

decomposition

of

for

each

node

Y

N(H),

the

set

{p

vertices(T)

Y

χ(p)}

induces

a

(connected)

subtree

of

T;

for

each

p

vertices(T),

χ(p)

N(λ(p));

for

each

p

vertices(T),

N(λ(p))

χ(Tp)

χ(p).

The

width

of

a

hypertree

decomposition

T,

χ,

λ

is

maxp∈vertices(T

)|λ(p)|.

The

HYPERTREE

width

hw(H)

of

H

is

the

minimum

width

over

all

its

hypertree

decompositions.

A

hypergraph

H

is

acyclic

if

hw(H)

P

Example

The

hypergraph

H

reported

in

Figure

is

an

example

acyclic

hypergraph.

Instead,

both

the

hypergraphs

and

shown

in

Figure

and

Figure

respectively,

are

not

acyclic

since

their

hypertree

width

is

A

hypertree

decomposition

for

is

reported

in

Figure

In

particular,

observe

that

has

been

obtained

by

adding

the

two

hyperedges

and

to

H

to

model,

for

instance,

that

two

new

bids,

and

respectively,

have

been

proposed

to

the

auctioneer.

In

the

following,

rather

than

working

on

the

hypergraph

H

associated

with

a

MaxWSP

problem,

we

shall

deal

with

its

dual

¯H,

i.e.,

with

the

hypergraph

such

that

its

nodes

are

in

one-to-one

correspondence

with

the

hyperedges

of

H,

and

where

for

each

node

x

N(H),

{h

x

h

h

E(H)}

is

in

E(

¯H).

As

an

example,

the

reader

may

want

to

check

again

the

hypergraph

in

Figure

and

notice

that

the

hypergraph

in

Figure

is

in

fact

its

dual.

The

rationale

for

this

choice

is

that

issuing

restrictions

on

the

original

hypergraph

is

a

guarantee

for

the

tractability

only

in

very

simple

scenarios.

Theorem

On

the

class

of

acyclic

hypergraphs,

MaxWSP

is

in

P

if

each

node

occurs

into

two

hyperedges

at

most;

and,

NP-hard,

even

if

each

node

is

contained

into

three

hyperedges

at

most.

Hypertree

Decomposition

on

the

Dual

Hypergraph

and

Tractable

Packing

Problems

For

a

fixed

constant

k,

let

C(hw,

k)

denote

the

class

of

all

the

hypergraphs

whose

dual

hypergraphs

have

hypertree

width

bounded

by

k.

The

maximum

weighted-set

packing

problem

can

be

solved

in

polynomial

time

on

the

class

C(hw,

k)

by

means

of

the

algorithm

ComputeSetPackingk,

shown

in

Figure

The

algorithm

receives

in

input

a

hypergraph

H,

a

weighting

function

w,

and

a

k-width

hypertree

decomposition

HD

T=(N,

E),

χ,

λ

of

¯H.

For

each

vertex

v

N,

let

Hv

be

the

hypergraph

whose

set

of

nodes

N(Hv)

N(H)

coincides

with

λ(v),

and

whose

set

of

edges

E(Hv)

E(H)

coincides

with

χ(v).

In

an

initialization

step,

the

algorithm

equips

each

vertex

v

with

all

the

possible

packings

for

Hv,

which

are

stored

in

the

set

Hv.

Note

that

the

size

of

Hv

is

bounded

by

(|E(H)|

since

each

node

in

λ(v)

is

either

left

uncovered

in

a

packing

or

is

covered

with

precisely

one

of

the

hyperedges

in

χ(v)

E(H).

Then,

ComputeSetPackingk

is

designed

to

filter

these

packings

by

retaining

only

those

that

conform

with

some

packing

for

Hc,

for

each

children

c

of

v

in

T,

as

formalized

next.

Let

hv

and

hc

be

two

packings

for

Hv

and

Hc,

respectively.

We

say

that

hv

conforms

with

hc,

denoted

by

hv

hc

if:

for

each

h

hc

E(Hv),

h

is

in

hv;

and,

for

each

h

(E(Hc)

hc),

h

is

not

in

hv.

Example

Consider

again

the

hypertree

decomposition

of

reported

in

Figure

Then,

the

set

of

all

the

possible

packings

(which

are

build

in

the

initialization

step

of

ComputeSetPackingk),

for

each

of

its

vertices,

is

reFigure

Example

application

of

Algorithm

ComputeSetPackingk.

Input:

H,

w,

and

a

k-width

hypertree

decomposition

HD

T

=(N,

E),

χ,

λ

of

¯H;

Output:

A

solution

to

MaxWSP(H,

w);

var

Hv

set

of

packings

for

Hv,

for

each

v

N;

h∗

packing

for

H;

v

hv

rational

number,

for

each

partial

packing

hv

for

Hv;

hhv,c

partial

packing

for

Hc,

for

each

partial

packing

hv

for

Hv,

and

for

each

(v,

c)

E;

-------------------------------------------Procedure

BottomUp;

begin

Done

the

set

of

all

the

leaves

of

T

while

∃v

T

such

that

(i)

v

Done,

and

(ii)

{c

c

is

child

of

v}

Done

do

for

each

c

such

that

(v,

c)

E

do

Hv

Hv

{hv

∃hc

Hc

s.t.

hv

hc};

for

each

hv

Hv

do

v

hv

w(hv);

for

each

c

such

that

(v,

c)

E

do

¯hc

arg

maxhc∈Hc|hv≈

hc

c

hc

w(hc

hv)

hhv,c

¯hc;

set

best

packing

v

hv

v

hv

c

¯hc

w(¯hc

hv);

end

for

end

for

Done

Done

{v};

end

while

end;

-------------------------------------------begin

MAIN

for

each

vertex

v

in

T

do

Hv

{hv

packing

for

Hv};

BottomUp;

let

r

be

the

root

of

T

¯hr

arg

maxhr∈Hr

r

hr

h∗

¯hr;

include

packing

T

opDown(r,

hr);

return

h∗

end.

Procedure

T

opDown(v

vertex

of

N,

¯hv

Hv);

begin

for

each

c

N

s.t.

(v,

c)

E

do

¯hc

h¯hv,c;

h∗

h∗

¯hc;

include

packing

T

opDown(c,

¯hc);

end

for

end;

Figure

Algorithm

ComputeSetPackingk.

ported

in

Figure

For

instance,

the

root

is

such

that

Moreover,

an

arrow

from

a

packing

hc

to

hv

denotes

that

hv

conforms

with

hc.

For

instance,

the

reader

may

check

that

the

packing

conforms

with

the

packing

but

do

not

conform

with

ComputeSetPackingk

builds

a

solution

by

traversing

T

in

two

phases.

In

the

first

phase,

vertices

of

T

are

processed

from

the

leaves

to

the

root

r,

by

means

of

the

procedure

BottomUp.

For

each

node

v

being

processed,

the

set

Hv

is

preliminary

updated

by

removing

all

the

packings

hv

that

do

not

conform

with

any

packing

for

some

of

the

children

of

v.

After

this

filtering

is

performed,

the

weight

hv

is

updated.

Intuitively,

v

hv

stores

the

weight

of

the

best

partial

packing

for

H

computed

by

using

only

the

hyperedges

occurring

in

χ(Tv).

Indeed,

if

v

is

a

leaf,

then

v

hv

w(hv).

Otherwise,

for

each

child

c

of

v

in

T,

v

hv

is

updated

with

the

maximum

of

c

hc

w(hc

hv)

over

all

the

packings

hc

that

conforms

with

hv

(resolving

ties

arbitrarily).

The

packing

¯hc

for

which

this

maximum

is

achieved

is

stored

in

the

variable

hhv,c.

In

the

second

phase,

the

tree

T

is

processed

starting

from

the

root.

Firstly,

the

packing

h∗

is

selected

that

maximizes

the

weight

equipped

with

the

packings

in

Hr.

Then,

procedure

TopDown

is

used

to

extend

h∗

to

all

the

other

partial

packings

for

vertices

of

T.

In

particular,

at

each

vertex

v,

h∗

is

extended

with

the

packing

hhv,c,

for

each

child

c

of

v.

Example

Assume

that,

in

our

running

example,

Then,

an

execution

of

ComputeSetPackingk

is

graphically

depicted

in

Figure

where

an

arrow

from

a

packing

hc

to

a

packing

hv

is

used

to

denote

that

hc

hhv,c.

Specifically,

the

choices

made

during

the

computation

are

such

that

the

packing

is

computed.

In

particular,

during

the

bottom-up

phase,

we

have

that:

is

processed,

and

we

set

and

is

processed,

and

we

set

and

is

processed,

and

we

set

and

is

processed

and

we

set

and

For

instance,

note

that

since

conforms

with

the

packing

of

such

that

Then,

at

the

beginning

of

the

top-down

phase,

ComputeSetPackingk

selects

as

a

packing

for

and

propagates

this

choice

in

the

tree.

Equivalently,

the

algorithm

may

have

chosen

As

a

further

example,

the

way

the

solution

is

obtained

by

the

algorithm

when

and

is

reported

in

Figure

Notice

that,

this

time,

in

the

top-down

phase,

ComputeSetPackingk

starts

selecting

as

the

best

packing

for

Theorem

Let

H

be

a

hypergraph

and

w

be

a

weighting

function

for

it.

Let

HD

T,

χ,

λ

be

a

complete

k-width

hypertree

decomposition

of

¯H.

Then,

ComputeSetPackingk

on

input

H,

w,

and

HD

correctly

outputs

a

solution

for

MaxWSP(H,

w)

in

time

O(|T|

(|E(H)|

Proof.

[Sketch]

We

observe

that

h∗

(computed

by

ComputeSetPackingk)

is

a

packing

for

H.

Indeed,

consider

a

pair

of

hyperedges

and

in

h∗

and

assume,

for

the

sake

of

contradiction,

that

Let

(resp.,

be

an

arbitrary

vertex

of

T,

for

which

ComputeSetPackingk

included

(resp.,

in

h∗

in

the

bottom-down

computation.

By

construction,

we

have

and

Let

I

be

an

element

in

In

the

dual

hypergraph

H,

I

is

a

hyperedge

in

E(

¯H)

which

covers

both

the

nodes

and

Hence,

by

condition

in

Definition

there

is

a

vertex

v

vertices(T)

such

that

χ(v).

Note

that,

because

of

the

connectedness

condition

in

Definition

we

can

also

assume,

w.l.o.g.,

that

v

is

in

the

path

connecting

and

in

T.

Let

hv

Hv

denote

the

element

added

by

ComputeSetPackingk

into

h∗

during

the

bottom-down

phase.

Since

the

elements

in

Hv

are

packings

for

Hv,

it

is

the

case

that

either

hv

or

hv.

Assume,

w.l.o.g.,

that

hv,

and

notice

that

each

vertex

w

in

T

in

the

path

connecting

v

to

is

such

that

χ(w),

because

of

the

connectedness

condition.

Hence,

because

of

definition

of

conformance,

the

packing

hw

selected

by

ComputeSetPackingk

to

be

added

at

vertex

w

in

h∗

must

be

such

that

hw.

This

holds

in

particular

for

w

Contradiction

with

the

definition

of

Therefore,

h∗

is

a

packing

for

H.

It

remains

then

to

show

that

it

has

the

maximum

weight

over

all

the

packings

for

H.

To

this

aim,

we

can

use

structural

induction

on

T

to

prove

that,

in

the

bottom-up

phase,

the

variable

v

hv

is

updated

to

contain

the

weight

of

the

packing

on

the

edges

in

χ(Tv),

which

contains

hv

and

which

has

the

maximum

weight

over

all

such

packings

for

the

edges

in

χ(Tv).

Then,

the

result

follows,

since

in

the

top-down

phase,

the

packing

hr

giving

the

maximum

weight

over

χ(Tr)

E(H)

is

first

included

in

h∗

and

then

extended

at

each

node

c

with

the

packing

hhv,c

conformingly

with

hv

and

such

that

the

maximum

value

of

v

hv

is

achieved.

As

for

the

complexity,

observe

that

the

initialization

step

requires

the

construction

of

the

set

Hv,

for

each

vertex

v,

and

each

set

has

size

(|E(H)|

at

most.

Then,

the

function

BottomUp

checks

for

the

conformance

between

strategies

in

Hv

with

strategies

in

Hc,

for

each

pair

(v,

c)

E,

and

updates

the

weight

v

hv

These

tasks

can

be

carried

out

in

time

O((|E(H)|

and

must

be

repeated

for

each

edge

in

T,

i.e.,

O(|T|)

times.

Finally,

the

function

TopDown

can

be

implemented

in

linear

time

in

the

size

of

T,

since

it

just

requires

updating

h∗

by

accessing

the

variable

hhv,c.

The

above

result

shows

that

if

a

hypertree

decomposition

of

width

k

is

given,

the

MaxWSP

problem

can

be

efficiently

solved.

Moreover,

differently

from

the

case

of

structured

item

graphs,

it

is

well

known

that

deciding

the

existence

of

a

k-bounded

hypertree

decomposition

and

computing

one

(if

any)

are

problems

which

can

be

efficiently

solved

in

polynomial

time

Therefore,

Theorem

witnesses

that

the

class

C(hw,

k)

actually

constitutes

a

tractable

class

for

the

winner

determination

problem.

As

the

following

theorem

shows,

for

large

subclasses

(that

depend

only

on

how

the

weight

function

is

specified),

MaxWSP(H,

w)

is

even

highly

parallelizeable.

Let

us

call

a

weighting

function

smooth

if

it

is

logspace

computable

and

if

all

weights

are

polynomial

(and

thus

just

require

O(log

n)

bits

for

their

representation).

Recall

that

LOGCFL

is

a

parallel

complexity

class

contained

in

cf.

The

functional

version

of

LOGCFL

is

LLOGCFL

which

is

obtained

by

equipping

a

logspace

transducer

with

an

oracle

in

LOGCFL.

Theorem

Let

H

be

a

hypergraph

in

C(hw,

k),

and

let

w

be

a

smooth

weighting

function

for

it.

Then,

MaxWSP(H,

w)

is

in

LLOGCFL

HYPERTREE

DECOMPOSITIONS

VS

STRUCTURED

ITEM

GRAPHS

Given

that

the

class

C(hw,

k)

has

been

shown

to

be

an

island

of

tractability

for

the

winner

determination

problem,

and

given

that

the

class

C(ig,

k)

has

been

shown

not

to

be

efficiently

recognizable,

one

may

be

inclined

to

think

that

there

are

instances

having

unbounded

hypertree

width,

but

admitting

an

item

graph

of

bounded

tree

width

(so

that

the

intractability

of

structured

item

graphs

would

lie

in

their

generality).

Surprisingly,

we

establish

this

is

not

the

case.

The

line

of

the

proof

is

to

first

show

that

structured

item

graphs

are

in

one-to-one

correspondence

with

a

special

kind

of

hypertree

decompositions

of

the

dual

hypergraph,

which

we

shall

call

strict.

Then,

the

result

will

follow

by

proving

that

k-width

strict

hypertree

decompositions

are

less

powerful

than

kwith

hypertree

decompositions.

Strict

Hypertree

Decompositions

Let

H

be

a

hypergraph,

and

let

V

N(H)

be

a

set

of

nodes

and

X,

Y

N(H).

X

is

[V

]-adjacent

to

Y

if

there

exists

an

edge

h

E(H)

such

that

{X,

Y

(h

V

A

[V

]-path

π

from

X

to

Y

is

a

sequence

X

X

Y

of

variables

such

that:

Xi

is

[V

]-adjacent

to

for

each

i

A

set

W

N(H)

of

nodes

is

[V

]-connected

if

∀X,

Y

W

there

is

a

[V

]-path

from

X

to

Y

A

[V

]-component

is

a

maximal

[V

]-connected

non-empty

set

of

nodes

W

(N(H)

V

For

any

[V

]-component

C,

let

E(C)

{h

E(H)

h

C

Definition

A

hypertree

decomposition

HD

T,

χ,

λ

of

H

is

strict

if

the

following

conditions

hold:

for

each

pair

of

vertices

r

and

s

in

vertices(T)

such

that

s

is

a

child

of

r,

and

for

each

[χ(r)]-component

Cr

s.t.

Cr

χ(Ts)

Cr

is

a

[χ(r)

N(λ(r)

λ(s))]-component;

for

each

edge

h

E(H),

there

is

a

vertex

p

such

that

h

λ(p)

and

h

χ(p)

(we

say

p

strongly

covers

h);

for

each

edge

h

E(H),

the

set

{p

vertices(T)

h

λ(p)}

induces

a

(connected)

subtree

of

T.

The

strict

hypertree

width

shw(H)

of

H

is

the

minimum

width

over

all

its

strict

hypertree

decompositions.

P

The

basic

relationship

between

nice

hypertree

decompositions

and

structured

item

graphs

is

shown

in

the

following

theorem.

Theorem

Let

H

be

a

hypergraph

such

that

for

each

node

v

N(H),

{v}

is

in

E(H).

Then,

a

k-width

tree

decomposition

of

an

item

graph

for

H

exists

if

and

only

if

¯H

has

a

(k

strict

hypertree

Note

that,

as

far

as

the

maximum

weighted-set

packing

problem

is

concerned,

given

a

hypergraph

H,

we

can

always

assume

that

for

each

node

v

N(H),

{v}

is

in

E(H).

In

fact,

if

this

hyperedge

is

not

in

the

hypergraph,

then

it

can

be

added

without

loss

of

generality,

by

setting

w({v})

Therefore,

letting

C(shw,

k)

denote

the

class

of

all

the

hypergraphs

whose

dual

hypergraphs

(associated

with

maximum

The

term

only

plays

the

technical

role

of

taking

care

of

the

different

definition

of

width

for

tree

decompositions

and

hypertree

decompositions.

weighted-set

packing

problems)

have

strict

hypertree

width

bounded

by

k,

we

have

that

C(shw,

k

C(ig,

k).

By

definition,

strict

hypertree

decompositions

are

special

hypertree

decompositions.

In

fact,

we

are

able

to

show

that

the

additional

conditions

in

Definition

induce

an

actual

restriction

on

the

decomposition

power.

Theorem

C(ig,

k)

C(shw,

k

C(hw,

k

A

Game

Theoretic

View.

We

shed

further

lights

on

strict

hypertree

decompositions

by

discussing

an

interesting

characterization

based

on

the

strict

Robber

and

Marshals

Game,

defined

by

adapting

the

Robber

and

Marshals

game

defined

in

which

characterizes

hypertree

width.

The

game

is

played

on

a

hypergraph

H

by

a

robber

against

k

marshals

which

act

in

coordination.

Marshals

move

on

the

hyperedges

of

H,

while

the

robber

moves

on

nodes

of

H.

The

robber

sees

where

the

marshals

intend

to

move,

and

reacts

by

moving

to

another

node

which

is

connected

with

its

current

position

and

through

a

path

in

G(H)

which

does

not

use

any

node

contained

in

a

hyperedge

that

is

occupied

by

the

marshals

before

and

after

their

move-we

say

that

these

hyperedges

are

blocked.

Note

that

in

the

basic

game

defined

in

the

robber

is

not

allowed

to

move

on

vertices

that

are

occupied

by

the

marshals

before

and

after

their

move,

even

if

they

do

not

belong

to

blocked

hyperedges.

Importantly,

marshals

are

required

to

play

monotonically,

i.e.,

they

cannot

occupy

an

edge

that

was

previously

occupied

in

the

game,

and

which

is

currently

not.

The

marshals

win

the

game

if

they

capture

the

robber,

by

occupying

an

edge

covering

a

node

where

the

robber

is.

Otherwise,

the

robber

wins.

Theorem

Let

H

be

a

hypergraph

such

that

for

each

node

v

N(H),

{v}

is

in

E(H).

Then,

¯H

has

a

k-width

strict

hypertree

decomposition

if

and

only

if

k

marshals

can

win

the

strict

Robber

and

Marshals

Game

on

¯H,

no

matter

of

the

robber"s

moves.

CONCLUSIONS

We

have

solved

the

open

question

of

determining

the

complexity

of

computing

a

structured

item

graph

associated

with

a

combinatorial

auction

scenario.

The

result

is

bad

news,

since

it

turned

out

that

it

is

NP-complete

to

check

whether

a

combinatorial

auction

has

a

structured

item

graph,

even

for

treewidth

Motivated

by

this

result,

we

investigated

the

use

of

hypertree

decomposition

(on

the

dual

hypergraph

associated

with

the

scenario)

and

we

shown

that

the

problem

is

tractable

on

the

class

of

those

instances

whose

dual

hypergraphs

have

bounded

hypertree

width.

For

some

special,

yet

relevant

cases,

a

highly

parallelizable

algorithm

is

also

discussed.

Interestingly,

it

also

emerged

that

the

class

of

structured

item

graphs

is

properly

contained

in

the

class

of

instances

having

bounded

hypertree

width

(hence,

the

reason

of

their

intractability

is

not

their

generality).

In

particular,

the

latter

result

is

established

by

showing

a

precise

relationship

between

structured

item

graphs

and

restricted

forms

of

hypertree

decompositions

(on

the

dual

hypergraph),

called

query

decompositions

(see,

e.g.,

In

the

light

of

this

observation,

we

note

that

proving

some

approximability

results

for

structured

item

graphs

requires

a

deep

understanding

of

the

approximability

of

query

decompositions,

which

is

currently

missing

in

the

literature.

As

a

further

avenue

of

research,

it

would

be

relevant

to

enhance

the

algorithm

ComputeSetPackingk,

e.g.,

by

using

specialized

data

structures,

in

order

to

avoid

the

quadratic

dependency

from

(|E(H)|

Finally,

an

other

interesting

question

is

to

assess

whether

the

structural

decomposition

techniques

discussed

in

the

paper

can

be

used

to

efficiently

deal

with

generalizations

of

the

winner

determination

problem.

For

instance,

it

might

be

relevant

in

several

application

scenarios

to

design

algorithms

that

can

find

a

selling

strategy

when

several

copies

of

the

same

item

are

available

for

selling,

and

when

moreover

the

auctioneer

is

satisfied

when

at

least

a

given

number

of

copies

is

actually

sold.

Acknowledgement

G.

Gottlob"s

work

was

supported

by

the

E-Commerce

Competence

Center

(Vienna)

and

by

a

Royal

Society

Wolfson

Research

Merit

Award.

In

particular,

this

Award

allowed

Gottlob

to

invite

G.

Greco

for

a

research

visit

to

Oxford.

In

addition,

G.

Greco

is

supported

by

ICAR-CNR,

and

by

M.I.U.R.

under

project

TOCAI.IT.

REFERENCES

I.

Adler,

G.

Gottlob,

and

M.

Grohe.

Hypertree-Width

and

Related

Hypergraph

Invariants.

In

Proc.

of

pages

C.

Boutilier.

Solving

Concisely

Expressed

Combinatorial

Auction

Problems.

In

Proc.

of

pages

V.

Conitzer,

J.

Derryberry,

and

T.

Sandholm.

Combinatorial

auctions

with

structured

item

graphs.

In

Proc.

of

pages

E.

M.

Eschen

and

J.

P.

Sinrad.

An

algorithm

for

circular-arc

graph

recognition.

In

Proc.

of

pages

Y.

Fujishima,

K.

Leyton-Brown,

and

Y.

Shoham.

Taming

the

computational

complexity

of

combinatorial

auctions:

Optimal

and

approximate.

In

Proc.

of

pages

G.

Gottlob,

N.

Leone,

and

F.

Scarcello.

Robbers,

marshals,

and

guards:

game

theoretic

and

logical

characterizations

of

hypertree

width.

Journal

of

Computer

and

System

Sciences,

G.

Gottlob,

N.

Leone,

and

S.

Scarcello.

Hypertree

decompositions

and

tractable

queries.

Journal

of

Computer

and

System

Sciences,

H.

H.

Hoos

and

C.

Boutilier.

Solving

combinatorial

auctions

using

stochastic

local

search.

In

Proc.

of

pages

D.

Johnson.

A

Catalog

of

Complexity

Classes.

In

P.

Cramton,

Y.

Shoham,

and

R.

Steinberg,

editors,

Handbook

of

Theoretical

Computer

Science,

Volume

A:

Algorithms

and

Complexity,

pages

N.

Korte

and

R.

H.

Mohring.

An

incremental

linear-time

algorithm

for

recognizing

interval

graphs.

SIAM

Journal

on

Computing,

D.

Lehmann,

R.

M¨uller,

and

T.

Sandholm.

The

Winner

Determination

Problem.

In

P.

Cramton,

Y.

Shoham,

and

R.

Steinberg,

editors,

Combinatorial

Auctions.

MIT

Press,

D.

Lehmann,

L.

I.

O"Callaghan,

and

Y.

Shoham.

Truth

revelation

in

approximately

efficient

combinatorial

auctions.

J.

ACM,

R.

McAfee

and

J.

McMillan.

Analyzing

the

airwaves

auction.

Journal

of

Economic

Perspectives,

J.

McMillan.

Selling

spectrum

rights.

Journal

of

Economic

Perspectives,

N.

Nisan.

Bidding

and

allocation

in

combinatorial

auctions.

In

Proc.

of

pages

N.

Robertson

and

P.

Seymour.

Graph

minors

ii.

algorithmic

aspects

of

tree

width.

Journal

of

Algorithms,

M.

H.

Rothkopf,

A.

Pekec,

and

R.

M.

Harstad.

Computationally

manageable

combinatorial

auctions.

Management

Science,

T.

Sandholm.

An

implementation

of

the

contract

net

protocol

based

on

marginal

cost

calculations.

In

Proc.

of

pages

T.

Sandholm.

Algorithm

for

optimal

winner

determination

in

combinatorial

auctions.

Artificial

Intelligence,

T.

Sandholm.

Winner

determination

algorithms.

In

P.

Cramton,

Y.

Shoham,

and

R.

Steinberg,

editors,

Combinatorial

Auctions.

MIT

Press,

T.

Sandholm

and

S.

Suri.

Bob:

Improved

winner

determination

in

combinatorial

auctions

and

generalizations.

Artificial

Intelligence,

M.

Tennenholtz.

Some

tractable

combinatorial

auctions.

In

Proc.

of

pages

E.

Zurel

and

N.

Nisan.

An

efficient

approximate

allocation

algorithm

for

combinatorial

auctions.

In

Proc.

of

pages

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

well-known mechanism for resource and task allocation

hypergraph
combinatorial auction
hypertree decomposition
simplification of the primal graph
structured item graph
fixed treewidth
polynomial time