Fully Dynamic Maximal Independent Set with Sublinear Update Time - - PowerPoint PPT Presentation

fully dynamic maximal independent set with sublinear
SMART_READER_LITE
LIVE PREVIEW

Fully Dynamic Maximal Independent Set with Sublinear Update Time - - PowerPoint PPT Presentation

Fully Dynamic Maximal Independent Set with Sublinear Update Time Sepehr Assadi University of Pennsylvania Joint work with: Krzysztof Onak, Baruch Schieber, and Shay Solomon IBM Research Sepehr Assadi (Penn) STOC 2018 The Maximal Independent


slide-1
SLIDE 1

Fully Dynamic Maximal Independent Set with Sublinear Update Time

Sepehr Assadi

University of Pennsylvania

Joint work with: Krzysztof Onak, Baruch Schieber, and Shay Solomon

IBM Research

Sepehr Assadi (Penn) STOC 2018

slide-2
SLIDE 2

The Maximal Independent Set Problem

In a graph G(V, E): Maximal Independent Set (MIS): A maximal collection of vertices M such that no pair of vertices are adjacent.

Sepehr Assadi (Penn) STOC 2018

slide-3
SLIDE 3

The Maximal Independent Set Problem

In a graph G(V, E): Maximal Independent Set (MIS): A maximal collection of vertices M such that no pair of vertices are adjacent.

Sepehr Assadi (Penn) STOC 2018

slide-4
SLIDE 4

The Maximal Independent Set Problem

Finding an MIS is a fundamental problem with numerous applications. Closely related to a plethora of other basic problems, such as vertex cover, matching, vertex coloring, and edge coloring. Has been studied extensively in various settings, in particular parallel and distributed algorithms. Initiated by seminal works of [ABI86, Lub86, Lin87].

Sepehr Assadi (Penn) STOC 2018

slide-5
SLIDE 5

Maintaining an MIS in Dynamic Graphs

Maintaining an MIS in dynamically changing graphs on the other hand has not received much attention.

Sepehr Assadi (Penn) STOC 2018

slide-6
SLIDE 6

Maintaining an MIS in Dynamic Graphs

Maintaining an MIS in dynamically changing graphs on the other hand has not received much attention. Censor-Hillel, Haramaty, and Karnin [CHK16]: randomized algorithm in distributed dynamic networks.

Sepehr Assadi (Penn) STOC 2018

slide-7
SLIDE 7

Maintaining an MIS in Dynamic Graphs

Maintaining an MIS in dynamically changing graphs on the other hand has not received much attention. Censor-Hillel, Haramaty, and Karnin [CHK16]: randomized algorithm in distributed dynamic networks. Maintaining an MIS in (sequential) dynamic graphs setting was left

  • pen by [CHK16].

Sepehr Assadi (Penn) STOC 2018

slide-8
SLIDE 8

Dynamic Graphs Setting

We have a graph G(V, E) that undergoes edge insertions and deletions.

Sepehr Assadi (Penn) STOC 2018

slide-9
SLIDE 9

Dynamic Graphs Setting

We have a graph G(V, E) that undergoes edge insertions and deletions. Maintain a solution to a combinatorial problem, say an MIS, after every update.

Sepehr Assadi (Penn) STOC 2018

slide-10
SLIDE 10

Dynamic Graphs Setting

We have a graph G(V, E) that undergoes edge insertions and deletions. Maintain a solution to a combinatorial problem, say an MIS, after every update. Can we do better than simply recomputing the solution from scratch after every update?

Sepehr Assadi (Penn) STOC 2018

slide-11
SLIDE 11

Dynamic Graphs Setting

We have a graph G(V, E) that undergoes edge insertions and deletions. Maintain a solution to a combinatorial problem, say an MIS, after every update. Can we do better than simply recomputing the solution from scratch after every update? Dynamic graphs appear in lots of applications.

Sepehr Assadi (Penn) STOC 2018

slide-12
SLIDE 12

Dynamic Graphs Setting

We have a graph G(V, E) that undergoes edge insertions and deletions. Maintain a solution to a combinatorial problem, say an MIS, after every update. Can we do better than simply recomputing the solution from scratch after every update? Dynamic graphs appear in lots of applications. Numerous problems have been studied in dynamic graphs:

Sepehr Assadi (Penn) STOC 2018

slide-13
SLIDE 13

Dynamic Graphs Setting

We have a graph G(V, E) that undergoes edge insertions and deletions. Maintain a solution to a combinatorial problem, say an MIS, after every update. Can we do better than simply recomputing the solution from scratch after every update? Dynamic graphs appear in lots of applications. Numerous problems have been studied in dynamic graphs: Connectivity, spanning tree, maximal matching, approximate matching and vertex cover, shortest path, graph coloring, . . .

Sepehr Assadi (Penn) STOC 2018

slide-14
SLIDE 14

Dynamic Graphs Setting

We have a graph G(V, E) that undergoes edge insertions and deletions. Maintain a solution to a combinatorial problem, say an MIS, after every update. Can we do better than simply recomputing the solution from scratch after every update? Dynamic graphs appear in lots of applications. Numerous problems have been studied in dynamic graphs: Connectivity, spanning tree, maximal matching, approximate matching and vertex cover, shortest path, graph coloring, . . .

Sepehr Assadi (Penn) STOC 2018

slide-15
SLIDE 15

Dynamic MIS Problem

Not much is known for maintaining an MIS in dynamic graphs.

Sepehr Assadi (Penn) STOC 2018

slide-16
SLIDE 16

Dynamic MIS Problem

Not much is known for maintaining an MIS in dynamic graphs. O(m) update time by recomputing an MIS after every update.

Sepehr Assadi (Penn) STOC 2018

slide-17
SLIDE 17

Dynamic MIS Problem

Not much is known for maintaining an MIS in dynamic graphs. O(m) update time by recomputing an MIS after every update. Is there something better we could do?

Sepehr Assadi (Penn) STOC 2018

slide-18
SLIDE 18

Warm-Up: A Simple Algorithm

∆: an upper bound on the maximum degree of the graph at all times. Can we at least achieve O(∆) update time?

Sepehr Assadi (Penn) STOC 2018

slide-19
SLIDE 19

Warm-Up: A Simple Algorithm

∆: an upper bound on the maximum degree of the graph at all times. Can we at least achieve O(∆) update time? For many problems of similar nature, say maximal matching or (∆ + 1)-vertex coloring, this is a trivial task.

Sepehr Assadi (Penn) STOC 2018

slide-20
SLIDE 20

Warm-Up: A Simple Algorithm

∆: an upper bound on the maximum degree of the graph at all times. Can we at least achieve O(∆) update time? For many problems of similar nature, say maximal matching or (∆ + 1)-vertex coloring, this is a trivial task. Let us examine a natural strategy for maintaining an MIS M in O(∆) update time.

Sepehr Assadi (Penn) STOC 2018

slide-21
SLIDE 21

Warm-Up: An O(∆) Update Time Algorithm?

Invariant: Every vertex knows its neigh- bors in M.

Sepehr Assadi (Penn) STOC 2018

slide-22
SLIDE 22

Warm-Up: An O(∆) Update Time Algorithm?

Invariant: Every vertex knows its neigh- bors in M. So any vertex in O(1) time can decide to join or leave M.

Sepehr Assadi (Penn) STOC 2018

slide-23
SLIDE 23

Warm-Up: An O(∆) Update Time Algorithm?

How to maintain the invariant after an edge (u, v) is updated?

Sepehr Assadi (Penn) STOC 2018

slide-24
SLIDE 24

Warm-Up: An O(∆) Update Time Algorithm?

How to maintain the invariant after an edge (u, v) is updated? If u, v / ∈ M nothing to do.

Sepehr Assadi (Penn) STOC 2018

slide-25
SLIDE 25

Warm-Up: An O(∆) Update Time Algorithm?

How to maintain the invariant after an edge (u, v) is updated? If u ∈ M and v / ∈ M (or vice versa):

Sepehr Assadi (Penn) STOC 2018

slide-26
SLIDE 26

Warm-Up: An O(∆) Update Time Algorithm?

How to maintain the invariant after an edge (u, v) is updated? If u ∈ M and v / ∈ M (or vice versa): Edge insertion: update list of M-neighbors of v. Edge deletion: v checks if it can now join M or not. Inform all its neighbors in O(∆) time if it joins.

Sepehr Assadi (Penn) STOC 2018

slide-27
SLIDE 27

Warm-Up: An O(∆) Update Time Algorithm?

How to maintain the invariant after an edge (u, v) is updated? If u, v ∈ M:

Sepehr Assadi (Penn) STOC 2018

slide-28
SLIDE 28

Warm-Up: An O(∆) Update Time Algorithm?

How to maintain the invariant after an edge (u, v) is updated? If u, v ∈ M: Edge insertion: One of them, say v, needs to leave M. All neighbors of v can now potentially join M.

Sepehr Assadi (Penn) STOC 2018

slide-29
SLIDE 29

Warm-Up: An O(∆) Update Time Algorithm?

How to maintain the invariant after an edge (u, v) is updated? If u, v ∈ M: Edge insertion: One of them, say v, needs to leave M. All neighbors of v can now potentially join M. This is problematic: Ω(∆) vertices potentially need to inform their Ω(∆) neighbors if they joined M!

Sepehr Assadi (Penn) STOC 2018

slide-30
SLIDE 30

Warm-Up: An O(∆) Update Time Algorithm?

Ω(∆2) update time in the worst case.

Sepehr Assadi (Penn) STOC 2018

slide-31
SLIDE 31

Warm-Up: An O(∆) Update Time Algorithm?

Ω(∆2) update time in the worst case. Are we doomed then?

Sepehr Assadi (Penn) STOC 2018

slide-32
SLIDE 32

Warm-Up: An O(∆) Update Time Algorithm?

Ω(∆2) update time in the worst case. Are we doomed then? Not really!

Sepehr Assadi (Penn) STOC 2018

slide-33
SLIDE 33

Warm-Up: An O(∆) Update Time Algorithm?

Ω(∆2) update time in the worst case. Are we doomed then? Not really! The algorithm has a very simple yet useful property:

Sepehr Assadi (Penn) STOC 2018

slide-34
SLIDE 34

Warm-Up: An O(∆) Update Time Algorithm?

Ω(∆2) update time in the worst case. Are we doomed then? Not really! The algorithm has a very simple yet useful property: After a single update: Many vertices can potentially join M. Only one vertex can ever leave M.

Sepehr Assadi (Penn) STOC 2018

slide-35
SLIDE 35

Warm-Up: An O(∆) Update Time Algorithm?

Ω(∆2) update time in the worst case. Are we doomed then? Not really! The algorithm has a very simple yet useful property: After a single update: Many vertices can potentially join M. Only one vertex can ever leave M. How to use this? Charge a vertex removed from M with O(∆) budget/time. Use it for both removing it now as well as (potentially) inserting it later.

Sepehr Assadi (Penn) STOC 2018

slide-36
SLIDE 36

Warm-Up: An O(∆) Update Time Algorithm?

Ω(∆2) update time in the worst case. Are we doomed then? Not really! The algorithm has a very simple yet useful property: After a single update: Many vertices can potentially join M. Only one vertex can ever leave M. How to use this? Charge a vertex removed from M with O(∆) budget/time. Use it for both removing it now as well as (potentially) inserting it later. Amortized update time is only O(∆)!

Sepehr Assadi (Penn) STOC 2018

slide-37
SLIDE 37

Motivating Question

We saw a very simple O(∆) amortized update time algorithm for dynamic MIS.

Sepehr Assadi (Penn) STOC 2018

slide-38
SLIDE 38

Motivating Question

We saw a very simple O(∆) amortized update time algorithm for dynamic MIS. Still does not improve upon naive re-computation algorithm for sparse graphs with ∆ = Θ(m).

Sepehr Assadi (Penn) STOC 2018

slide-39
SLIDE 39

Motivating Question

We saw a very simple O(∆) amortized update time algorithm for dynamic MIS. Still does not improve upon naive re-computation algorithm for sparse graphs with ∆ = Θ(m). Motivating Question. Can we maintain an MIS in a dynamic graph in sublinear update time, i.e., o(m) time?

Sepehr Assadi (Penn) STOC 2018

slide-40
SLIDE 40

Motivating Question

We saw a very simple O(∆) amortized update time algorithm for dynamic MIS. Still does not improve upon naive re-computation algorithm for sparse graphs with ∆ = Θ(m). Motivating Question. Can we maintain an MIS in a dynamic graph in sublinear update time, i.e., o(m) time? Yes!

Sepehr Assadi (Penn) STOC 2018

slide-41
SLIDE 41

Our Main Result

We prove that A maximal independent set can be maintained deterministically in O(m3/4) amortized update time, where m denotes the dynamic number of edges.

Sepehr Assadi (Penn) STOC 2018

slide-42
SLIDE 42

Our Main Result

We prove that A maximal independent set can be maintained deterministically in O(m3/4) amortized update time, where m denotes the dynamic number of edges. First improvement over the O(m) update time for all values of m.

Sepehr Assadi (Penn) STOC 2018

slide-43
SLIDE 43

Our Main Result

We prove that A maximal independent set can be maintained deterministically in O(m3/4) amortized update time, where m denotes the dynamic number of edges. First improvement over the O(m) update time for all values of m. Can also be implemented in distributed dynamic networks, strengthening the result of [CHK16].

Sepehr Assadi (Penn) STOC 2018

slide-44
SLIDE 44

Deterministic vs Randomized Dynamic Algorithms

A significant distinction between deterministic and randomized algorithms in the dynamic setting.

Sepehr Assadi (Penn) STOC 2018

slide-45
SLIDE 45

Deterministic vs Randomized Dynamic Algorithms

A significant distinction between deterministic and randomized algorithms in the dynamic setting. Main reason: assumption of a non-adaptive oblivious adversary by randomized algorithms.

Sepehr Assadi (Penn) STOC 2018

slide-46
SLIDE 46

Deterministic vs Randomized Dynamic Algorithms

A significant distinction between deterministic and randomized algorithms in the dynamic setting. Main reason: assumption of a non-adaptive oblivious adversary by randomized algorithms.

◮ Adversary has to fix the sequence of updates beforehand and

cannot adapt to decisions of the dynamic algorithm.

Sepehr Assadi (Penn) STOC 2018

slide-47
SLIDE 47

Deterministic vs Randomized Dynamic Algorithms

A significant distinction between deterministic and randomized algorithms in the dynamic setting. Main reason: assumption of a non-adaptive oblivious adversary by randomized algorithms.

◮ Adversary has to fix the sequence of updates beforehand and

cannot adapt to decisions of the dynamic algorithm.

◮ This can render randomized algorithms entirely unusable in

certain scenarios.

Sepehr Assadi (Penn) STOC 2018

slide-48
SLIDE 48

Deterministic vs Randomized Dynamic Algorithms

A significant distinction between deterministic and randomized algorithms in the dynamic setting. Main reason: assumption of a non-adaptive oblivious adversary by randomized algorithms.

◮ Adversary has to fix the sequence of updates beforehand and

cannot adapt to decisions of the dynamic algorithm.

◮ This can render randomized algorithms entirely unusable in

certain scenarios.

A huge gap between the update time of best deterministic vs randomized algorithms for dynamic problems:

Sepehr Assadi (Penn) STOC 2018

slide-49
SLIDE 49

Deterministic vs Randomized Dynamic Algorithms

A significant distinction between deterministic and randomized algorithms in the dynamic setting. Main reason: assumption of a non-adaptive oblivious adversary by randomized algorithms.

◮ Adversary has to fix the sequence of updates beforehand and

cannot adapt to decisions of the dynamic algorithm.

◮ This can render randomized algorithms entirely unusable in

certain scenarios.

A huge gap between the update time of best deterministic vs randomized algorithms for dynamic problems:

◮ Maximal Matching: O(√m) for deterministic [NS13] vs O(1)

for randomized [Sol16].

◮ (∆ + 1)-Vertex Coloring: No non-trivial deterministic algorithm

vs O(log ∆) for randomized [BCHN18].

Sepehr Assadi (Penn) STOC 2018

slide-50
SLIDE 50

An O(m3/4) Amortized Update Time Dynamic Algorithm for MIS

Sepehr Assadi (Penn) STOC 2018

slide-51
SLIDE 51

High Level Idea

Part I: Maintaining a local knowledge of the graph for each vertex.

Sepehr Assadi (Penn) STOC 2018

slide-52
SLIDE 52

High Level Idea

Part I: Maintaining a local knowledge of the graph for each vertex. O(∆) time algorithm: O(m3/4) time algorithm:

Sepehr Assadi (Penn) STOC 2018

slide-53
SLIDE 53

High Level Idea

Part I: Maintaining a local knowledge of the graph for each vertex. Each vertex knows some information about its neighbors that are in M. O(∆) time algorithm: O(m3/4) time algorithm:

Sepehr Assadi (Penn) STOC 2018

slide-54
SLIDE 54

High Level Idea

Part I: Maintaining a local knowledge of the graph for each vertex. Each vertex knows some information about its neighbors that are in M. This information maybe inconsistent across vertices as we cannot afford to update ∆ neighbors of each vertex per update. O(∆) time algorithm: O(m3/4) time algorithm:

Sepehr Assadi (Penn) STOC 2018

slide-55
SLIDE 55

High Level Idea

Part I: Maintaining a local knowledge of the graph for each vertex. Each vertex knows some information about its neighbors that are in M. This information maybe inconsistent across vertices as we cannot afford to update ∆ neighbors of each vertex per update. To compensate, we also maintain some information about 2-hop neighbors of vertices. O(∆) time algorithm: O(m3/4) time algorithm:

Sepehr Assadi (Penn) STOC 2018

slide-56
SLIDE 56

Our Algorithm: High Level Plan

Part II: Maintaining the MIS using the local and inconsistent information of vertices.

Sepehr Assadi (Penn) STOC 2018

slide-57
SLIDE 57

Our Algorithm: High Level Plan

Part II: Maintaining the MIS using the local and inconsistent information of vertices. Main challenge: Based on their partial information, some vertices may join M. They may however have some neighbors already in M. As such we may need to delete some vertices in the current M and process them recursively again.

Sepehr Assadi (Penn) STOC 2018

slide-58
SLIDE 58

Maintaining the Partial Information

Vertices are partitioned into four sets based on their degrees: VHigh: deg ≥ m3/4 VMed-High: m3/4 > deg ≥ m1/2 VMed-Low: m1/2 > deg ≥ m1/4 VLow: remaining vertices

Sepehr Assadi (Penn) STOC 2018

slide-59
SLIDE 59

Maintaining the Partial Information

Vertices are partitioned into four sets based on their degrees: VHigh: deg ≥ m3/4 VMed-High: m3/4 > deg ≥ m1/2 VMed-Low: m1/2 > deg ≥ m1/4 VLow: remaining vertices Why this helps?

Sepehr Assadi (Penn) STOC 2018

slide-60
SLIDE 60

Maintaining the Partial Information

Vertices are partitioned into four sets based on their degrees: VHigh: deg ≥ m3/4 VMed-High: m3/4 > deg ≥ m1/2 VMed-Low: m1/2 > deg ≥ m1/4 VLow: remaining vertices Why this helps?

Sepehr Assadi (Penn) STOC 2018

slide-61
SLIDE 61

Maintaining the Partial Information

M-neighbor information: All vertices except for VLow know all their M-neighbors. v ∈ V \ VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-62
SLIDE 62

Maintaining the Partial Information

M-neighbor information: All vertices except for VLow know all their M-neighbors. Vertices in VLow know all their neighbors in M except for the ones in VHigh. v ∈ VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-63
SLIDE 63

Maintaining the Partial Information

M-neighbor information: All vertices except for VLow know all their M-neighbors. Vertices in VLow know all their neighbors in M except for the ones in VHigh. M-2-hop-neighbor information: Any vertex u for any one of its neighbors v in VLow knows all neighbors of v that are in VLow ∪ VMed-Low and are in M. u ∈ V VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-64
SLIDE 64

Maintaining the Partial Information

M-neighbor information: All vertices except for VLow know all their M-neighbors. Vertices in VLow know all their neighbors in M except for the ones in VHigh. M-2-hop-neighbor information: Any vertex u for any one of its neighbors v in VLow knows all neighbors of v that are in VLow ∪ VMed-Low and are in M. u ∈ V VLow VHigh VMed-High VMed-Low VLow

  • Lemma. One can maintain this information in O(m3/4) time per

each update to the graph or M.

Sepehr Assadi (Penn) STOC 2018

slide-65
SLIDE 65

The Update Algorithm

Unlike the O(∆)-time algorithm, multiple vertices may be deleted from M.

Sepehr Assadi (Penn) STOC 2018

slide-66
SLIDE 66

The Update Algorithm

Unlike the O(∆)-time algorithm, multiple vertices may be deleted from M.

Invariant (Main Invariant)

After every update: If only a single vertex leaves M, then there is no restriction on the number of vertices joining M (which could be zero).

Sepehr Assadi (Penn) STOC 2018

slide-67
SLIDE 67

The Update Algorithm

Unlike the O(∆)-time algorithm, multiple vertices may be deleted from M.

Invariant (Main Invariant)

After every update: If only a single vertex leaves M, then there is no restriction on the number of vertices joining M (which could be zero). However, if k > 1 vertices leave M, then at least 2k vertices would join M.

Sepehr Assadi (Penn) STOC 2018

slide-68
SLIDE 68

The Update Algorithm

Unlike the O(∆)-time algorithm, multiple vertices may be deleted from M.

Invariant (Main Invariant)

After every update: If only a single vertex leaves M, then there is no restriction on the number of vertices joining M (which could be zero). However, if k > 1 vertices leave M, then at least 2k vertices would join M. The time spent per each update to M is O(m3/4).

Sepehr Assadi (Penn) STOC 2018

slide-69
SLIDE 69

The Update Algorithm

Unlike the O(∆)-time algorithm, multiple vertices may be deleted from M.

Invariant (Main Invariant)

After every update: If only a single vertex leaves M, then there is no restriction on the number of vertices joining M (which could be zero). However, if k > 1 vertices leave M, then at least 2k vertices would join M. The time spent per each update to M is O(m3/4). This is enough to obtain the O(m3/4) amortized update time.

Sepehr Assadi (Penn) STOC 2018

slide-70
SLIDE 70

Processing Updates

The main challenging update: adversary inserts an edge (u, v) between u, v ∈ M. We delete u from M. u

Sepehr Assadi (Penn) STOC 2018

slide-71
SLIDE 71

Processing Updates

The main challenging update: adversary inserts an edge (u, v) between u, v ∈ M. We delete u from M. Neighbors of u not in VLow:

◮ Each one knows if it can join M. ◮ Any one that joins M needs

O(m3/4) time to update partial information of its neighborhood.

u VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-72
SLIDE 72

Processing Updates

The main challenging update: adversary inserts an edge (u, v) between u, v ∈ M. We delete u from M. Neighbors of u not in VLow:

◮ Each one knows if it can join M. ◮ Any one that joins M needs

O(m3/4) time to update partial information of its neighborhood.

Neighbors of u inside VLow:

◮ Their local information is not

enough to determine whether they should join M or not.

u VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-73
SLIDE 73

Handling Low-Degree Neighbors of u

u knows all its neighbors that do not have a neighbor in M ∩ (VLow ∪ VMed-Low). u VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-74
SLIDE 74

Handling Low-Degree Neighbors of u

u knows all its neighbors that do not have a neighbor in M ∩ (VLow ∪ VMed-Low). Let A be the set of such neighbors. u VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-75
SLIDE 75

Handling Low-Degree Neighbors of u

u knows all its neighbors that do not have a neighbor in M ∩ (VLow ∪ VMed-Low). Let A be the set of such neighbors. We process the update based

  • n whether A is large or not.

u VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-76
SLIDE 76

Handling Low-Degree Neighbors of u

Let us assume A is very large i.e., has ω(m3/4) vertices: u VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-77
SLIDE 77

Handling Low-Degree Neighbors of u

Let us assume A is very large i.e., has ω(m3/4) vertices:

1

Greedily insert these vertices to M, only check for consistency between the inserted vertices. u VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-78
SLIDE 78

Handling Low-Degree Neighbors of u

Let us assume A is very large i.e., has ω(m3/4) vertices:

1

Greedily insert these vertices to M, only check for consistency between the inserted vertices.

◮ How many inserted?

ω(m1/2).

u VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-79
SLIDE 79

Handling Low-Degree Neighbors of u

Let us assume A is very large i.e., has ω(m3/4) vertices:

1

Greedily insert these vertices to M, only check for consistency between the inserted vertices.

◮ How many inserted?

ω(m1/2).

2

M may become infeasible as there would be some neighboring vertices inside it. u VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-80
SLIDE 80

Handling Low-Degree Neighbors of u

Let us assume A is very large i.e., has ω(m3/4) vertices:

1

Greedily insert these vertices to M, only check for consistency between the inserted vertices.

◮ How many inserted?

ω(m1/2).

2

M may become infeasible as there would be some neighboring vertices inside it.

3

Simply remove these vertices from M. Recursively process these vertices. u VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-81
SLIDE 81

Handling Low-Degree Neighbors of u

Let us assume A is very large i.e., has ω(m3/4) vertices:

1

Greedily insert these vertices to M, only check for consistency between the inserted vertices.

◮ How many inserted?

ω(m1/2).

2

M may become infeasible as there would be some neighboring vertices inside it.

3

Simply remove these vertices from M. Recursively process these vertices.

◮ How many deleted?

O(m1/2).

u VLow VHigh VMed-High VMed-Low VLow

Sepehr Assadi (Penn) STOC 2018

slide-82
SLIDE 82

Wrap-Up

We spend O(m3/4) time per update for maintaining the local information. We spend O(m3/4) time for any vertex inserted to or deleted from M. By main invariant, we can charge each vertex deleted from M with O(m3/4) time, to be used when this vertex is inserted back later (if ever).

Sepehr Assadi (Penn) STOC 2018

slide-83
SLIDE 83

Wrap-Up

We spend O(m3/4) time per update for maintaining the local information. We spend O(m3/4) time for any vertex inserted to or deleted from M. By main invariant, we can charge each vertex deleted from M with O(m3/4) time, to be used when this vertex is inserted back later (if ever). MIS can be maintained deterministically with min

  • O(m3/4), O(∆)
  • amortized update time in dynamic graphs.

Sepehr Assadi (Penn) STOC 2018

slide-84
SLIDE 84

Recent Developments

Sepehr Assadi (Penn) STOC 2018

slide-85
SLIDE 85

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

Sepehr Assadi (Penn) STOC 2018

slide-86
SLIDE 86

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

◮ Deterministic O(log2 n) amortized update time for bounded

arboricity graphs.

Sepehr Assadi (Penn) STOC 2018

slide-87
SLIDE 87

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

◮ Deterministic O(log2 n) amortized update time for bounded

arboricity graphs.

Gupta and Khan [GK18]:

arXiv, April 2018

Sepehr Assadi (Penn) STOC 2018

slide-88
SLIDE 88

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

◮ Deterministic O(log2 n) amortized update time for bounded

arboricity graphs.

Gupta and Khan [GK18]:

arXiv, April 2018

◮ Deterministic O(m2/3) amortized update time. Sepehr Assadi (Penn) STOC 2018

slide-89
SLIDE 89

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

◮ Deterministic O(log2 n) amortized update time for bounded

arboricity graphs.

Gupta and Khan [GK18]:

arXiv, April 2018

◮ Deterministic O(m2/3) amortized update time. ◮ Further results for incremental and decremental settings. Sepehr Assadi (Penn) STOC 2018

slide-90
SLIDE 90

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

◮ Deterministic O(log2 n) amortized update time for bounded

arboricity graphs.

Gupta and Khan [GK18]:

arXiv, April 2018

◮ Deterministic O(m2/3) amortized update time. ◮ Further results for incremental and decremental settings.

Du and Zhang [DZ18]:

arXiv, April 2018

Sepehr Assadi (Penn) STOC 2018

slide-91
SLIDE 91

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

◮ Deterministic O(log2 n) amortized update time for bounded

arboricity graphs.

Gupta and Khan [GK18]:

arXiv, April 2018

◮ Deterministic O(m2/3) amortized update time. ◮ Further results for incremental and decremental settings.

Du and Zhang [DZ18]:

arXiv, April 2018

◮ Deterministic

O(m2/3) amortized update time.

Sepehr Assadi (Penn) STOC 2018

slide-92
SLIDE 92

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

◮ Deterministic O(log2 n) amortized update time for bounded

arboricity graphs.

Gupta and Khan [GK18]:

arXiv, April 2018

◮ Deterministic O(m2/3) amortized update time. ◮ Further results for incremental and decremental settings.

Du and Zhang [DZ18]:

arXiv, April 2018

◮ Deterministic

O(m2/3) amortized update time.

◮ Randomized

O(√m) expected amortized update time.

Sepehr Assadi (Penn) STOC 2018

slide-93
SLIDE 93

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

◮ Deterministic O(log2 n) amortized update time for bounded

arboricity graphs.

Gupta and Khan [GK18]:

arXiv, April 2018

◮ Deterministic O(m2/3) amortized update time. ◮ Further results for incremental and decremental settings.

Du and Zhang [DZ18]:

arXiv, April 2018

◮ Deterministic

O(m2/3) amortized update time.

◮ Randomized

O(√m) expected amortized update time.

Assadi, Onak, Schieber, and Solomon [AOSS18b]:

arXiv, June 2018

Sepehr Assadi (Penn) STOC 2018

slide-94
SLIDE 94

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

◮ Deterministic O(log2 n) amortized update time for bounded

arboricity graphs.

Gupta and Khan [GK18]:

arXiv, April 2018

◮ Deterministic O(m2/3) amortized update time. ◮ Further results for incremental and decremental settings.

Du and Zhang [DZ18]:

arXiv, April 2018

◮ Deterministic

O(m2/3) amortized update time.

◮ Randomized

O(√m) expected amortized update time.

Assadi, Onak, Schieber, and Solomon [AOSS18b]:

arXiv, June 2018

◮ Randomized

O(√n) expected amortized update time.

Sepehr Assadi (Penn) STOC 2018

slide-95
SLIDE 95

Recent Developments

Onak, Schieber, Solomon, and Wein [OSSW18]:

ICALP 2018

◮ Deterministic O(log2 n) amortized update time for bounded

arboricity graphs.

Gupta and Khan [GK18]:

arXiv, April 2018

◮ Deterministic O(m2/3) amortized update time. ◮ Further results for incremental and decremental settings.

Du and Zhang [DZ18]:

arXiv, April 2018

◮ Deterministic

O(m2/3) amortized update time.

◮ Randomized

O(√m) expected amortized update time.

Assadi, Onak, Schieber, and Solomon [AOSS18b]:

arXiv, June 2018

◮ Randomized

O(√n) expected amortized update time.

◮ Randomized

O(m1/3) expected amortized update time.

Sepehr Assadi (Penn) STOC 2018

slide-96
SLIDE 96

Conclusion

We gave a deterministic O(m3/4) amortized update time algorithm for maintaining an MIS in dynamic graphs. Our algorithm can also be implemented in dynamic distributed networks.

Sepehr Assadi (Penn) STOC 2018

slide-97
SLIDE 97

Conclusion

We gave a deterministic O(m3/4) amortized update time algorithm for maintaining an MIS in dynamic graphs. Our algorithm can also be implemented in dynamic distributed networks. Open questions: Faster dynamic algorithms for MIS?

◮ Best deterministic algorithm: O(m2/3) time [GK18]. ◮ Best randomized algorithm: min

  • O(√n),

O(m1/3)

  • time [AOSS18b].

Sepehr Assadi (Penn) STOC 2018

slide-98
SLIDE 98

Conclusion

We gave a deterministic O(m3/4) amortized update time algorithm for maintaining an MIS in dynamic graphs. Our algorithm can also be implemented in dynamic distributed networks. Open questions: Faster dynamic algorithms for MIS?

◮ Best deterministic algorithm: O(m2/3) time [GK18]. ◮ Best randomized algorithm: min

  • O(√n),

O(m1/3)

  • time [AOSS18b].

Better deterministic dynamic algorithms for other “maximal-type” problems?

◮ Example: o(√m) time algorithm for maximal matching? Sepehr Assadi (Penn) STOC 2018

slide-99
SLIDE 99

Conclusion

We gave a deterministic O(m3/4) amortized update time algorithm for maintaining an MIS in dynamic graphs. Our algorithm can also be implemented in dynamic distributed networks. Open questions: Faster dynamic algorithms for MIS?

◮ Best deterministic algorithm: O(m2/3) time [GK18]. ◮ Best randomized algorithm: min

  • O(√n),

O(m1/3)

  • time [AOSS18b].

Better deterministic dynamic algorithms for other “maximal-type” problems?

◮ Example: o(√m) time algorithm for maximal matching?

T h a n k y

  • u

!

Sepehr Assadi (Penn) STOC 2018

slide-100
SLIDE 100

Noga Alon, L´ aszl´

  • Babai, and Alon Itai.

A fast and simple randomized parallel algorithm for the maximal independent set problem.

  • J. Algorithms, 7(4):567–583, 1986.

Sayan Bhattacharya, Deeparnab Chakrabarty, Monika Henzinger, and Danupon Nanongkai. Dynamic algorithms for graph coloring. In Proceedings of the 29th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2018, New Orleans, LA, USA, January 7-10, 2018, pages 1–20, 2018. Keren Censor-Hillel, Elad Haramaty, and Zohar S. Karnin. Optimal dynamic distributed MIS. In Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing, PODC 2016, Chicago, IL, USA, July 25-28, 2016, pages 217–226, 2016. Yuhao Du and Hengjie Zhang.

Sepehr Assadi (Penn) STOC 2018

slide-101
SLIDE 101

Improved algorithms for fully dynamic maximal independent set. CoRR, abs/1804.08908, 2018. Manoj Gupta and Shahbaz Khan. Simple dynamic algorithms for maximal independent set and

  • ther problems.

CoRR, abs/1804.01823, 2018. Nathan Linial. Distributive graph algorithms-global solutions from local data. In Proceedings of the 28th IEEE Annual Symposium on Foundations of Computer Science, FOCS 1987, Los Angeles, CA, USA, October 27-29, 1987, pages 331–335, 1987. Michael Luby. A simple parallel algorithm for the maximal independent set problem. SIAM J. Comput., 15(4):1036–1053, 1986. Ofer Neiman and Shay Solomon.

Sepehr Assadi (Penn) STOC 2018

slide-102
SLIDE 102

Simple deterministic algorithms for fully dynamic maximal matching. In Proceedings of the 45th Annual ACM SIGACT Symposium on Theory of Computing, STOC 2013, Palo Alto, CA, USA, June 1-4, 2013, pages 745–754, 2013. Krzysztof Onak, Baruch Schieber, Shay Solomon, and Nicole Wein. Fully dynamic mis in uniformly sparse graphs. In To appear in ICALP’18, 2018.

  • S. Solomon.

Fully dynamic maximal matching in constant update time. In Proceedings of the 57th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2016, New Brunswick, NJ, USA, October 9-11, 2016, pages 325–334, 2016.

Sepehr Assadi (Penn) STOC 2018