Further Improvement in Approximating the Maximum - - PowerPoint PPT Presentation

further improvement in approximating the maximum duo
SMART_READER_LITE
LIVE PREVIEW

Further Improvement in Approximating the Maximum - - PowerPoint PPT Presentation

Further Improvement in Approximating the Maximum Duo-Preservation String Mapping Problem Brian Brubach University of Maryland, College Park 16 th Workshop on


slide-1
SLIDE 1

Further ¡Improvement ¡in ¡Approximating ¡the ¡ Maximum ¡Duo-­‑Preservation ¡String ¡ Mapping ¡Problem ¡

Brian ¡Brubach ¡ University ¡of ¡Maryland, ¡College ¡Park ¡

16th ¡Workshop ¡on ¡Algorithms ¡in ¡BioinformaAcs ¡– ¡WABI ¡2016 ¡

slide-2
SLIDE 2

Nicknames ¡

  • Maximum ¡Duo-­‑preservaAon ¡String ¡Mapping ¡

problem ¡(MPSM) ¡

– Duo-­‑preservaAon ¡problem ¡

  • Minimum ¡Common ¡String ¡ParAAon ¡problem ¡

(MCSP) ¡

– String ¡ParAAon ¡problem ¡

  • The ¡aroncyms ¡for ¡tehse ¡plorebms ¡are ¡aslo ¡

hrad ¡to ¡tlel ¡arapt ¡

– Yuor ¡bairn ¡can ¡slove ¡tshee ¡pbroelms ¡

slide-3
SLIDE 3

Motivations ¡

  • Comparing ¡biological ¡sequences ¡which ¡differ ¡

due ¡to ¡some ¡process ¡of ¡rearrangements ¡

  • A ¡Linear ¡Time ¡Approxima.on ¡Algorithm ¡for ¡

the ¡DCJ ¡Distance ¡for ¡Genomes ¡with ¡Bounded ¡ Number ¡of ¡Duplicates ¡

– Rubert, ¡Feijão, ¡Braga, ¡Stoye, ¡MarAnez ¡(WABI ¡‘16) ¡ – UAlizes ¡an ¡approximaAon ¡algorithm ¡for ¡MCSP ¡

  • Data ¡compression ¡of ¡similar ¡strings ¡using ¡

rearrangements ¡

slide-4
SLIDE 4

Max ¡Duo-­‑preservation ¡String ¡ Mapping ¡Problem ¡(MPSM) ¡

  • Input: ¡two ¡strings ¡which ¡are ¡permutaAons ¡of ¡each ¡other ¡

A: ¡ a ¡ b ¡ c ¡ d ¡ d ¡ c ¡ b ¡ a ¡ B: ¡ b ¡ c ¡ a ¡ d ¡ d ¡ c ¡ a ¡ b ¡

slide-5
SLIDE 5

Max ¡Duo-­‑preservation ¡String ¡ Mapping ¡Problem ¡(MPSM) ¡

  • Input: ¡two ¡strings ¡which ¡are ¡permutaAons ¡of ¡each ¡other ¡
  • Goal: ¡a ¡one-­‑to-­‑one ¡mapping ¡that ¡preserves ¡the ¡maximum ¡

number ¡of ¡duos ¡ A: ¡ a ¡ b ¡ c ¡ d ¡ d ¡ c ¡ b ¡ a ¡ B: ¡ b ¡ c ¡ a ¡ d ¡ d ¡ c ¡ a ¡ b ¡

slide-6
SLIDE 6

Max ¡Duo-­‑preservation ¡String ¡ Mapping ¡Problem ¡(MPSM) ¡

  • Input: ¡two ¡strings ¡which ¡are ¡permutaAons ¡of ¡each ¡other ¡
  • Goal: ¡a ¡one-­‑to-­‑one ¡mapping ¡that ¡preserves ¡the ¡maximum ¡

number ¡of ¡duos ¡

  • A ¡duo ¡is ¡a ¡pair ¡of ¡consecuAve ¡leYers ¡in ¡a ¡string ¡

A: ¡ a ¡ b ¡ c ¡ d ¡ d ¡ c ¡ b ¡ a ¡ B: ¡ b ¡ c ¡ a ¡ d ¡ d ¡ c ¡ a ¡ b ¡

slide-7
SLIDE 7

Max ¡Duo-­‑preservation ¡String ¡ Mapping ¡Problem ¡(MPSM) ¡

  • Input: ¡two ¡strings ¡which ¡are ¡permutaAons ¡of ¡each ¡other ¡
  • Goal: ¡a ¡one-­‑to-­‑one ¡mapping ¡that ¡preserves ¡the ¡maximum ¡

number ¡of ¡duos ¡

  • A ¡duo ¡is ¡a ¡pair ¡of ¡consecuAve ¡leYers ¡in ¡a ¡string ¡
  • A ¡duo ¡is ¡preserved ¡if ¡it’s ¡leYers ¡are ¡mapped ¡to ¡some ¡idenAcal ¡

duo ¡in ¡the ¡other ¡string ¡ A: ¡ a ¡ b ¡ c ¡ d ¡ d ¡ c ¡ b ¡ a ¡ 3 ¡duos ¡preserved ¡ B: ¡ b ¡ c ¡ a ¡ d ¡ d ¡ c ¡ a ¡ b ¡

slide-8
SLIDE 8

b ¡ c ¡ a ¡ d ¡ d ¡ c ¡ a ¡ b ¡ a ¡ b ¡ c ¡ d ¡ d ¡ c ¡ b ¡ a ¡

Max ¡Duo-­‑preservation ¡String ¡ Mapping ¡Problem ¡(MPSM) ¡

  • Complement ¡of ¡the ¡well-­‑studied ¡Minimum ¡Common ¡String ¡

ParAAon ¡problem ¡(MCSP) ¡ A: ¡ 3 ¡duos ¡preserved ¡ B: ¡

slide-9
SLIDE 9

b ¡ c ¡ a ¡ d ¡ d ¡ c ¡ a ¡ b ¡ a ¡ b ¡ c ¡ d ¡ d ¡ c ¡ b ¡ a ¡

Max ¡Duo-­‑preservation ¡String ¡ Mapping ¡Problem ¡(MPSM) ¡

  • Complement ¡of ¡the ¡well-­‑studied ¡Minimum ¡Common ¡String ¡

ParAAon ¡problem ¡(MCSP) ¡

– Separate ¡the ¡strings ¡into ¡idenAcal ¡parAAons ¡of ¡min ¡cardinality ¡

A: ¡ 3 ¡duos ¡preserved ¡ B: ¡ 5 ¡substrings ¡

slide-10
SLIDE 10

b ¡ c ¡ a ¡ d ¡ d ¡ c ¡ a ¡ b ¡ a ¡ b ¡ c ¡ d ¡ d ¡ c ¡ b ¡ a ¡

Max ¡Duo-­‑preservation ¡String ¡ Mapping ¡Problem ¡(MPSM) ¡

  • Complement ¡of ¡the ¡well-­‑studied ¡Minimum ¡Common ¡String ¡

ParAAon ¡problem ¡(MCSP) ¡

– Separate ¡the ¡strings ¡into ¡idenAcal ¡parAAons ¡of ¡min ¡cardinality ¡

A: ¡ 3 ¡duos ¡preserved ¡ B: ¡ 5 ¡substrings ¡ 5 ¡+ ¡3 ¡= ¡length ¡

slide-11
SLIDE 11

b ¡ c ¡ a ¡ d ¡ d ¡ c ¡ a ¡ b ¡ a ¡ b ¡ c ¡ d ¡ d ¡ c ¡ b ¡ a ¡

Max ¡Duo-­‑preservation ¡String ¡ Mapping ¡Problem ¡(MPSM) ¡

  • Complement ¡of ¡the ¡well-­‑studied ¡Minimum ¡Common ¡String ¡

ParAAon ¡problem ¡(MCSP) ¡

– Separate ¡the ¡strings ¡into ¡idenAcal ¡parAAons ¡of ¡min ¡cardinality ¡

  • In ¡the ¡k-­‑MPSM ¡and ¡k-­‑MCSP ¡problems, ¡each ¡leYer ¡occurs ¡at ¡

most ¡k ¡Ames ¡in ¡each ¡string ¡ A: ¡ 3 ¡duos ¡preserved ¡ B: ¡ 5 ¡substrings ¡ 5 ¡+ ¡3 ¡= ¡length ¡

slide-12
SLIDE 12

Related ¡Work ¡

Problem ¡

  • Approx. ¡

Authors/year ¡ k-­‑MPSM ¡ k2 ¡ Chen, ¡Chen, ¡Samatova, ¡Peng ¡Wang, ¡ and ¡Tang ¡(2014) ¡ MPSM ¡ 4 ¡ Boria, ¡Kurpisz, ¡Leppänen, ¡and ¡ Mastrolilli ¡(2014) ¡ 3.5 ¡ Boria, ¡Cabodi, ¡CamuraA, ¡Palena, ¡ Pasini, ¡and ¡Quer ¡(2016) ¡ 3.25 ¡ This ¡paper ¡(2016) ¡ MCSP ¡ O(log ¡n ¡log*n) ¡ Cormode ¡and ¡Muthukrishnan ¡(2002) ¡ (edit ¡distance ¡with ¡moves ¡problem) ¡

slide-13
SLIDE 13

Hardness ¡

  • 2-­‑MCSP ¡is ¡NP-­‑hard ¡and ¡APX-­‑hard ¡

– Goldstein, ¡Kolman, ¡and ¡Zheng ¡(2004) ¡ – Implies ¡Duo-­‑preservaAon ¡is ¡also ¡NP-­‑hard ¡

  • 2-­‑MPSM ¡is ¡APX-­‑hard ¡

– Boria, ¡Kurpisz, ¡Leppänen, ¡and ¡Mastrolilli ¡(2014) ¡

slide-14
SLIDE 14

Other ¡Related ¡Work ¡

  • Fixed ¡parameter ¡tractability ¡(FPT) ¡

– Duo-­‑preservaAon ¡is ¡FPT ¡when ¡parameterized ¡by ¡ number ¡of ¡preserved ¡duos ¡

  • BereYa, ¡Castelli, ¡Dondi ¡(2015) ¡
  • HeurisAcs ¡(for ¡String ¡ParAAon) ¡

– Blum, ¡Lozano, ¡Davidson ¡(2015) ¡ – Ferdous, ¡Rahman ¡(2015) ¡

  • ApplicaAons ¡(for ¡String ¡ParAAon) ¡

– Chen, ¡Zheng, ¡Fu, ¡Nan, ¡Zhong, ¡Lonardi, ¡Jiang ¡(2005) ¡ – Swenson, ¡Marron, ¡Earnest-­‑deyoung, ¡Moret ¡(2005) ¡

slide-15
SLIDE 15

Duo ¡Mapping ¡and ¡ConFlicts ¡

  • Consider ¡a ¡biparAte ¡graph ¡on ¡duos ¡

– Add ¡edges ¡between ¡idenAcal ¡duos ¡ – Max ¡matching ¡is ¡upper ¡bound ¡on ¡max ¡duo-­‑preservaAon ¡

at ¡ tc ¡ ct ¡ ta ¡ aa ¡ at ¡ ta ¡ aa ¡ at ¡ tc ¡

A: ¡ a ¡ t ¡ c ¡ t ¡ a ¡ a ¡ B: ¡ a ¡ t ¡ a ¡ a ¡ t ¡ c ¡

slide-16
SLIDE 16

Duo ¡Mapping ¡and ¡ConFlicts ¡

  • Consider ¡a ¡biparAte ¡graph ¡on ¡duos ¡

– Add ¡edges ¡between ¡idenAcal ¡duos ¡ – Max ¡matching ¡is ¡upper ¡bound ¡on ¡max ¡duo-­‑preservaAon ¡

  • Two ¡types ¡of ¡conflicts: ¡

at ¡ tc ¡ ct ¡ ta ¡ aa ¡ at ¡ ta ¡ aa ¡ at ¡ tc ¡

A: ¡ a ¡ t ¡ c ¡ t ¡ a ¡ a ¡ B: ¡ a ¡ t ¡ a ¡ a ¡ t ¡ c ¡

slide-17
SLIDE 17

Duo ¡Mapping ¡and ¡ConFlicts ¡

  • Consider ¡a ¡biparAte ¡graph ¡on ¡duos ¡

– Add ¡edges ¡between ¡idenAcal ¡duos ¡ – Max ¡matching ¡is ¡upper ¡bound ¡on ¡max ¡duo-­‑preservaAon ¡

  • Two ¡types ¡of ¡conflicts: ¡

– Type ¡1: ¡two ¡edges ¡to ¡the ¡same ¡duo ¡

at ¡ tc ¡ ct ¡ ta ¡ aa ¡ at ¡ ta ¡ aa ¡ at ¡ tc ¡

A: ¡ a ¡ t ¡ c ¡ t ¡ a ¡ a ¡ B: ¡ a ¡ t ¡ a ¡ a ¡ t ¡ c ¡

slide-18
SLIDE 18

Duo ¡Mapping ¡and ¡ConFlicts ¡

  • Consider ¡a ¡biparAte ¡graph ¡on ¡duos ¡

– Add ¡edges ¡between ¡idenAcal ¡duos ¡ – Max ¡matching ¡is ¡upper ¡bound ¡on ¡max ¡duo-­‑preservaAon ¡

  • Two ¡types ¡of ¡conflicts: ¡

– Type ¡1: ¡two ¡edges ¡to ¡the ¡same ¡duo ¡ – Type ¡2: ¡from ¡consecuAve ¡duos ¡to ¡non-­‑consecuAve ¡duos ¡

at ¡ tc ¡ ct ¡ ta ¡ aa ¡ at ¡ ta ¡ aa ¡ at ¡ tc ¡

A: ¡ a ¡ t ¡ c ¡ t ¡ a ¡ a ¡ B: ¡ a ¡ t ¡ a ¡ a ¡ t ¡ c ¡

slide-19
SLIDE 19

Main ¡Contributions ¡

  • New ¡way ¡to ¡construct ¡a ¡duo ¡matching ¡

– First ¡find ¡weighted ¡matching ¡on ¡triplets ¡ – Translate ¡to ¡a ¡fracAonal ¡duo ¡matching ¡ – Gives ¡a ¡Aghter ¡upper ¡bound ¡

  • New ¡method ¡for ¡resolving ¡conflicts ¡

– Based ¡on ¡local ¡graph ¡structures ¡

slide-20
SLIDE 20

Triplet ¡Algorithm ¡Overview ¡

  • Step ¡1: ¡

– Append ¡special ¡character ¡‘&’ ¡to ¡strings ¡(& ¡≠ ¡&) ¡ – Construct ¡weighted ¡biparAte ¡graph ¡on ¡triplets ¡

  • Step ¡2: ¡ ¡

– Find ¡a ¡weighted ¡matching ¡on ¡triplets ¡that ¡upper ¡bounds ¡ the ¡max ¡preserved ¡duos ¡

  • Step ¡3: ¡ ¡

– Use ¡triplet ¡matching ¡to ¡construct ¡a ¡fracAonal ¡duo ¡ matching ¡

  • Step ¡4: ¡ ¡

– Translate ¡edges ¡into ¡a ¡string ¡mapping ¡that ¡preserves ¡at ¡ least ¡1/3.25 ¡of ¡the ¡max ¡preserved ¡duos ¡

slide-21
SLIDE 21

Step ¡1: ¡Triplet ¡Matching ¡Graph ¡

  • If ¡all ¡three ¡characters ¡match, ¡add ¡an ¡edge ¡with ¡

weight ¡1 ¡

  • If ¡the ¡first ¡two ¡leYers ¡of ¡both ¡or ¡last ¡two ¡leYers ¡of ¡

both ¡match, ¡add ¡an ¡edge ¡with ¡weight ¡0.5 ¡

&at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ = ¡0.5 ¡ = ¡1 ¡ No ¡edge ¡here ¡

slide-22
SLIDE 22

Step ¡2: ¡Max ¡Weight ¡Triplet ¡Matching ¡

  • Find ¡a ¡maximum ¡weight ¡matching ¡
  • The ¡weight ¡of ¡this ¡matching ¡upper ¡bounds ¡the ¡

maximum ¡number ¡of ¡preserved ¡duos ¡

  • Ex: ¡max ¡weight ¡= ¡0.5 ¡+ ¡1 ¡+ ¡0.5 ¡+ ¡0.5 ¡+1 ¡+ ¡0.5 ¡= ¡4 ¡

&at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ = ¡0.5 ¡ = ¡1 ¡

slide-23
SLIDE 23

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

  • Triplet ¡edge ¡weight ¡1 ¡

– Add ¡0.5 ¡edge ¡for ¡both ¡duo ¡pairs ¡

  • Triplet ¡edge ¡weight ¡0.5 ¡

– Add ¡0.5 ¡edge ¡only ¡for ¡duo ¡pair ¡that ¡matches ¡

  • If ¡a ¡matching ¡pair ¡of ¡duos ¡gets ¡two ¡weight ¡0.5 ¡

edges, ¡combine ¡into ¡one ¡weight ¡1 ¡edge ¡

slide-24
SLIDE 24

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-25
SLIDE 25

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-26
SLIDE 26

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

at ¡ at ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-27
SLIDE 27

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

at ¡ at ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-28
SLIDE 28

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

at ¡ at ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-29
SLIDE 29

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

at ¡ tc ¡ at ¡ at ¡ tc ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-30
SLIDE 30

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

at ¡ tc ¡ at ¡ at ¡ tc ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-31
SLIDE 31

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

at ¡ tc ¡ at ¡ at ¡ tc ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-32
SLIDE 32

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

at ¡ tc ¡ at ¡ at ¡ tc ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-33
SLIDE 33

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

at ¡ tc ¡ at ¡ at ¡ tc ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-34
SLIDE 34

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

at ¡ tc ¡ at ¡ at ¡ tc ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-35
SLIDE 35

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

at ¡ tc ¡ at ¡ at ¡ tc ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡ &at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡

slide-36
SLIDE 36

Step ¡3: ¡Translate ¡to ¡Duo ¡Matching ¡

&at ¡ atc ¡ tct ¡ cta ¡ taa ¡ aa& ¡ &at ¡ ata ¡ taa ¡ aat ¡ atc ¡ tc& ¡ at ¡ tc ¡ ct ¡ ta ¡ aa ¡ at ¡ ta ¡ aa ¡ at ¡ tc ¡ A: ¡& ¡a ¡t ¡c ¡t ¡a ¡a ¡& ¡ B: ¡& ¡a ¡t ¡a ¡a ¡t ¡c ¡& ¡

slide-37
SLIDE 37

Triplet ¡Algorithm ¡Overview ¡

  • Step ¡1: ¡

– Append ¡special ¡character ¡‘&’ ¡to ¡strings ¡(& ¡≠ ¡&) ¡ – Construct ¡weighted ¡biparAte ¡graph ¡on ¡triplets ¡

  • Step ¡2: ¡ ¡

– Find ¡a ¡weighted ¡matching ¡on ¡triplets ¡that ¡upper ¡bounds ¡ the ¡max ¡preserved ¡duos ¡

  • Step ¡3: ¡ ¡

– Use ¡triplet ¡matching ¡to ¡construct ¡a ¡fracAonal ¡duo ¡ matching ¡

  • Step ¡4: ¡ ¡

– Translate ¡edges ¡into ¡a ¡string ¡mapping ¡that ¡preserves ¡at ¡ least ¡1/3.25 ¡of ¡the ¡max ¡preserved ¡duos ¡

slide-38
SLIDE 38

Step ¡4: ¡Selecting ¡Edges ¡to ¡Map ¡

  • Edges ¡are ¡selected ¡in ¡three ¡phases ¡

– Selected ¡edge ¡= ¡pair ¡of ¡duos ¡that ¡get ¡mapped ¡to ¡ each ¡other ¡ – Must ¡remove ¡selected ¡edge ¡and ¡conflicAng ¡edges ¡ from ¡the ¡duo ¡matching ¡

  • Each ¡phase ¡considers ¡edges ¡in ¡the ¡order ¡they ¡

appear ¡in ¡the ¡first ¡string ¡

slide-39
SLIDE 39

Step ¡4: ¡Selecting ¡Edges ¡to ¡Map ¡

  • Phase ¡1: ¡Select ¡weight ¡1 ¡edges ¡
  • Phase ¡2: ¡Select ¡pairs ¡of ¡consecuAve ¡parallel ¡

edges ¡

  • Phase ¡3: ¡Select ¡any ¡remaining ¡edges ¡
slide-40
SLIDE 40

Step ¡4: ¡Selecting ¡Edges ¡to ¡Map ¡

  • Phase ¡1: ¡Select ¡weight ¡1 ¡edges ¡
  • Phase ¡2: ¡Select ¡pairs ¡of ¡consecuAve ¡parallel ¡

edges ¡

  • Phase ¡3: ¡Select ¡any ¡remaining ¡edges ¡
slide-41
SLIDE 41

Step ¡4: ¡Selecting ¡Edges ¡to ¡Map ¡

  • Phase ¡1: ¡Select ¡weight ¡1 ¡edges ¡
  • Phase ¡2: ¡Select ¡pairs ¡of ¡consecuAve ¡parallel ¡

edges ¡

  • Phase ¡3: ¡Select ¡any ¡remaining ¡edges ¡
slide-42
SLIDE 42

Step ¡4: ¡Selecting ¡Edges ¡to ¡Map ¡

  • Phase ¡1: ¡Select ¡weight ¡1 ¡edges ¡
  • Phase ¡2: ¡Select ¡pairs ¡of ¡consecuAve ¡parallel ¡

edges ¡

  • Phase ¡3: ¡Select ¡any ¡remaining ¡edges ¡
slide-43
SLIDE 43

Step ¡4: ¡Selecting ¡Edges ¡to ¡Map ¡

  • Phase ¡1: ¡Select ¡weight ¡1 ¡edges ¡
  • Phase ¡2: ¡Select ¡pairs ¡of ¡consecuAve ¡parallel ¡

edges ¡

  • Phase ¡3: ¡Select ¡any ¡remaining ¡edges ¡
slide-44
SLIDE 44

Step ¡4: ¡Selecting ¡Edges ¡to ¡Map ¡

  • Phase ¡1: ¡Select ¡weight ¡1 ¡edges ¡
  • Phase ¡2: ¡Select ¡pairs ¡of ¡consecuAve ¡parallel ¡

edges ¡

  • Phase ¡3: ¡Select ¡any ¡remaining ¡edges ¡
slide-45
SLIDE 45

Step ¡4: ¡Selecting ¡Edges ¡to ¡Map ¡

  • Phase ¡1: ¡Select ¡weight ¡1 ¡edges ¡
  • Phase ¡2: ¡Select ¡pairs ¡of ¡consecuAve ¡parallel ¡

edges ¡

  • Phase ¡3: ¡Select ¡any ¡remaining ¡edges ¡
slide-46
SLIDE 46

Step ¡4: ¡Selecting ¡Edges ¡to ¡Map ¡

  • Phase ¡1: ¡Select ¡weight ¡1 ¡edges ¡
  • Phase ¡2: ¡Select ¡pairs ¡of ¡consecuAve ¡parallel ¡

edges ¡

  • Phase ¡3: ¡Select ¡any ¡remaining ¡edges ¡
slide-47
SLIDE 47

Step ¡4: ¡Selecting ¡Edges ¡to ¡Map ¡

  • Phase ¡1: ¡Select ¡weight ¡1 ¡edges ¡
  • Phase ¡2: ¡Select ¡pairs ¡of ¡consecuAve ¡parallel ¡

edges ¡

  • Phase ¡3: ¡Select ¡any ¡remaining ¡edges ¡
slide-48
SLIDE 48

Proof-­‑by-­‑pictures: ¡Step ¡4, ¡Phase ¡1 ¡

  • Solid ¡purple ¡edges ¡can’t ¡be ¡conflicAng, ¡aren’t ¡removed ¡
  • Total ¡weight ¡removed ¡= ¡4(1/2) ¡+ ¡1 ¡= ¡3 ¡
  • RaAo ¡= ¡1/3 ¡

i ¡-­‑ ¡2 ¡ i ¡-­‑ ¡1 ¡ ¡ i ¡ i ¡+ ¡1 ¡ j ¡-­‑ ¡2 ¡ j ¡-­‑ ¡1 ¡ j ¡ j ¡+ ¡1 ¡ i ¡-­‑ ¡1 ¡ i ¡ i ¡+ ¡1 ¡ j ¡-­‑ ¡1 ¡ j ¡ j ¡+ ¡1 ¡

slide-49
SLIDE 49

Proof-­‑by-­‑pictures: ¡Step ¡4, ¡Phase ¡2 ¡

  • Only ¡one ¡of ¡the ¡two ¡purple ¡edges ¡from ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡can ¡exist ¡
  • Total ¡weight ¡removed ¡= ¡10(1/2) ¡+ ¡1(1/2) ¡+ ¡2(1/2) ¡= ¡6.5 ¡
  • RaAo ¡= ¡2/6.5 ¡= ¡1/3.25 ¡

i ¡-­‑ ¡2 ¡ i ¡-­‑ ¡1 ¡ ¡ i ¡ i ¡+ ¡1 ¡ i ¡+ ¡2 ¡ j ¡-­‑ ¡2 ¡ j ¡-­‑ ¡1 ¡ j ¡ j ¡+ ¡1 ¡ j ¡+ ¡2 ¡ i ¡-­‑ ¡1 ¡ i ¡ i ¡+ ¡1 ¡ i ¡+ ¡2 ¡ j ¡-­‑ ¡1 ¡ j ¡ j ¡+ ¡1 ¡ j ¡+ ¡2 ¡ i ¡-­‑ ¡1 ¡ ¡

slide-50
SLIDE 50

Future ¡Work ¡

  • 2 ¡or ¡3-­‑approximaAon ¡

– Can ¡this ¡work ¡be ¡combined ¡with ¡local ¡search ¡ techniques ¡of ¡Boria ¡et ¡al ¡(2016)? ¡

  • ConnecAng ¡to ¡more ¡applicaAons ¡
  • HeurisAcs ¡
slide-51
SLIDE 51

Thank ¡You! ¡

slide-52
SLIDE 52

Why ¡not ¡4-­‑mers? ¡

  • Appears ¡that ¡a ¡max ¡weight ¡matching ¡would ¡

not ¡upper ¡bound ¡the ¡max ¡preserved ¡duos ¡

– Can ¡only ¡choose ¡one ¡edge ¡for ¡a ¡4-­‑mer ¡matching ¡

abcd ¡ abee ¡ ffcd ¡

slide-53
SLIDE 53

Why ¡not ¡4-­‑mers? ¡

  • Appears ¡that ¡a ¡max ¡weight ¡matching ¡would ¡

not ¡upper ¡bound ¡the ¡max ¡preserved ¡duos ¡

– Can ¡only ¡choose ¡one ¡edge ¡for ¡a ¡4-­‑mer ¡matching ¡ – Duo ¡mapping ¡can ¡match ¡“ab” ¡and ¡“cd” ¡separately ¡

abcd ¡ abee ¡ ffcd ¡