Correctness of Constructing Optimal Alphabetic Trees Revisited

Preview:

DESCRIPTION

Correctness of Constructing Optimal Alphabetic Trees Revisited. Theoretical computer science 180 (1997) 309-324. Marek Karpinski, Lawrence L. Larmore, Wojciech Rytter. Outline. Definitions General version of Garsia-Wachs (GW) algorithm Proof of GW Hu-Tacker (HT) algorithm - PowerPoint PPT Presentation

Citation preview

Correctness of Constructing Optimal Alphabetic Trees Revisited

Marek Karpinski,

Lawrence L. Larmore,

Wojciech Rytter

Theoretical computer science 180 (1997) 309-324

18/12/2000 2

Outline

Definitions General version of Garsia-Wachs (GW)

algorithm Proof of GW Hu-Tacker (HT) algorithm Proof of HT by similarity to GW

18/12/2000 3

Definitions

nipi 1 0 weights

npp ...n Permutatio 1

Binary tree: Every internal node has exactly two sons

n

iTi ipT

1

)(level)cost(

T in tree leafth - theofdepth theis )(level iiT

18/12/2000 4

Definitions

1)TwoSum( ii ppi

2 if )1TwoSum()TwoSum(

and

1 if )TwoSum()1TwoSum(

:if (lmp) a is )1,(

n-iii

iii-

imal pairlocaly minii

18/12/2000 5

The Move Operator

w

w

w

ofneighbor larger right

nearest theofr predecesso theis )(RightPos

: thenlist ain itemany is If

RPw

wwwwwww 7654321

)149675813(

18/12/2000 6

The Move Operator

wRP

wwwwwww 7625431

)149867513(

),RightPos(w of

right the to wmovingby Changes ),(

wmove

18/12/2000 7

The Move Operator

weight(v) t(u) weigh

leastat is weight whoseitemright

nearest theofr predecesso theis ),(RightPos

: thenlist ain itemsadjacent twoare v, If

vu

u

RPvu

wwwwwww 7654321

)149675813(

18/12/2000 8

The Move Operator

vuRP

wwwwwww 7326541

)145896713(

),RightPos(w of

right the to vandu movingby Changes ),,(

vumove

18/12/2000 9

Definitions

njiijii

jii

ji

ji

,...,1,1,,,...,2,1,...,1

ofright the to1 and position in items e th

movingby from created sequence theis

,

,

21

iff )( are and 2121

TT levellevel

TTTT

equivalent level

18/12/2000 10

Theorem 1 (correctness of GW)

TT,...,nπ

T

i,iπT

j),iRightPos(i)(i,i

i,j

such that 1 sequence

original over the treealphabetic optimalan is Then there

siblings.

are 1in which sequence over the treea be let and

1 and a be 1Let pair minimallocaly

18/12/2000 11

Garsia-Wachs Algorithm

;

;1

);

);

; delete and item new by the replace

; is weight whose vitem new a create

of any find

;0

);GW(

end

begin else

thenif

procedure

level[v]level[w]:level[u]:

GW(π

Move(v,π

wvu

pp

(u,w)

level[v]

wu

lmp

18/12/2000 12

Definitions

level same at the are 1ii, and 1,...n

over treesalphabetic optimal all ofset - )(

iOPT

),iRightPos(ij

i,i

(i)OPT

ji

moved

1 ere wh

level same at the are 1 and

over treesalphabetic optimal all ofset -

,

versa viceand such that

is thereeach for iff

TT

TOPTOPTTTOPOPT

18/12/2000 13

Theorem 2

siblings. as 1 with treea contains (3)

. treealphabetic optimalan contains (2)

. (1)

Then .an be 1Let

i,iT(i)OPT

TOPT(i)

(i)OPTOPT(i)

)(i,i

moved

moved

lmp

18/12/2000 14

Shift Operations

Tin leaves ofsegment econsecutiv acover trees thoseand

2k ,...,T subtreesdisjoint of roots are ,...,v

iffcut a called is Tin nodes of ,...,v Sequence

11

1

kk

k

Tv

v

18/12/2000 15

Shift Operations

kk

k

i-i

k

vv

v

vvki

vu,v

vvuv

u,v

vvLeftShift

offather to of sibling of subtree move

delete

to of subtree move 2for

under put

to of subtree and , to of subtree move

nodes new Two

),...,(

1

1

21

1

waysame in the Defined

),...,( 1 kvvRightShift

18/12/2000 16

LeftShift Example

201 2 17 18 19

1v2v

3v4v 5v

43

5 6 7 8

9 10 11 12

13 14 15 16

18/12/2000 17

LeftShift Example

43 201 2 17 18 19

1v2v

3v4v 5v

43 5 6 7 8

9 10 11 12

13 14 15 16

u

18/12/2000 18

LeftShift Example

5 6 7 8

9 10 201 2 17 18 19

1v2v

3v4v 5v

43

5 6 7 8

9 10

11 12

13 14 15 16

u v

18/12/2000 19

LeftShift Example

201 2 17 18 19

1v2v

3v4v 5v

43

5 6 7 8

9 10

11 12

13 14 15 16

u v

11 12

18/12/2000 20

LeftShift Example

201 2 17 18 19

1v2v

3v4v 5v

43

5 6 7 8

9 10

13 14

15 16

u v

11 12

13 14

18/12/2000 21

LeftShift Example

201 2 17 18 19

1v2v

3v4v 5v

43

5 6 7 8

9 10

13 14

15 16

u v

11 12

15 16

18/12/2000 22

LeftShift Example

201 2 17 18 19

1v2v

3v4v 5v

43

5 6 7 8

9 10

13 14u v

11 12

15 16

18/12/2000 23

LeftShift Example

201 2 17 18 19

1v2v

3v

43

5 6 7 8

9 10

13 14u v

11 12

15 16

15 16

18/12/2000 24

LeftShift Example

201 2 17 18 19

1v2v

3v

43

5 6 7 8

9 10

13 14u v

11 12

15 16

18/12/2000 25

Theorem 2

siblings. as 1 with treea contains (3)

. treealphabetic optimalan contains (2)

. (1)

Then .an be 1Let

i,iT(i)OPT

TOPT(i)

(i)OPTOPT(i)

)(i,i

moved

moved

lmp

18/12/2000 26

Proof of Point 2 in Theorem 2

. treealphabetic optimalan contains (2) TOPT(i)

oneleast at by decreases )1(level

increasenot does )1(level

one.by increases )(level

After this 1).ii,LeftShift( performcan Then we

).1()(level suppose So

done. are then welevel same on the are 1i and i If

tree.alphabetic optimalan is T Assume

T

T

T

T

i

i

i

ileveli T

18/12/2000 27

Proof of Point 2 in Theorem 2

i

i+1

i+2

i i+1 i+2

LeftShift(i,i+1)

T T`

QED .1 perform 1 If

siblings are 1 and Thus

Since 2

)(i,iRightShift)(ilevel(i)level

i,iOPT(i)T

)Tcost(cost(T)

pp

TT

ii

18/12/2000 28

Proof of Point 3 Theorem 2

( )movedT OPT iIf and 1 are not siblings then:i i

i i+1

i+2

i i+1

i+2LeftShift(i,i+1)

T T`

( )movedT OPT i

( ) ( )cost T cost T

(3) contains a tree with 1 as siblingsmovedOPT (i) T i,i

18/12/2000 29

Definition of Well Shaped Segments

- Lowest Common Ancestor of( , nd ) aT uLCA u v v

set of leaves of is iff:

1. For any , ( ) .

2. For any and , ( ( , ))T

T

S T

u S level u h

u S w S level LC

h isola

A u w

d

h

te

1

2

3 4

5

6 7

8

9

10 11

12

0

1

2

3

h = 4

5

6

18/12/2000 30

Definition of Well Shaped Segments

[ ,..., ]S i j is iff ( ) ( 1)T TS level i level i left well shaped

is iff ( ) ( 1)T TS level j level j right well shaped

1

2

3 4

5

6 7

8

9

10 11

12

0

1

2

3

h = 4

5

6

Active Window

18/12/2000 31

Movability Lemma

If the segment [i,…,j] is left well shaped, then the active pair(i,i+1) can be moved to the other side of the segment by locally rearranging sub-trees in the active window without changing the relative order of the other items and without changing the levelfunction of the tree.

18/12/2000 32

Movability Lemma

1

2 5 9

12

0

1

2

3

h = 4

5

6

3 4

6 7

8 10 11

18/12/2000 33

Movability Lemma

1

2 5 9

12

0

1

2

3

h = 4

5

6

3 4

6 7

8 10 11

18/12/2000 34

Movability Lemma

1

2 5 9

12

0

1

2

3

h = 4

5

6

3 4

6 7

8 10 11

18/12/2000 35

Movability Lemma

1

2 5 9

12

0

1

2

3

h = 4

5

6

3 4

6 7

8 10 11

18/12/2000 36

Movability Lemma

1

2 5 9

12

0

1

2

3

h = 4

5

6

3 4

6 7

8 10 11

18/12/2000 37

Theorem 3

Assume ( , 1) is an , ( , 1),

( ), and ( ).

Then:

the segment [ 2,..., , , 1] is right well shaped in

the segment [ ,..., ] is left well shaped in

moved

i i j RightPos i i

T OPT i T OPT i

i j i i T

i j T

1.

2.

lmp

18/12/2000 38

Point 1 in Theorem 2

( ) ( )movedOPT i OPT i

18/12/2000 39

Hu-Tucker Algorithm

Transparent items and opaque items

Compatible pair – No opaque items in the middle

Minimal compatible pair (mcp) – compatible pair (i,i+1) whereWeight(i) + weight(i+1) is minimal

2018 14 12 1617 26 13 19

Tie Breaking Rule

18/12/2000 40

Hu-Tucker Algorithm

( );

0;

find any of

create a new item v whose weight is ;

replace by the new item and delete ;

);

);

u w

GW

π v

level[v]

(u,w)

p p

u v w

Move(v,π

GW(π

le

procedure

if then

else begin

lmp

1;

;

vel[u] : level[w] : level[v] end

18/12/2000 41

Hu-Tucker Algorithm GWprocedure

( );

0;

find any of

create a new item v whose weight is ;

replace by the new item and delete ;

);

u w

π v

level[v]

(u,w)

p p

u v w

Move(v,π

T

GW

H

if then

else begin

lmp

);

1;

;

level[u] : level[w] : level

H

[v]

T

end

18/12/2000 42

Hu-Tucker Algorithm GWprocedure

( );

0;

fin an d y

π v

level[v

H

]

T

if then

else begin

lmp of

create a new item v whose weight is ;

replace by the new item and delete ;

);

u w

(u,w)

p p

u v w

Move

mcp

(v,π

GW

);

1;

;

level[u] : level[w] : level

H

[v]

T

end

18/12/2000 43

Hu-Tucker Algorithm GWprocedure

( );

0;

fin an d y

π v

level[v

H

]

T

if then

else begin

lmp of

create a new item v whose weight is ;

replace by the new item and delete ;

)

u w

(u,w)

p

Mo

mcp

ve(

p

u v w

v,π

make transp ;

a

re

nt

v

GW );

1;

;

level[u] : level[w] : level

H

[v]

T

end

18/12/2000 44

GW` Algorithm

gmp – Globaly Minimal Pair

GW` - the same as GW but always choose gmp instead of some other lmp.

18/12/2000 45

Definitions

Special sequence – sequence of weights, each one is either transparent or opaque

Normal sequence – sequence of weights

MoveTransparent operator – converts a special sequence into a normal sequence and moves all transparent items to their RightPos. (first it moves the rightmost item, then the one to its left, etc…)

18/12/2000 46

MoveTransparent

2018 14 12 1617 26 13 19

18/12/2000 47

MoveTransparent

2018 14 12 1617 26

13

19

18/12/2000 48

MoveTransparent

2018 14 12 1617 26 13 19

18/12/2000 49

MoveTransparent

2018 14 12 1617

26

13 19

18/12/2000 50

MoveTransparent

2018 14 12 1617

26

13 19

18/12/2000 51

MoveTransparent

2018 14 12 1617

26

13 19

18/12/2000 52

MoveTransparent

2018 14 12 1617 2613 19

18/12/2000 53

MoveTransparent

2018 14 12 16

17

2613 19

18/12/2000 54

MoveTransparent

2018 14 12 16

17

2613 19

18/12/2000 55

MoveTransparent

2018 14 12 16

17

2613 19

18/12/2000 56

MoveTransparent

2018 14 12 16 17 2613 19

18/12/2000 57

MoveTransparent

20

18 14 12 16 17 2613 19

18/12/2000 58

MoveTransparent

20

18 14 12 16 17 2613 19

18/12/2000 59

MoveTransparent

20

18 14 12 16 17 2613 19

18/12/2000 60

MoveTransparent

2018 14 12 16 17 2613 19

18/12/2000 61

MoveTransparent

18 14 12 16 1913 17 20 26

18/12/2000 62

The Simulation Lemma

iLet be the working sequence of items after the -th iteration

of the algorithm, and let be the working sequence of items

after the -th iteration of the algorithm. For 0 -1 let

( , )

i

i i

i

HT

i GW i n

u w

be the globaly minimal pair in and ( , ) be the mcp

in then:

for each 1 -1

( ) and ( , ) ( , )

i i i

i

u w

i i i i i ii n

MoveTransparent u w u w

Assuming there are no ties

18/12/2000 63

Proof of the Simulation Lemma

Assume that ( ). Then if ( , ) is the globally

minimal pair in , the items , are visible to each other in .

MoveTransparent u w

u w

Claim A

Claim B

Assume that ( ). Then if ( , ) is the minimal

compatible pair in , the items , are adjacent in .

MoveTransparent u w

u w

18/12/2000 64

Proof of Claim A

By contradiction assume that w,u are not visible to each other.This means there is an opaque item q between them.Two cases:

Case 1: in is before w u

is transparent because it "floats over" , ( ) ( )w u weight u weight w

..... ... ... ... ....... .......w uq uw

..... ... ... ... ....... .......uw q uw

18/12/2000 65

Proof of Claim A

let be the predecessor of in q u

( ) ( ) because ( , ) is gmp.weight q weight w u w

If would be transparent it would "float over" and .

Thus it is opaque.

q u w

..... ... ... ... ...... .......w u wq q u

Since cannot "float over" , must be to the left of w q q w

.. .. ... ... ... ...... .......q q u uww q

Contradiction – no place for q

18/12/2000 66

Proof of Claim A

Case 2: in is before u w

is transparent because it "floats over" u q

..... ... ... ... ....... .......u wq uw

..... ... ... ... ....... .......wu q uw

( ) ( ) since u does not float over weight u weight w w

18/12/2000 67

Proof of Claim A

let be the predecessor of in q u

( ) ( ) because ( , ) is gmp.weight q weight w u w

If would be transparent it would "float over" and .

Thus it is opaque.

q u w

Since cannot "float over" , must be to the left of u q q u

Contradiction – no place for q

..... ... ... ... ...... .......u w wq q u

.. .. ... ... ... ...... .......q q w uwu q

18/12/2000 68

Proof of Claim B

Claim BAssume that ( ). Then if ( , ) is the minimal

compatible pair in , the items , are adjacent in .

MoveTransparent u w

u w

ProofAssume there is an item between and in q u w

..... ...... ... ....... .. .. .......u w u q w

18/12/2000 69

Proof of Claim B

The order of movements is from right to left, thus w isProcessed first then the items between u and w, and then u.At this point u and w must be adjacent, thus q must be processedlater, and thus it is to the left of u.

... ... .... ... ....... .. .. .......q u w u q w

( ) ( ) because stopped before .weight q weight w q w

q is not visible from u because (u,w) is mcp

18/12/2000 70

Proof of Claim B

Let q` be the opaque item between q and u visible from u

... .. .. .... ... ....... .. .. .......u w u q wq q

( ) ( ) because floated over .

( ) ( ) because stopped before .

thus is a better pair for then .

weight q weight q q q

weight q weight w q w

q u w

Contradiction

18/12/2000 71

Conclusion

if ( ), ( , ) is in

and ( , ) is in

then

( , ) ( , )

MoveTransparent u v

u v

u v u v

gmp

mcp

18/12/2000 72

Claim C

if ( ) then

( ( )) ( )

MoveTransparent

MoveTransparent HT GW

( )

( ) (

)

)

(

...... .......... ....... ...... ......

...... _ .......... ....

..

..._ ...... .

..

.... .....

mcp gmp

u w

HT GW

u w

u w uw

18/12/2000 73

Proof of claim C

( )

(

( )

) ( )

...... .......... ....... ...... ......

......_ _ .......... .......__ ...... ......

...... _ .......... .......__

...

...... ......

.

....

....u w

mcp gmp

u w

HT GW

u w uw

18/12/2000 74

Proof of Simulation Lemma

The proof of the lemma is by induction

0 0( )MoveTransparent

assume ( )i iMoveTransparent

1

1

( ) ( ( ))

( )i i

i i

MoveTransparent MoveTransparent HT

GW

18/12/2000 75

Tie Braking Rule

Theorem 4The Tie Breaking Rule (TBR) is correct

2weights in arithmetics.

( , ) ( , ) ( , )

( , ) ( , ) (( ) ( ))

zero element (0,0)

a b c d a c b d

a b c d a c or a c and b d

Proof

18/12/2000 76

Proof of TBR

Case 1: All weights are strictly positive

1

1

2 1 2 2 21 2

let ,..., the original sequence

_ ( ) ,...,

, 2 , , 2 ,..., , 2

n

n

n n n nn

p p

de tie p p

p p p

No ties are possible in over

C

_ (

laim A

)

HT de tie

18/12/2000 77

Proof of TBR

For each 0 , and ( , ) (

Claim B

, )i i i i i ii n u w u w

Case 2: Some of the original weights are zero

1i iif p 0 set p 0,2i

Recommended