Top Banner
RIG-I Modulates Src-Mediated AKT Activation to Restrain Leukemic Stemness Xian-Yang Li, Lin-Jia Jiang, Lei Chen, Meng-Lei Ding, He-Zhou Guo, Wu Zhang, Hong-Xin Zhang, Xiao-Dan Ma, Xiang-Zhen Liu, Xiao-Dong Xi, Sai-Juan Chen, Zhu Chen, Jiang Zhu Molecular Cell Volume 53, Issue 3, Pages 407-419 (February 2014) DOI: 10.1016/j.molcel.2013.12.008 Copyright © 2014 Elsevier Inc. Terms and Conditions
8

Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Dec 16, 2015

Download

Documents

Kaylyn Farthing
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Rank-Pairing Heaps

Robert Tarjan, Princeton University & HP Labs

Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009

1

Page 2: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Heap (Priority Queue) ProblemMaintain a set (heap) of items, each with a real-valued key,under the operations

Find minimum: find the item of minimum key in a heapInsert: add a new item to a heapDelete minimum : remove the item of minimum keyMeld: Combine two item-disjoint heaps into oneDecrease key: subtract a given positive amount from the key

of a given item in a known heap

Goal: O(log n) for delete min, O(1) for others

Page 3: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Related Work

Fibonacci heaps achieve the desired bounds (Fredman & Tarjan, 1984); so do

• Peterson’s heaps (1987)• Høyer’s heaps (1995)• Brodal’s heaps (1996), worst-case• Thin heaps (Kaplan & Tarjan, 2008)• Violation heaps (Elmasry, 2008)• Quake heaps (Chan, 2009)

Not pairing heaps:(loglog n) time per key decrease, but good in practice

Page 4: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Heap-ordered modelHalf-ordered model

11

17 13

8

7

45

3

Page 5: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Half-ordered model

11

17 13

8

7

45

3

Page 6: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Half-ordered model

11 17

7

5

3

13 8

4

Page 7: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Half-ordered tree: binary tree, one item per node, each item less than all items in left subtree

Half tree: half-ordered binary tree with no right subtree

Link two half trees:

O(1) time, preserves half order

5

10

A B

10

A

5

B++

Page 8: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Heap: a set (circular singly-linked list) of half trees, with minimum root first on list

Find min: return minimumInsert: Form a new one-node tree, combine with

current set of half trees, update the minimumMeld: Combine sets of half trees, update the minimumDelete min: Remove minimum root (forming new half

trees); Repeatedly link half trees, form a set of the remaining trees

Page 9: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

How to link? Use ranks: leaves have rank zero,only link trees whose roots have equal rank,increase winner’s rank by one:

All rank differences are 1: a half tree of rank k is a perfect binary tree plus a root: 2k nodes, rank = lg n

++k

k - 1

k

k - 1 k

k - 1 k - 1

k + 1

Vuillemin’s binomial queues!

Vuillemin’s binomial queues!

Page 10: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Delete minimum

Delete min

Each node on right path becomes a new root

Page 11: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Link half trees of equal rankArray of buckets, at most one per rank

Delete min

Page 12: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Delete min

Link half trees of equal rankArray of buckets, at most one per rankForm new set of half trees

“multipass”

Page 13: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Delete min

Form new set of half treesFind new minimum in O(log n) time

Page 14: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Keep track of minimum during linksFind minimum in O(log n)

additional time

Delete min: lazier linking

“one-pass”

Page 15: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Form new set of half trees

Delete min: lazier linking

Page 16: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Amortized Analysis of Lazy Binomial Queues

= #treesLink: O(1) time, = -1, amortized time = 0Insert: O(1) time, = 1Meld: O(1) time, = 0Delete min: if k trees after root removal, time is

O(k), potential decreases by k/2 – O(log n) O(log n) amortized time

Page 17: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Decrease key?

Application: Dijkstra’s shortest path algorithm, othersMethod: To decrease key of x, detach its half tree,

restructure if necessary

(If x is the right child of u, no easy way to tell if half order is violated)

u

x

y

u

y

x

Page 18: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

How to maintain structure?

All previous methods, starting with Fibonacci heaps, change ranks and restructure

Some, like Quake heaps (Chan, 2009) and Relaxed heaps (Driscoll et al., 1988), do not restructure during key decrease, but this just postpones restructuring

But all that is needed is rank changes:Trees can have arbitrary structure!

Rank-Pairing Heaps = rp-heaps

Goal is SIMPLICITY

Goal is SIMPLICITY

Page 19: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

19

Node RanksEach node has a non-negative integer rank

Convention: missing nodes have rank -1 (leaves have rank 0)

rank difference of a child =rank of parent - rank of child

i-child: node of rank difference ii,j-node: children have rank differences i and j

Convention: the child of a root is a 1-child

Page 20: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

1

Rank Rules

Easy-to-analyze version (type 2):All rank differences are non-negativeIf rank difference exceeds 2, sibling has rank difference 0If rank difference is 0, sibling has rank difference at least 2

Simpler but harder-to-analyze version (type 1):If rank difference exceeds 1, sibling has rank difference 0If rank difference is 0, sibling has rank difference ≥ 1

1 12 21 0≥ 2 ≥ 20

11 0≥ 1 ≥ 10

Page 21: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Tree Size (type 2)

If nk is minimum number of descendants of a node of rank k,

n0 = 1, nk = nk-1 + nk-2 : Fibonacci numbers

nk ≥ k, =

k log n

251

Page 22: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

2

0102

10

Decrease key

x

u

0 6

6 0

8

0

1k - 1

1 1

k1

y

Detach half treeRestore rank rule

8

0

u0 2

6u

1 1

6u

0 5

u k - 1

u

0-children block propagation of rank decreases from sibling’s subtree

Page 23: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Amortized AnalysisPotential of node = sum of rank differences of children - 1 +1 if root (= 1) -1 if 1,1-node (= 0)

Link is free:

One unit pays for link

Insert needs 1 unit, meld none

++1

(+1) (+1) (+1)

(0)1 1

1 1

Page 24: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Delete min rank k

Each 1,1 needs potential 1, adding at most k in total.Delete min takes O(log n) amortized time

1

1 unit needed

1

0≥ 2

12

Page 25: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Decrease KeySuccessive rank decreases are non-increasing

At most two 1,1’s occur on path of rank decreases – 1,1 becomes 0, j : prev decrease >1, next decrease = 1 1,1 becomes 1,2 : terminal

Give each 1,1 one extra unit of potential

Each rank decrease releases a unit to pay for decrease: rank diffs of both children decrease by k, rank diff of

parent increases by k

Page 26: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

121

064

5110

5131

71712

2

010

10

Decrease key

9

0 6

6 0

8

0

1k - 1

1 1

k1

Detach half treeRestore rank rule

8

0

0 2

61 1

60 5

k - 11

Page 27: Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA 2009 1.

Type-1 rp-heaps

Max k lg n

Analysis requires a more elaborate potential based on rank differences of children and grandchildren

Same bounds as type-2 rp-heaps, provided we preferentially link half trees from disassembly