A survey of some results on the Firefighter Problem

1 / 60

# A survey of some results on the Firefighter Problem - PowerPoint PPT Presentation

A survey of some results on the Firefighter Problem. Wow! I need reinforcements!. Kah Loon Ng DIMACS. A simple model. A simple model. A simple model. A simple model. A simple model. A simple model. A simple model. A simple model.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'A survey of some results on the Firefighter Problem' - JasminFlorian

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### A survey of some results on the Firefighter Problem

Wow! I need reinforcements!

Kah Loon Ng

DIMACS

### A simple model

• Can the fire be contained?
• How many time steps is required before fire is contained?
• How many firefighters per time step are necessary?
• What fraction of all vertices will be saved (burnt)?
• Does where the fire breaks out matter?
• “Smart fires”?
• Fire starting at more than 1 vertex?
• Consider different graphs. Construction of (connected) graphs to minimize damage.
• Complexity/Algorithmic issues
Some references
• The firefighter problem for graphs of maximum of degree three (Finbow, King, MacGillivray, Rizzi)
• Graph-theoretic models of spread and competition (Hartke)
• On the firefighter problem (MacGillivray, Wang)
• Catching the fire on grids (Fogarty)
• Fire control on graphs (Wang, Moeller)
• Firefighting on trees: How bad is the greedy algorithm? (Hartnell, Li)
• On minimizing the effects of fire or a virus on a network (Finbow, Hartnell, Li, Schmeisser)
• On designing a network to defend against random attacks of radius two (Finbow, Hartnell)
• The optimum defense against random subversions in a network (Hartnell)
• On minimizing the effects of betrayals in a resistance movement (Gunther, Hartnell)
Four general classes of problems
• Containing fires in infinite grids where is the dimension.
Four general classes of problems

2. Saving vertices in finite grids of dimension 2 or 3.

Four general classes of problems

3. Firefighting on trees. Algorithmic and complexity issues.

Four general classes of problems

4. Construction of graphs that minimizes damage.

Containing fires in infinite grids Ld

Fire starts at only one vertex:

d= 1: Trivial.

d = 2: Impossible to contain the fire with 1 firefighter per time step

8 time steps

18 burnt vertices

Containing fires in infinite grids Ld

d = 2: Two firefighters per time step needed to contain the fire.

.….

Containing fires in infinite grids Ld

Fact: If G is a k-regular graph, k – 1 firefighters per time step is always sufficient to contain any fire outbreak (at a single vertex) in G.

d  3:

……

Containing fires in infinite grids Ld

Fact: If G is a k-regular graph, k – 1 firefighters per time step is always sufficient to contain any fire outbreak (at a single vertex) in G.

d  3:

Shown: 2d – 2 firefighters per time step are not enough to contain an outbreak in Ld

Thus, 2d – 1 firefighters per time step is the minimum number required to contain an outbreak in Ld and containment can be attained in 2 time steps.

Containing fires in infinite grids Ld

Theorem (Hartke):

Let be a rooted graph, a positive integer, and

positive integers each at least such that the following holds:

• Every nonempty satisfies
• For , every where
• satisfies
• For , every such that
• satisfies
Containing fires in infinite grids Ld

Theorem (Hartke):

Suppose that at most firefighters per time step are deployed. Then

regardless of the sequence of firefighter placements. Specifically, firefighters per time step are insufficient to contain an outbreak that starts at the root vertex.

d 3: For any d  3, and any positive integer , firefighters per time step is not sufficient to contain all finite outbreaks in Ld. In other words, for d  3 and any positive integer , there is an outbreak such that firefighters per time step cannot contain the outbreak.

Containing fires in infinite grids Ld

Fire can start at more than one vertex.

d = 2: Two firefighters per time step are sufficient to contain any outbreak at a finite number of vertices.

Saving vertices in finite grids G

Assumptions:

• 1 firefighter is deployed per time step
• Fire starts at one vertex

Let

MVS(G, v) = maximum number of vertices that can

can be saved in G if fire starts at v.

For example,

So

for any

Some asymptotic results

Let

if fire starts at

In fact, the optimal number of vertices that can be saved given an initial outbreak at (0,0,0) in when deploying one firefighter per time step is between

Some asymptotic results

Let be any vertex of Then the maximum number of vertices which can be saved by deploying one firefighter per time step with an initial outbreak at grows at most as In particular,

vertex is neither burning nor defended at time

• At time no undefended vertex is adjacent to a burning vertex, and
• At least vertices are saved at the end of time
Algorithmic and Complexity matters

FIREFIGHTER

Instance: A rooted graph and an integer

Question: Is That is, is there a finite sequence of vertices of such that if the fire breaks out at then,

EXACT COVER BY 3-SETS (X3C)

Instance: A set with and a collection C of 3-element subsets of

Question: Does C contain an exact cover for That is, is there a sub-collection C’C such that each element of occurs in exactly one member of C’ ?

Algorithmic and Complexity matters

FIREFIGHTER is NP-complete for bipartite graphs.

There is an exact cover of by elements of C

At least vertices of can be saved

Algorithmic and Complexity matters

Suppose an instance of X3C ( C ) is given. We construct a rooted bipartite graph and a positive integer such that

for each element in C

Ci

Cj

For each pair of Ci , Cj such that (Ci Cj =  ) join their respective vertices ( ) by paths of length two ( )

:

:

Note that the graph is bipartite.

Algorithmic and Complexity matters

Ci

Cj

… save the vertices that corresponds to the subsets ( ) in the exact cover.

:

:

Algorithmic and Complexity matters

If has an exact cover…

If at least vertices can be saved…

Ci

Cj

…at most of the vertices ( ) can be saved by time …

:

:

…if , at most

can be saved…

( + )

( )

Algorithmic and Complexity matters
Algorithmic and Complexity matters

Greedy algorithm:

For each

At each time step, save place firefighter at vertex that has not been saved such that weight (v) is maximized.

26

Firefighting on Trees:

22

12

8

9

7

11

2

6

1

5

1

6

1

4

2

3

3

1

3

1

1

1

1

1

1

2

1

Algorithmic and Complexity matters

Soptimal

A

B

Soptimal

+

Soptimal

Algorithmic and Complexity matters

Theorem:

For any tree with one fire starting at the root and one firefighter to be deployed per time step, the greedy algorithm always saves more than ½ of the vertices that any algorithm saves.

Sgreedy = number of vertices saved by greedy algorithm

Soptimal = number of vertices saved by optimal algorithm

number of vertices saved by optimal moves whose corresponding greedy moves performs no worse

B

B

B

B

Soptimal

Soptimal

Soptimal

Soptimal

Sgreedy 

A

A

A

Soptimal

Soptimal +

Soptimal

B

Soptimal

Soptimal =

Sgreedy

…vertices saved by moves have already been saved by

 Sgreedy >

Algorithmic and Complexity matters

*

Greedy

Optimal

…because *’s ancestor has already been selected…

 Sgreedy > ½ Soptimal

Greedy:

Assume

Optimal:

Algorithmic and Complexity matters

p vertices

:

:

Algorithmic and Complexity matters

Slight modification: Suppose we are allowed to defend one vertex per time step for every burnt vertex there are at the end of the previous time step.

• Greedy algorithm saves at least ½ as many vertices as the optimum algorithm
• (Integer) Linear Programming and Dynamic Programming can be used
Algorithmic and Complexity matters

0-1 integer program for trees:

subject to:

for each level i

for every leaf of

for each level i

for every leaf of

For each vertex v r, and each descendant w of v, add the constraint

Algorithmic and Complexity matters

Additional linear constraints can also be added to narrow the integrality gap.

A class of trees whose can be computed in polynomial time.

is a perfect graph if

Algorithmic and Complexity matters

First, recall the definition of a perfect graph:

If G is a perfect graph, we can find a maximum weight independent set of G in polynomial time.

A class of trees whose can be computed in polynomial time.

not a P-tree

a P-tree

Algorithmic and Complexity matters

A rooted tree is said to be a P-tree if it does not contain the following configuration:

level i

level i+1

level i+2

No requirement for this to be an induced subgraph

A class of trees whose can be computed in polynomial time.

Given , let be the graph obtained from T by:

Now assign a weight to each vertex defined by:

wt(r) = 0; wt(v) = desc(v) +1.

Algorithmic and Complexity matters
• Adding edges joining each vertex to all its descendants

2. Adding edges joining each vertex to all vertices at the same level

A class of trees whose can be computed in polynomial time.

Theorem (MacGillivray, Wang)

A rooted tree is a P-tree if and only if is a perfect graph

Note that an independent set in corresponds to a subset of vertices in with at most one vertex in each level. So,

can find max. wt. indep set in poly. time

P(T,r) is a perfect graph

(T,r) is a P-tree

Algorithmic and Complexity matters

can compute MVS(T,r) in poly. time

Some further questions to ponder…

1. For infinite graphs (like what we did for infinite grids), what is the minimum number of firefighters per time step so that only a finite number of vertices are burned? (Percolation theory?)

2. (For trees) Characterization of when the greedy algorithm is optimal.

3. Narrowing integrality gap.

4. Determination of MVP for pre-emptive vaccination.

5. Construction of networks that are resistant to attacks.

6. Can we include weight on edges to represent rate of transmission?

7. Game theory?

THE END

One firefighter is enough!