47
Sorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini ULB Gwena¨ el Joret ULB Rapha¨ el Jungers UCL/MIT Ian Munro Waterloo

Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Sorting under partial information(without the ellipsoid algorithm)

Jean CardinalULB

Samuel FioriniULB

Gwenael JoretULB

Raphael JungersUCL/MIT

Ian MunroWaterloo

Page 2: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Sorting by comparisons under partial information

Input:

I set V = {v1, . . . , vn}, with unknown linear order 6

I poset P = (V , 6P) compatible with (V , 6)

Goal: Discover 6 by making queries “is vi 6 vj?”

Objective function: #queries

Page 3: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Sorting by comparisons under partial information

Input:

I set V = {v1, . . . , vn}, with unknown linear order 6

I poset P = (V , 6P) compatible with (V , 6)

Goal: Discover 6 by making queries “is vi 6 vj?”

Objective function: #queries

Page 4: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Sorting by comparisons under partial information

Input:

I set V = {v1, . . . , vn}, with unknown linear order 6

I poset P = (V , 6P) compatible with (V , 6)

Goal: Discover 6 by making queries “is vi 6 vj?”

Objective function: #queries

Page 5: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Sorting by comparisons under partial information

Input:

I set V = {v1, . . . , vn}, with unknown linear order 6

I poset P = (V , 6P) compatible with (V , 6)

Goal: Discover 6 by making queries “is vi 6 vj?”

Objective function: #queries

OR ?

Page 6: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Sorting by comparisons under partial information

Input:

I set V = {v1, . . . , vn}, with unknown linear order 6

I poset P = (V , 6P) compatible with (V , 6)

Goal: Discover 6 by making queries “is vi 6 vj?”

Objective function: #queries

?OR

Page 7: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Sorting by comparisons under partial information

Input:

I set V = {v1, . . . , vn}, with unknown linear order 6

I poset P = (V , 6P) compatible with (V , 6)

Goal: Discover 6 by making queries “is vi 6 vj?”

Objective function: #queries

Page 8: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Sorting by comparisons under partial information

Input:

I set V = {v1, . . . , vn}, with unknown linear order 6

I poset P = (V , 6P) compatible with (V , 6)

Goal: Discover 6 by making queries “is vi 6 vj?”

Objective function: #queries

OR ?

Page 9: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Sorting by comparisons under partial informationInput:

I set V = {v1, . . . , vn}, with unknown linear order 6

I poset P = (V , 6P) compatible with (V , 6)

Goal: Discover 6 by making queries “is vi 6 vj?”

Objective function: #queries

OR ?

Page 10: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Sorting by comparisons under partial information

Input:

I set V = {v1, . . . , vn}, with unknown linear order 6

I poset P = (V , 6P) compatible with (V , 6)

Goal: Discover 6 by making queries “is vi 6 vj?”

Objective function: #queries

Page 11: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Lower bound on #queries

Every algorithm can be forced to a #queries that is at least

lg(#linear extensions of P) = lg e(P)

lg n! lg e(P) 0

uncertainty

Page 12: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Results

• Known results

#queries complexity

Fredman 1976 lg e(P) + 2n super-polynomialKahn & Saks 1984 O(lg e(P)) super-polynomialKahn & Kim 1995 O(lg e(P)) polynomial (ellipsoid alg.)

• Our contribution: two ellipsoid-free algorithms

#queries complexity

Algorithm 1 (1 + ε)lg e(P) + Oε(n) ∀ε > 0 O(n2.5)Algorithm 2 O(lg e(P)) O(n2.5)

+ preprocessing in O(n2.5), sort linear in #queries and n

+ better understanding of entropy of P

Page 13: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Results

• Known results

#queries complexity

Fredman 1976 lg e(P) + 2n super-polynomialKahn & Saks 1984 O(lg e(P)) super-polynomialKahn & Kim 1995 O(lg e(P)) polynomial (ellipsoid alg.)

• Our contribution: two ellipsoid-free algorithms

#queries complexity

Algorithm 1 (1 + ε)lg e(P) + Oε(n) ∀ε > 0 O(n2.5)Algorithm 2 O(lg e(P)) O(n2.5)

+ preprocessing in O(n2.5), sort linear in #queries and n

+ better understanding of entropy of P

Page 14: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Computing the lower bound

Computing e(P) is #P-complete Brightwell & Winkler 1991

As Kahn & Kim 1995, use the entropy H(P)

Why?

I lg e(P) = Θ(nH(P)) Kahn & Kim 1995

I H(P) can be “computed” in poly-time using the ellipsoidalgorithm (or an interior point algorithm)

Page 15: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Computing Approximating the lower bound

Computing e(P) is #P-complete Brightwell & Winkler 1991

As Kahn & Kim 1995, use the entropy H(P)

Why?

I lg e(P) = Θ(nH(P)) Kahn & Kim 1995

I H(P) can be “computed” in poly-time using the ellipsoidalgorithm (or an interior point algorithm)

Page 16: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Computing Approximating the lower bound

Computing e(P) is #P-complete Brightwell & Winkler 1991

As Kahn & Kim 1995, use the entropy H(P)

Why?

I lg e(P) = Θ(nH(P)) Kahn & Kim 1995

I H(P) can be “computed” in poly-time using the ellipsoidalgorithm (or an interior point algorithm)

Page 17: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Computing Approximating the lower bound

Computing e(P) is #P-complete Brightwell & Winkler 1991

As Kahn & Kim 1995, use the entropy H(P)

Why?

I lg e(P) = Θ(nH(P)) Kahn & Kim 1995

I H(P) can be “computed” in poly-time using the ellipsoidalgorithm (or an interior point algorithm)

Page 18: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Entropy“New” definition – original definition due to Korner 1973, applies to any graph

{(yv− , yv+)}v∈V is consistent with P if

I ∀v ∈ V : (yv− , yv+) open interval ⊆ (0, 1)

I v 6P w =⇒ yv+ ≤ yw−

P 0 1 I

H(P) := min{− 1

n

∑v∈V

lg xv | ∃{(yv− , yv+)}v∈V consistent with P

s.t. xv = yv+ − yv− ∀v ∈ V}

H(P) = 1nדinformation” in P

Page 19: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Entropy“New” definition – original definition due to Korner 1973, applies to any graph

{(yv− , yv+)}v∈V is consistent with P if

I ∀v ∈ V : (yv− , yv+) open interval ⊆ (0, 1)

I v 6P w =⇒ yv+ ≤ yw−

P 0 1 I

H(P) := min{− 1

n

∑v∈V

lg xv | ∃{(yv− , yv+)}v∈V consistent with P

s.t. xv = yv+ − yv− ∀v ∈ V}

H(P) := lg n − H(P) = 1nדuncertainty” in P

Page 20: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Bounds I“Additive” bound via the order polytope

O(P) := {y ∈ [0, 1]V | v 6P w =⇒ yv ≤ yw}

Easy fact 1. volume O(P) =e(P)

n!

Easy fact 2. {(yv− , yv+)}v∈V consistent with P

=⇒∏v∈V

[yv− , yv+ ] ⊆ O(P)

=⇒∏v∈V

xv ≤ volume O(P)

Corollary.

nH(P) ≤ lg e(P) + n lg e K&K 1995

Page 21: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Bounds II“multiplicative” bound

lg e(P) ≤ nH(P) ≤ c · lg e(P) K&K 1995

where c = 1 + 7 lg e ' 11.1

Rmk: Lower bound tight, but not upper bound

I K&K conjectured

nH(P) ≤ (1 + lg e) · lg e(P) (1 + lg e ' 2.44)

I We provenH(P) ≤ 2 · lg e(P)

(tight)

Page 22: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Bounds II“multiplicative” bound

lg e(P) ≤ nH(P) ≤ c · lg e(P) K&K 1995

where c = 1 + 7 lg e ' 11.1

Rmk: Lower bound tight, but not upper bound

I K&K conjectured

nH(P) ≤ (1 + lg e) · lg e(P) (1 + lg e ' 2.44)

I We provenH(P) ≤ 2 · lg e(P)

(tight)

Page 23: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Bounds II“multiplicative” bound

lg e(P) ≤ nH(P) ≤ c · lg e(P) K&K 1995

where c = 1 + 7 lg e ' 11.1

Rmk: Lower bound tight, but not upper bound

I K&K conjectured

nH(P) ≤ (1 + lg e) · lg e(P) (1 + lg e ' 2.44)

I We provenH(P) ≤ 2 · lg e(P)

(tight)

Page 24: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

K&K’s algorithm

Key lemma:

∃ incomparable pair a, b s.t.

max{

nH(P(a < b)), nH(P(a > b))}≤ nH(P)− c ,

where c ' 0.2

Algorithm:

1. Repeat:

1.1 Compute H(P) and optimal solution x∗

1.2 Find good incomparable pair a, b using x∗

1.3 Compare a and b1.4 Update P

#steps = O(nH(P)) = O(lg e(P))

Page 25: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

GreedyGreedy chain decomposition of P → U := C1 ∪ · · · ∪ Ck

C1 C2 C3 C4 C5 C6 C7

H(U) =k∑

i=1

−|Ci |n

lg|Ci |n

From perfectness of incomparability graph of P:

H(U) ≤ (1 + ε)H(P) + Oε(1) ∀ε > 0 CFJJM 2009

Extends to every perfect graph!

Page 26: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

GreedyGreedy chain decomposition of P → U := C1 ∪ · · · ∪ Ck

C1 C2 C3 C4 C5 C6 C7

H(U) =k∑

i=1

−|Ci |n

lg|Ci |n

From perfectness of incomparability graph of P:

H(U) ≤ (1 + ε)H(P) + Oε(1) ∀ε > 0 CFJJM 2009

Extends to every perfect graph!

Page 27: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithms

#queries complexity

Algorithm 1 (1 + ε)lg e(P) + Oε(n) ∀ε > 0 O(n2.5)Algorithm 2 O(lg e(P)) O(n2.5)

Algorithm 1: greedy + merge sort

Algorithm 2: greedy + “cautious” merge sort

Page 28: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 1

1. Compute greedy chain decomposition of P

2. Iteratively merge two smallest chains

C1 C2 C3 C4 C5 C6 C7

Page 29: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 1

1. Compute greedy chain decomposition of P

2. Iteratively merge two smallest chains

Page 30: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 1

1. Compute greedy chain decomposition of P

2. Iteratively merge two smallest chains

Page 31: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 1

1. Compute greedy chain decomposition of P

2. Iteratively merge two smallest chains

Page 32: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 1

1. Compute greedy chain decomposition of P

2. Iteratively merge two smallest chains

ETC.

Page 33: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 1

Huffman trees: average root-to-leaf distance in tree at most(k∑

i=1

−|Ci |n

lg|Ci |n

)+ 1 = H(U) + 1

Page 34: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 1

Huffman trees: average root-to-leaf distance in tree at most(k∑

i=1

−|Ci |n

lg|Ci |n

)+ 1 = H(U) + 1

⇒ . . . ⇒ at most (H(U) + 1)n comparisons

Page 35: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 1

Huffman trees: average root-to-leaf distance in tree at most(k∑

i=1

−|Ci |n

lg|Ci |n

)+ 1 = H(U) + 1

⇒ . . . ⇒ at most (H(U) + 1)n comparisons

(H(U) + 1)n ≤ (1 + ε)nH(P) + Oε(n) greedy

≤ (1 + ε)(lg e(P) + n lg e

)+ Oε(n) K&K’s additive bd

= (1 + ε)lg e(P) + Oε(n)

Page 36: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 2

Pick a maximum chain A

AApply Algorithm 1 on P −A

BA

Merging UnderPartial Information(MUPI)

Page 37: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 2

Pick a maximum chain A

AApply Algorithm 1 on P −A

BA

Merging UnderPartial Information(MUPI)

#comparisons in step 2 at most

Page 38: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 2

Pick a maximum chain A

AApply Algorithm 1 on P −A

BA

Merging UnderPartial Information(MUPI)

#comparisons in step 2 at most

(1 + ε) lg e(P − A) + Oε(|P − A|)

Page 39: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 2

Pick a maximum chain A

AApply Algorithm 1 on P −A

BA

Merging UnderPartial Information(MUPI)

#comparisons in step 2 at most

(1 + ε) lg e(P − A) + Oε(|P − A|)

[ Interlude ] An easy lemma (take all intervals of length xv = 1|A|):

H(P) ≥ − lg|A|n

⇒ |A| ≥ 2−H(P)n

⇒ |P −A| ≤ n(

1− 2−H(P))≤ ln 2 · nH(P) (using 1− 2−x ≤ ln 2 · x)

Page 40: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 2

Pick a maximum chain A

AApply Algorithm 1 on P −A

BA

Merging UnderPartial Information(MUPI)

#comparisons in step 2 at most

(1 + ε) lg e(P − A) + Oε(|P − A|)≤ (1 + ε) lg e(P − A) + Oε

(ln 2 · nH(P)

)≤ (1 + ε)lg e(P) + Oε (lg e(P)) K&K’s multiplicative bd

= Oε (lg e(P))

Page 41: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Algorithm 2

Pick a maximum chain A

AApply Algorithm 1 on P −A

BA

Merging UnderPartial Information(MUPI)

#comparisons in step 2 at most

(1 + ε) lg e(P − A) + Oε(|P − A|)≤ (1 + ε) lg e(P − A) + Oε

(ln 2 · nH(P)

)≤ (1 + ε)lg e(P) + Oε (lg e(P)) K&K’s multiplicative bd

= Oε (lg e(P))

What about partial information P ′ in step 3?

P ′ ⊇ P ⇒ lg e(P ′) ≤ lg e(P)

⇒ enough to solve MUPI = Merging under Partial Information!

Page 42: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini
Page 43: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Merging under partial information

Overview for MUPI:

1. Compute entropy exactly (easier) Korner and Marton 1988

2. Use Hwang-Lin merging algorithm guided by x∗

3. Update x∗

Page 44: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Posets of width ≤ 2

In that special case, the incomparability graph of P is bipartite

A1

A2B2

B3

B1

A3

Korner and Marton 1988:

I optimal solution for entropy has “block structure”

I can be computed via a greedy algorithm

Page 45: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Posets of width ≤ 2

bipartite incomparability graphs =⇒ x∗ defining H(P) has aneven nicer structure

A1

A2B2

B3

B1

A3

I Ai interval of A, Bi interval of B, same ordering

I x∗v = (|Ai |+ |Bi |)/n|Ai | whenever v ∈ Ai

Can compute H(P) and x∗ in time O(n2 log2 n)

Page 46: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Solving MUPI - general ideas

A1

A2B2

B3

B1

A3

Compute entropy and x∗

Apply Hwang-Ling merging algorithm on each component Ai ∪ Bi

with |Ai | ≥ |Bi |, in a certain order

Update x∗ locally after each merging (details omitted)

Overall #comparisons is ≤ 3nH(P)

Page 47: Sorting under partial information (without the ellipsoid ...vetta/Workshop/fiorini.pdfSorting under partial information (without the ellipsoid algorithm) Jean Cardinal ULB Samuel Fiorini

Thank You!