Presentation is loading. Please wait.

Presentation is loading. Please wait.

On the distributed complexity of computing maximal matching Michal Hanckowiak, Michal Karonski, Allesandro Panconesi Presented by Maya Levy January 2016.

Similar presentations


Presentation on theme: "On the distributed complexity of computing maximal matching Michal Hanckowiak, Michal Karonski, Allesandro Panconesi Presented by Maya Levy January 2016."β€” Presentation transcript:

1 On the distributed complexity of computing maximal matching Michal Hanckowiak, Michal Karonski, Allesandro Panconesi Presented by Maya Levy January 2016

2 Maximal Matching

3 The model Undirected graph- vertices correspond to processors, edges to bidirectional communication links. Synchronous – in each round every processor receives messages from its neighbors, does any amount of calculations and sends messages to its neighbors. Each node has an integer from 1 to 𝑛 as a unique identifier and it knows it. Time complexity is determined by the number of rounds.

4 The approach Χ Χ’Χ“Χ™Χ¨ Χ©Χ™Χ“Χ•Χš Χ˜Χ•Χ‘ Χ•ΧœΧ›ΧͺΧ•Χ‘ Χ”Χ’Χ“Χ¨Χ” גל Χ”ΧœΧ•Χ—

5 Definitions Χ Χ’Χ“Χ™Χ¨ Χ©Χ™Χ“Χ•Χš Χ˜Χ•Χ‘ Χ•ΧœΧ›ΧͺΧ•Χ‘ Χ”Χ’Χ“Χ¨Χ” גל Χ”ΧœΧ•Χ—

6 Definitions

7 Definitions 𝐺𝑖𝑣𝑒𝑛 π‘Ž π‘”π‘Ÿπ‘Žπ‘β„Ž 𝐺= 𝑉,𝐸 , π‘€βŠ†πΈ, π‘’βˆˆπΈ:
π‘‘π‘œπ‘’π‘β„Ž 𝑀 𝑖𝑠 π‘Ž π‘’π‘›π‘–π‘œπ‘› π‘œπ‘“ 𝑀 π‘Žπ‘›π‘‘ π‘‘β„Žπ‘’ 𝑠𝑒𝑑 π‘œπ‘“ 𝑒𝑑𝑔𝑒𝑠 "π‘‘π‘œπ‘’π‘β„Žπ‘’π‘‘" 𝑏𝑦 𝑀 𝑀 𝐺 𝑒 𝑖𝑠 π‘‘β„Žπ‘’ π‘›π‘’π‘šπ‘π‘’π‘Ÿ π‘œπ‘“ 𝑒𝑑𝑔𝑒𝑠 "π‘‘π‘œπ‘’π‘β„Žπ‘’π‘‘" 𝑏𝑦 𝑒

8 Definitions

9 Reduce to bipartite graph
Match Reduce to bipartite graph BipartiteMatch Generalize the bipartite matching

10 Reducing to bipartite graph
1 2 3 4 5 6 7 8 9 A B

11 Reducing to bipartite graph
2 3 1 π‘œπ‘’π‘‘ 1 𝑖𝑛 4 5 6 7 8 9 A B

12 Reducing to bipartite graph
3 1 π‘œπ‘’π‘‘ 1 𝑖𝑛 2 π‘œπ‘’π‘‘ 2 𝑖𝑛 4 5 6 7 8 9 A B

13 Reducing to bipartite graph
1 π‘œπ‘’π‘‘ 1 𝑖𝑛 2 π‘œπ‘’π‘‘ 2 𝑖𝑛 3 π‘œπ‘’π‘‘ 3 𝑖𝑛 4 π‘œπ‘’π‘‘ 5 π‘œπ‘’π‘‘ 4 𝑖𝑛 5 𝑖𝑛 7 π‘œπ‘’π‘‘ 8 𝑖𝑛 6 𝑖𝑛 6 π‘œπ‘’π‘‘ 7 𝑖𝑛 8 π‘œπ‘’π‘‘ 9 𝑖𝑛 9 π‘œπ‘’π‘‘ 𝐴 𝑖𝑛 𝐡 π‘œπ‘’π‘‘ 𝐴 π‘œπ‘’π‘‘ 𝐡 𝑖𝑛

14 Reducing to bipartite graph
1 π‘œπ‘’π‘‘ 1 𝑖𝑛 2 π‘œπ‘’π‘‘ 2 𝑖𝑛 3 π‘œπ‘’π‘‘ 3 𝑖𝑛 4 π‘œπ‘’π‘‘ 5 π‘œπ‘’π‘‘ 4 𝑖𝑛 5 𝑖𝑛 7 π‘œπ‘’π‘‘ 8 𝑖𝑛 6 𝑖𝑛 6 π‘œπ‘’π‘‘ 7 𝑖𝑛 8 π‘œπ‘’π‘‘ 9 𝑖𝑛 9 π‘œπ‘’π‘‘ 𝐴 𝑖𝑛 𝐡 π‘œπ‘’π‘‘ 𝐴 π‘œπ‘’π‘‘ 𝐡 𝑖𝑛

15 Reducing to bipartite graph
1 𝑖𝑛 1 π‘œπ‘’π‘‘ 2 𝑖𝑛 2 π‘œπ‘’π‘‘ 1 2 3 3 𝑖𝑛 3 π‘œπ‘’π‘‘ 4 𝑖𝑛 4 5 4 π‘œπ‘’π‘‘ 5 𝑖𝑛 5 π‘œπ‘’π‘‘ 6 7 8 6 𝑖𝑛 6 π‘œπ‘’π‘‘ 7 𝑖𝑛 7 π‘œπ‘’π‘‘ 9 A B 8 𝑖𝑛 8 π‘œπ‘’π‘‘ 9 𝑖𝑛 9 π‘œπ‘’π‘‘ 𝐴 𝑖𝑛 𝐴 π‘œπ‘’π‘‘ 𝐡 𝑖𝑛 𝐡 π‘œπ‘’π‘‘

16 Reducing to bipartite graph

17 Reducing to bipartite graph

18 Reducing to bipartite graph

19 Reducing to bipartite graph

20 Reducing to bipartite graph

21 Reducing to bipartite graph

22 Reducing to bipartite graph

23 Reducing to bipartite graph

24 Reducing to bipartite graph

25 Reducing to bipartite graph

26 𝑂( log 𝑛 ⋅𝑑(π΅π‘–π‘π‘Žπ‘Ÿπ‘‘π‘–π‘‘π‘’π‘€π‘Žπ‘‘π‘β„Ž))
Match Reduce to bipartite graph by splitting to in and out vertices BipartiteMatch Generalize the bipartite matching: - Remove degree 1 vertices calculate maximal matching of degree 2 graph Drop matched edges Choose which edges to keep ΧœΧ•Χ•Χ“Χ Χ©Χ›Χœ Χ©ΧœΧ‘ ΧžΧ‘Χ•Χ–Χ¨ 𝑂( log 𝑛 ⋅𝑑(π΅π‘–π‘π‘Žπ‘Ÿπ‘‘π‘–π‘‘π‘’π‘€π‘Žπ‘‘π‘β„Ž))

27 Matching a bipartite graph
𝐺=(𝐿, 𝑅, 𝐸) Χ Χ Χ™Χ— שצמΧͺΧ™ Χ¦Χ“ שמאל ΧžΧ‘Χ•Χ“Χ¨Χ•Χͺ ΧœΧ€Χ™ Χ“Χ¨Χ’Χ”, Χ‘Χ“Χ¨ Χ’Χ•ΧœΧ”.

28 Matching a bipartite graph
𝐺=(𝐿, 𝑅, 𝐸) 𝑯 π’π’π’ˆπ’ 𝐻 𝑖 =π‘’βˆˆπΏ: 𝑛 2 𝑖+1 <𝑑 𝑒 ≀ 𝑛 2 𝑖 𝑯 𝟎

29 Matching a bipartite graph
𝐺=(𝐿, 𝑅, 𝐸) 𝑯 π’π’π’ˆπ’ 𝐻 𝑖 =π‘’βˆˆπΏ: 𝑛 2 𝑖+1 <𝑑 𝑒 ≀ 𝑛 2 𝑖 𝐡 𝑖 𝑖𝑠 π‘‘β„Žπ‘’ π‘π‘™π‘œπ‘π‘˜ 𝑖𝑛𝑑𝑒𝑐𝑒𝑑 𝑏𝑦 𝐻 𝑖 𝑒𝑑𝑔𝑒𝑠 𝑯 𝟎

30 Matching a bipartite graph
𝐺=(𝐿, 𝑅, 𝐸) 𝐻 𝑖 =π‘’βˆˆπΏ: 𝑛 2 𝑖+1 <𝑑 𝑒 ≀ 𝑛 2 𝑖 𝐡 𝑖 𝑖𝑠 π‘‘β„Žπ‘’ π‘π‘™π‘œπ‘π‘˜ 𝑖𝑛𝑑𝑒𝑐𝑒𝑑 𝑏𝑦 𝐻 𝑖 𝑒𝑑𝑔𝑒𝑠

31 Matching a bipartite graph
𝐺=(𝐿, 𝑅, 𝐸) 𝐻 𝑖 =π‘’βˆˆπΏ: 𝑛 2 𝑖+1 <𝑑 𝑒 ≀ 𝑛 2 𝑖 𝐡 𝑖 𝑖𝑠 π‘‘β„Žπ‘’ π‘π‘™π‘œπ‘π‘˜ 𝑖𝑛𝑑𝑒𝑐𝑒𝑑 𝑏𝑦 𝐻 𝑖 𝑒𝑑𝑔𝑒𝑠

32 Generate blocks Partition
BipartiteMatch Generate blocks Partition MatchBlock 1 MatchBlock 2 . MatchBlock D Global match

33 Matching a bipartite graph

34 Matching a bipartite graph

35 Matching a bipartite graph

36 Matching a bipartite graph
𝑀 π‘˜ 𝑀 3 𝑖=2 π‘˜ 𝑀 𝑖 2 ≀ 𝑀 1 𝑀 2 Χ™Χ© Χ¨Χ§ Χ©Χ™Χ“Χ•Χš אחד ΧœΧ›Χœ Χ”Χ™Χ•ΧͺΧ¨ ΧžΧ›Χœ Χ‘ΧœΧ•Χ§ 𝑀 1

37 Matching a bipartite graph

38 Generate blocks Partition
BipartiteMatch Generate blocks Partition MatchBlock 1 MatchBlock 2 . MatchBlock D Global match 𝑂(𝑑 π‘€π‘Žπ‘‘π‘β„Žπ΅π‘™π‘œπ‘π‘˜(𝑛) )

39 Matching a block

40 Matching a block

41 Matching a block

42 Matching a block

43 Spanner 𝑩 (π΅π‘™π‘œπ‘π‘˜)

44 Spanner 𝑩 (π΅π‘™π‘œπ‘π‘˜) 𝑺 (Spanner)

45 Spanner 𝐴𝑛 𝒂,𝒅 βˆ’π’”π’‘π’‚π’π’π’†π’“ π‘œπ‘“ π‘Ž π‘π‘™π‘œπ‘π‘˜ 𝐡= 𝐻 𝑖 ,𝑁 𝐻 𝑖 , 𝐸 𝑖𝑠 π‘Ž π‘ π‘’π‘π‘”π‘Ÿπ‘Žπ‘β„Ž π‘†βŠ†π΅ 𝑠.𝑑: π‘“π‘œπ‘Ÿ π‘’π‘£π‘’π‘Ÿπ‘¦ π‘’βˆˆπ‘™ 𝑆 , 𝑑 𝑆 𝑒 ∈ 1,𝑑 π‘“π‘œπ‘Ÿ π‘’π‘£π‘’π‘Ÿπ‘¦ π‘’βˆˆπ‘Ÿ, 𝑑 𝑆 𝑒 ≀ 1 2 π‘˜ 𝐡 𝑑 𝐡 𝑣 +1, π‘€β„Žπ‘’π‘Ÿπ‘’ π‘˜ 𝐡 β‰”π‘™π‘œπ‘”π·βˆ’4 𝑙 𝑆 β‰₯π‘Ž 𝐻 𝑖 𝑩 (π΅π‘™π‘œπ‘π‘˜) 𝑺 (Spanner)

46 Spanner 𝑩 (π΅π‘™π‘œπ‘π‘˜) 𝑺 (Spanner) 𝑷 (Proposal)

47 Spanner 𝑩 (π΅π‘™π‘œπ‘π‘˜) 𝑺 (Spanner) 𝑷 (Proposal) 𝑴 (Matching)

48 Matching a block – correctness
π’—βˆˆπ’“(𝑷) 𝒅 𝑩 𝒗 β‰₯𝒃 𝑬 𝑩 ? 𝑩 𝑺 𝑷 𝑴

49 Matching a block – correctness
|𝒍 𝑴 |= 𝑙 𝑃 βˆ’ π‘£βˆˆπ‘Ÿ(𝑃) ( 𝑑 𝑃 𝑣 βˆ’1) 𝑩 𝑺 𝑷 𝑴 β‰₯π‘Ž|𝑙 𝐡 |βˆ’ π‘£βˆˆπ‘Ÿ(𝑃) ( 𝑑 𝑃 𝑣 βˆ’1) β‰₯π‘Ž|𝑙 𝐡 |βˆ’ π‘£βˆˆπ‘Ÿ(𝑃) π‘˜ 𝐡 𝑑 𝐡 (𝑣) β‰₯π‘Ž|𝑙 𝐡 |βˆ’ 1 2 π‘˜ 𝐡 π‘π‘š β‰₯π‘Ž|𝑙 𝐡 |βˆ’ 1 2 π‘˜ 𝐡 𝑏𝐷|𝑙 𝐡 | β‰₯(π’‚βˆ’πŸπŸ”π’ƒ)|𝒍 𝑩 |

50 Matching a block – correctness
𝒍 𝑴 β‰₯𝒄|𝒍 𝑩 | 𝑩 𝑺 𝑷 𝑴 βˆ€π‘’βˆˆπΏ: 𝐷 2 ≀𝑑 𝐡 𝑒 ≀𝐷 π‘‘π‘œπ‘’π‘β„Ž 𝑀 β‰₯ 𝑙 𝑀 β‹… 𝐷 2 β‰₯ π‘Žβˆ’16𝑏 2 𝐷|𝑙 𝐡 | β‰₯ π‘Žβˆ’16𝑏 2 |𝐸 𝑏 |

51 Match BipartiteMatch . MatchBlock
Generalize the bipartite matching Reduce to bipartite graph BipartiteMatch BipartiteMatch Generate blocks Partition MatchBlock 1 MatchBlock 2 MatchBlock D . Global match MatchBlock Create spanner Match Spanner

52 Create spanner – 2 decomposition graph
1 2 3 4 5 6 7 8 A 9 B C

53 Create spanner – 2 decomposition graph
1 1 2 3 4 5 6 7 8 A 9 B C

54 Create spanner – 2 decomposition graph
1 2 1 2 2 3 4 5 6 7 8 A 9 B C

55 Create spanner – long arrows

56 Create spanner – long arrows

57 Create spanner – long arrows

58 Create spanner – long arrows

59 Create spanner – long arrows

60 Create spanner – long arrows

61 Create spanner – long arrows

62 Create spanner

63 Create spanner

64 Create spanner 1 2 3 4 5 6 7 8 A 9 B C

65 Create spanner 1 2 3 4 5 6 7 8 A 9 B C

66 𝑂( log 𝑛 β‹… log 2 𝑛) =𝑂( log 3 𝑛)
Create spanner Create 2- decomposition graph Create long arrows and partition to segments Perfect/near perfect match inside the segments Remove matched/bad edges 𝑂( log 𝑛 β‹… log 2 𝑛) =𝑂( log 3 𝑛)

67 Match BipartiteMatch . MatchBlock
Generalize the bipartite matching Reduce to bipartite graph BipartiteMatch BipartiteMatch Generate blocks Partition MatchBlock 1 MatchBlock 2 MatchBlock D . Global match MatchBlock Create spanner Match Spanner

68


Download ppt "On the distributed complexity of computing maximal matching Michal Hanckowiak, Michal Karonski, Allesandro Panconesi Presented by Maya Levy January 2016."

Similar presentations


Ads by Google