Truly Subcubic Algorithms for Language Edit Distance and RNA Folding - - PowerPoint PPT Presentation

β–Ά
truly subcubic algorithms for language edit distance and
SMART_READER_LITE
LIVE PREVIEW

Truly Subcubic Algorithms for Language Edit Distance and RNA Folding - - PowerPoint PPT Presentation

Truly Subcubic Algorithms for Language Edit Distance and RNA Folding via Fast Bounded-Difference Min-Plus Product Karl Bringmann , Fabrizio Grandoni, Barna Saha, Virginia Vassilevska Williams June 11, 2017 Bounded Differences (BD) Matrices


slide-1
SLIDE 1

Truly Subcubic Algorithms for Language Edit Distance and RNA Folding via Fast Bounded-Difference Min-Plus Product

Karl Bringmann, Fabrizio Grandoni, Barna Saha, Virginia Vassilevska Williams June 11, 2017

slide-2
SLIDE 2

Bounded Differences (BD) Matrices

Integer matrix 𝑁 has BD if for all 𝑗, π‘˜:

𝑁 𝑗, π‘˜ βˆ’ 𝑁[𝑗, π‘˜ + 1] ≀ 1 𝑁 𝑗, π‘˜ βˆ’ 𝑁[𝑗 + 1, π‘˜] ≀ 1

and

More generally: 𝑿-BD when differences are at most 𝑋

2 2 3 2 1 1 2 3 2 1 2 3 1 1 2

slide-3
SLIDE 3

(min,+) Product

For π‘œΓ—π‘œ-matrices 𝐡, 𝐢, their (min,+) product 𝐷 = 𝐡 βˆ— 𝐢 is defined by

𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

(min,+) product is equivalent to All Pairs Shortest Paths

[Fischer,Meyer’71]

trivial algorithm: 𝑃(π‘œ;) best known algorithm: π‘œ;/2?( @AB C

  • )

[Williams’14]

Standard matrix multiplication:

𝐷 𝑗, π‘˜ = E 𝐡 𝑗, 𝑙 β‹… 𝐢[𝑙, π‘˜]

  • 7

time 𝑃(π‘œG) where πœ• ≀ 2.373

slide-4
SLIDE 4

(min,+) Product

For π‘œΓ—π‘œ-matrices 𝐡, 𝐢, their (min,+) product 𝐷 = 𝐡 βˆ— 𝐢 is defined by

𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

(min,+) product is equivalent to All Pairs Shortest Paths

[Fischer,Meyer’71]

trivial algorithm: 𝑃(π‘œ;) best known algorithm: π‘œ;/2?( @AB C

  • )

[Williams’14]

Big Open Problem: Is (min,+) product in time 𝑷(π’πŸ’O𝜻) for some 𝜻 > 𝟏? Study special cases!

slide-5
SLIDE 5

(min,+) Product for Structured Matrices

𝐡S 𝑗, π‘˜ = 𝑦U[V,W] 𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

𝐷′ 𝑗, π‘˜ = E 𝐡S 𝑗, 𝑙 β‹… 𝐢S[𝑙, π‘˜]

  • 7

𝐷 𝑗, π‘˜ = degree of highest monomial in 𝐷S[𝑗, π‘˜] Sketch: Matrices with small entries: If 𝐡, 𝐢 have entries in βˆ’π‘ˆ, … , π‘ˆ βˆͺ ∞ then 𝐡 βˆ— 𝐢 can be computed in time 𝑃 i(π‘ˆπ‘œG)

[Alon,Galil,Margalit’97]

slide-6
SLIDE 6

(min,+) Product for Structured Matrices

Matrices with small entries: If 𝐡, 𝐢 have entries in βˆ’π‘ˆ, … , π‘ˆ βˆͺ ∞ then 𝐡 βˆ— 𝐢 can be computed in time 𝑃 i(π‘ˆπ‘œG)

[Alon,Galil,Margalit’97]

Matrices with few distinct entries: If each row of 𝐡 has a small number of distinct entries, then for arbitrary 𝐢 we can compute 𝐡 βˆ— 𝐢 in truly subcubic time

[Yuster’09]

Question: Is (min,+) product in time 𝑷(π’πŸ’O𝜻) for BD matrices?

Why care about BD matrices?

slide-7
SLIDE 7

1st Application: Language Edit Distance (LED)

CFG Parsing: Given a context-free grammar 𝐻 and a string 𝑑 of length π‘œ, is 𝑑 in 𝑀(𝐻)?

[L. Valiant’75]

Language Edit Distance: β€žerror-correcting CFG parsingβ€œ Given a CFG 𝐻 and a string 𝑑, compute minimum edit distance of 𝑑 to any string in 𝑀(𝐻) ... is in time 𝑃 i(π‘œG) insertions, deletions, substitutions for simplicity: |𝐻| = 𝑃(1)

[Aho,Peterson’72]

... is in time 𝑃(π‘œ;) We show using Valiant’s approach: If (min,+) product on BD matrices is in time 𝑃(π‘œn), then LED is in time 𝑃 i(π‘œn) ~8 page proof intuitive reason for BD: LED(𝑑) and LED(𝑑𝑑) differ by ≀ 1 for any symbol 𝑑

slide-8
SLIDE 8

2nd Application: RNA Folding

RNA can be seen as a sequence of symbols from {A,C,G,U} Biologists want to predict the secondary structure of RNA: A can pair with U, and C can pair with G Given an RNA sequence, find the largest set of matching pairs, such that no two pairs intersect AUUGCAG not allowed but AUUGCAG is okay

Disclaimer: No author of this paper is a biologist.

[Nussinov,Jacobson’80]

... is in time 𝑃(π‘œ;) ... can be cast as a LED problem (without substitutions) If (min,+) product on BD matrices is in time 𝑃(π‘œn), then RNA Folding is in time 𝑃 i(π‘œn)

slide-9
SLIDE 9

3rd Application: Optimal Stack Generation

Optimal Stack Generation: Given a string 𝑑 over alphabet Ξ£, determine the shortest sequence of stack

  • perations push(.), emit, pop s.t. performing these operations starting from

an empty stack will emit 𝑑 and end with an empty stack for simplicity: |Ξ£| = 𝑃(1) ... is in time 𝑃(π‘œ;) (dynamic programming)

[Tarjan’05]

We show: If (min,+) product on O(1)-BD matrices is in time 𝑃(π‘œn), then Optimal Stack Generation is in time 𝑃 i(π‘œn) 𝑑 = bab push(b) emit push(a) emit pop emit pop b b b b b b a a b a b intuitive reason for BD: OSG(𝑑) and OSG(𝑑𝑑) differ by ≀ 3 for any 𝑑 ∈ Ξ£

slide-10
SLIDE 10

Main Result

... so we have seen that (min,+) product of BD matrices is well motivated Main Result: We can compute the (min,+) product of BD matrices Generalization: For 𝑿-BD matrix 𝐡 with 𝑋 β‰ͺ π‘œ;OG β‰ˆ π‘œt.uvu and arbitrary 𝐢 we can compute their (min,+) product in randomized truly subcubic time here: 𝑷(π’πŸ‘.𝟘) in randomized time 𝑃(π‘œv.y;) and deterministic time 𝑃(π‘œv.yz)

slide-11
SLIDE 11

Algorithm Sketch

Input: BD matrices 𝐡, 𝐢. Want: 𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

1) Compute approximation 𝐸 𝑗, π‘˜ = 𝐷 𝑗, π‘˜ Β± 𝑃 π‘œt.v

compute 𝐷 𝑗, π‘˜ exactly for all 𝑗, π‘˜ that are multiples of π‘œt.v

(𝑗, π‘˜)

set 𝐸 𝑗, π‘˜ to some 𝐷[𝑗’, π‘˜β€™] by rounding 𝑗, π‘˜ If 𝐡, 𝐢 are BD, then their (min,+) product is also BD

(𝑗S, π‘˜S) π‘œt.v time 𝑃(π‘œv.u)

slide-12
SLIDE 12

Algorithm Sketch

Input: BD matrices 𝐡, 𝐢. Want: 𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

1) Compute approximation 𝐸 𝑗, π‘˜ = 𝐷 𝑗, π‘˜ Β± 𝑃 π‘œt.v 𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ = 𝐷 𝑗, π‘˜ implies 𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 𝑗, π‘˜ ≀ 𝑃 π‘œt.v call these triples (𝑗, 𝑙, π‘˜) relevant then 𝐷 𝑗, π‘˜ = min

7:(V,7,W) ‒€@β‚¬β€’β€šΖ’β€ž 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

slide-13
SLIDE 13

Algorithm Sketch

Input: BD matrices 𝐡, 𝐢. Want: 𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

2) Cover most relevant triples: fix π‘—βˆ—, π‘˜βˆ—, and define matrices π΅βˆ—, πΆβˆ— π΅βˆ— 𝑗, 𝑙 ≔ 𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜βˆ— βˆ’ 𝐸 𝑗, π‘˜βˆ— βˆ’ 𝐡 π‘—βˆ—, 𝑙 + 𝐢 𝑙, π‘˜βˆ— βˆ’ 𝐸 π‘—βˆ—, π‘˜βˆ— πΆβˆ— 𝑙, π‘˜ ≔ 𝐡 π‘—βˆ—, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 π‘—βˆ—, π‘˜ (min,+) product π·βˆ— of π΅βˆ—, πΆβˆ—: π·βˆ— 𝑗, π‘˜ = min

7 π΅βˆ— 𝑗, 𝑙 + πΆβˆ— 𝑙, π‘˜

can be cancelled afterwards = 𝐷 𝑗, π‘˜ βˆ’ 𝐸 𝑗, π‘˜βˆ— + 𝐸 π‘—βˆ—, π‘˜βˆ— βˆ’ 𝐸 π‘—βˆ—, π‘˜

|𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 𝑗, π‘˜ | ≀ 𝑃 π‘œt.v (𝑗, 𝑙, π‘˜) relevant:

1) Compute approximation 𝐸 𝑗, π‘˜ = 𝐷 𝑗, π‘˜ Β± 𝑃 π‘œt.v

slide-14
SLIDE 14

Algorithm Sketch

Input: BD matrices 𝐡, 𝐢. Want: 𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

2) Cover most relevant triples: fix π‘—βˆ—, π‘˜βˆ—, and define matrices π΅βˆ—, πΆβˆ— π΅βˆ— 𝑗, 𝑙 ≔ 𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜βˆ— βˆ’ 𝐸 𝑗, π‘˜βˆ— βˆ’ 𝐡 π‘—βˆ—, 𝑙 + 𝐢 𝑙, π‘˜βˆ— βˆ’ 𝐸 π‘—βˆ—, π‘˜βˆ— πΆβˆ— 𝑙, π‘˜ ≔ 𝐡 π‘—βˆ—, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 π‘—βˆ—, π‘˜ 1) Compute approximation 𝐸 𝑗, π‘˜ = 𝐷 𝑗, π‘˜ Β± 𝑃 π‘œt.v if 𝑗, 𝑙, π‘˜βˆ— , π‘—βˆ—, 𝑙, π‘˜βˆ— , π‘—βˆ—, 𝑙, π‘˜ are all relevant, then π΅βˆ— 𝑗, 𝑙 , πΆβˆ— 𝑙, π‘˜ = 𝑃 π‘œt.v set all 𝛻(π‘œt.v)-entries of π΅βˆ—, πΆβˆ— to ∞ then (min,+) product of π΅βˆ— and πΆβˆ— can be computed in time 𝑃 i(π‘œG‑t.v) (𝑗, 𝑙, π‘˜) is β€žcoveredβ€œ if π΅βˆ— 𝑗, 𝑙 and πΆβˆ— 𝑙, π‘˜ are 𝑃(π‘œt.v), i.e., not set to ∞

|𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 𝑗, π‘˜ | ≀ 𝑃 π‘œt.v (𝑗, 𝑙, π‘˜) relevant:

slide-15
SLIDE 15

Algorithm Sketch

Input: BD matrices 𝐡, 𝐢. Want: 𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

2) Cover most relevant triples: repeat for 𝑃(π‘œt.; log π‘œ) rounds: π΅βˆ— 𝑗, 𝑙 ≔ 𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜βˆ— βˆ’ 𝐸 𝑗, π‘˜βˆ— βˆ’ 𝐡 π‘—βˆ—, 𝑙 + 𝐢 𝑙, π‘˜βˆ— βˆ’ 𝐸 π‘—βˆ—, π‘˜βˆ— πΆβˆ— 𝑙, π‘˜ ≔ 𝐡 π‘—βˆ—, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 π‘—βˆ—, π‘˜ 1) Compute approximation 𝐸 𝑗, π‘˜ = 𝐷 𝑗, π‘˜ Β± 𝑃 π‘œt.v set all 𝛻(π‘œt.v)-entries of π΅βˆ—, πΆβˆ— to ∞

|𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 𝑗, π‘˜ | ≀ 𝑃 π‘œt.v (𝑗, 𝑙, π‘˜) relevant:

initialize 𝐷 Λ† 𝑗, π‘˜ ≔ ∞ pick π‘—βˆ—, π‘˜βˆ— randomly compute (min,+) product π·βˆ— = π΅βˆ— βˆ— πΆβˆ— 𝐷 Λ† 𝑗, π‘˜ ≔ min 𝐷 Λ† 𝑗, π‘˜ , π·βˆ— 𝑗, π‘˜ + 𝐸 𝑗, π‘˜βˆ— βˆ’ 𝐸 π‘—βˆ—, π‘˜βˆ— + 𝐸 π‘—βˆ—, π‘˜

(𝑗, 𝑙, π‘˜) is β€žcoveredβ€œ if π΅βˆ— 𝑗, 𝑙 and πΆβˆ— 𝑙, π‘˜ are 𝑃(π‘œt.v) in some round

Lem: After 𝑃(π‘œβ€° log π‘œ) rounds there are 𝑃(π‘œ;O‰/; + π‘œv.Ε ) uncovered relevant triples w.h.p. = 𝑃 π‘œv.β€Ή time 𝑃 π‘œG‑t.v = 𝑃(π‘œv.u) 𝑃 i(π‘œt.;) iterations total time 𝑃 i π‘œv.β€Ή

slide-16
SLIDE 16

Algorithm Sketch

Input: BD matrices 𝐡, 𝐢. Want: 𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

2) Cover most relevant triples 1) Compute approximation 𝐸 𝑗, π‘˜ = 𝐷 𝑗, π‘˜ Β± 𝑃 π‘œt.v

|𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 𝑗, π‘˜ | ≀ 𝑃 π‘œt.v (𝑗, 𝑙, π‘˜) relevant:

3) Enumerate uncovered relevant triples: ”for each uncovered relevant (𝑗, 𝑙, π‘˜):β€œ 𝐷 Λ† 𝑗, π‘˜ ≔ min 𝐷 Λ† 𝑗, π‘˜ , 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

(𝑗, 𝑙, π‘˜) is β€žcoveredβ€œ if π΅βˆ— 𝑗, 𝑙 and πΆβˆ— 𝑙, π‘˜ are 𝑃(π‘œt.v) in some round

now 𝐷 Λ† is correct output

slide-17
SLIDE 17

Algorithm Sketch

Input: BD matrices 𝐡, 𝐢. Want: 𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

2) Cover most relevant triples 1) Compute approximation 𝐸 𝑗, π‘˜ = 𝐷 𝑗, π‘˜ Β± 𝑃 π‘œt.v

|𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 𝑗, π‘˜ | ≀ 𝑃 π‘œt.v (𝑗, 𝑙, π‘˜) relevant:

3) Enumerate uncovered relevant triples: (𝑗, π‘˜) (𝑗S, π‘˜S) for all 𝑗S, 𝑙S, π‘˜S divisible by π‘œt.v: if 𝑗S, 𝑙S, π‘˜S is relevant and uncovered: for all 𝑗S βˆ’ π‘œt.v < 𝑗 ≀ 𝑗S, 𝑙S βˆ’ π‘œt.v < 𝑙 ≀ 𝑙S, π‘˜S βˆ’ π‘œt.v < π‘˜ ≀ π‘˜S: 𝐷 Λ† 𝑗, π‘˜ ≔ min 𝐷 Λ† 𝑗, π‘˜ , 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜] now 𝐷 Λ† is correct output

(𝑗, 𝑙, π‘˜) is β€žcoveredβ€œ if π΅βˆ— 𝑗, 𝑙 and πΆβˆ— 𝑙, π‘˜ are 𝑃(π‘œt.v) in some round

slide-18
SLIDE 18

Algorithm Sketch

Input: BD matrices 𝐡, 𝐢. Want: 𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

2) Cover most relevant triples 1) Compute approximation 𝐸 𝑗, π‘˜ = 𝐷 𝑗, π‘˜ Β± 𝑃 π‘œt.v

|𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 𝑗, π‘˜ | ≀ 𝑃 π‘œt.v (𝑗, 𝑙, π‘˜) relevant:

3) Enumerate uncovered relevant triples: for all 𝑗S, 𝑙S, π‘˜S divisible by π‘œt.v: if 𝑗S, 𝑙S, π‘˜S is relevant and uncovered: for all 𝑗S βˆ’ π‘œt.v < 𝑗 ≀ 𝑗S, 𝑙S βˆ’ π‘œt.v < 𝑙 ≀ 𝑙S, π‘˜S βˆ’ π‘œt.v < π‘˜ ≀ π‘˜S: 𝐷 Λ† 𝑗, π‘˜ ≔ min 𝐷 Λ† 𝑗, π‘˜ , 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

(𝑗, 𝑙, π‘˜) is β€žcoveredβ€œ if π΅βˆ— 𝑗, 𝑙 and πΆβˆ— 𝑙, π‘˜ are 𝑃(π‘œt.v) in some round

either all or none are relevant and uncovered 𝑃(π‘œv.β€’) iterations time 𝑃(π‘œt.; log π‘œ) total time 𝑃(π‘œv.β€Ή)

= number of relevant uncovered triples

total time of algorithm 𝑃 i π‘œv.β€Ή now 𝐷 Λ† is correct output

slide-19
SLIDE 19

Correctness

π΅βˆ— 𝑗, 𝑙 ≔ 𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜βˆ— βˆ’ 𝐸 𝑗, π‘˜βˆ— βˆ’ 𝐡 π‘—βˆ—, 𝑙 + 𝐢 𝑙, π‘˜βˆ— βˆ’ 𝐸 π‘—βˆ—, π‘˜βˆ— πΆβˆ— 𝑙, π‘˜ ≔ 𝐡 π‘—βˆ—, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 π‘—βˆ—, π‘˜ set all 𝛻(π‘œt.v)-entries of π΅βˆ—, πΆβˆ— to ∞

|𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 𝑗, π‘˜ | ≀ 𝑃 π‘œt.v (𝑗, 𝑙, π‘˜) relevant:

pick π‘—βˆ—, π‘˜βˆ— randomly

(𝑗, 𝑙, π‘˜) is β€žcoveredβ€œ if π΅βˆ— 𝑗, 𝑙 and πΆβˆ— 𝑙, π‘˜ are 𝑃(π‘œt.v) in some round

... ... Lem: After 𝑃(π‘œβ€° log π‘œ) rounds there are 𝑃(π‘œ;O‰/; + π‘œv.Ε ) uncovered relevant triples w.h.p. If 𝑗, 𝑙, π‘˜βˆ— , π‘—βˆ—, 𝑙, π‘˜βˆ— , π‘—βˆ—, 𝑙, π‘˜ are all relevant, then 𝑗, 𝑙, π‘˜ is covered

slide-20
SLIDE 20

Correctness

|𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 𝑗, π‘˜ | ≀ 𝑃 π‘œt.v (𝑗, 𝑙, π‘˜) relevant: (𝑗, 𝑙, π‘˜) is β€žcoveredβ€œ if π΅βˆ— 𝑗, 𝑙 and πΆβˆ— 𝑙, π‘˜ are 𝑃(π‘œt.v) in some round

Lem: After 𝑃(π‘œβ€° log π‘œ) rounds there are 𝑃(π‘œ;O‰/; + π‘œv.Ε ) uncovered relevant triples w.h.p. If 𝑗, 𝑙, π‘˜βˆ— , π‘—βˆ—, 𝑙, π‘˜βˆ— , π‘—βˆ—, 𝑙, π‘˜ are all relevant, then 𝑗, 𝑙, π‘˜ is covered When are 𝑗, 𝑙, π‘˜βˆ— , π‘—βˆ—, 𝑙, π‘˜βˆ— , π‘—βˆ—, 𝑙, π‘˜ all relevant? bipartite graph 𝐻7: 𝑗 π‘˜ if (𝑗, 𝑙, π‘˜) is relevant we β€žcoverβ€œ a relevant triple (𝑗, 𝑙, π‘˜) if 𝑗, π‘˜, π‘—βˆ—, π‘˜βˆ— form a 4-cycle in 𝐻7 need: 𝐻7 contains many 4-cycles Any bipartite graph with 𝑛 β‰₯ 4π‘œβ€˜.Ε  edges contains Ξ© 𝑛‒/π‘œβ€’ 4-cyles. Lem: have: many relevant triples π‘˜βˆ— π‘—βˆ—

slide-21
SLIDE 21

Algorithm Recap

Input: BD matrices 𝐡, 𝐢. Want: 𝐷 𝑗, π‘˜ = min

7 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

1) Compute approximation 𝐸 𝑗, π‘˜ = 𝐷 𝑗, π‘˜ Β± 𝑃 π‘œt.v

compute 𝐷 𝑗, π‘˜ exactly for all 𝑗, π‘˜ that are multiples of π‘œt.v set 𝐸 𝑗, π‘˜ to some 𝐷[𝑗’, π‘˜β€™] by rounding 𝑗, π‘˜

2) Cover most relevant triples:

repeat for 𝑃(π‘œt.; log π‘œ) rounds: π΅βˆ— 𝑗, 𝑙 ≔ 𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜βˆ— βˆ’ 𝐸 𝑗, π‘˜βˆ— βˆ’ 𝐡 π‘—βˆ—, 𝑙 + 𝐢 𝑙, π‘˜βˆ— βˆ’ 𝐸 π‘—βˆ—, π‘˜βˆ— πΆβˆ— 𝑙, π‘˜ ≔ 𝐡 π‘—βˆ—, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 π‘—βˆ—, π‘˜ set all 𝛻(π‘œt.v)-entries of π΅βˆ—, πΆβˆ— to ∞ initialize 𝐷 Λ† 𝑗, π‘˜ ≔ ∞ pick π‘—βˆ—, π‘˜βˆ— randomly compute (min,+) product π·βˆ— = π΅βˆ— βˆ— πΆβˆ— 𝐷 Λ† 𝑗, π‘˜ ≔ min 𝐷 Λ† 𝑗, π‘˜ , π·βˆ— 𝑗, π‘˜ + 𝐸 𝑗, π‘˜βˆ— βˆ’ 𝐸 π‘—βˆ—, π‘˜βˆ— + 𝐸 π‘—βˆ—, π‘˜

3) Enumerate uncovered relevant triples:

for all 𝑗S, 𝑙S, π‘˜S divisible by π‘œt.v: if 𝑗S, 𝑙S, π‘˜S is relevant and uncovered: for all 𝑗S βˆ’ π‘œt.v < 𝑗 ≀ 𝑗S, 𝑙Sβˆ’π‘œt.v < 𝑙 ≀ 𝑙S, π‘˜Sβˆ’π‘œt.v < π‘˜ ≀ π‘˜S: 𝐷 Λ† 𝑗, π‘˜ ≔ min 𝐷 Λ† 𝑗, π‘˜ , 𝐡 𝑗, 𝑙 + 𝐢[𝑙, π‘˜]

|𝐡 𝑗, 𝑙 + 𝐢 𝑙, π‘˜ βˆ’ 𝐸 𝑗, π‘˜ | ≀ 𝑃 π‘œt.v (𝑗, 𝑙, π‘˜) relevant: (𝑗, 𝑙, π‘˜) is β€žcoveredβ€œ if π΅βˆ— 𝑗, 𝑙 and πΆβˆ— 𝑙, π‘˜ are 𝑃(π‘œt.v) in some round

slide-22
SLIDE 22

Conclusion

(min,+) product of BD matrices can be solved in rand. time 𝑃(π‘œv.y;) we generalize the subcubic special cases of (min,+) matrix multiplication: this yields subcubic 𝑃(π‘œv.y;) algorithms for:

  • Language Edit Distance, a classic parsing problem from β€˜72
  • RNA Folding, a classic bioinformatics problem from β€˜80
  • Optimal Stack Generation, an open problem by Tarjan

Open Problems: Conditional lower bounds imply that LED and RNA Folding are in Ξ© β€œ π‘œG , 1) What is the right exponent? 2) Find more applications of BD (min,+) product

[Abboud,Backurs,V-Williams15]