## Abstract

We consider the problem of enumerating all instances of a given sample graph in a large data graph. Our focus is on determining the input/output (I/O) complexity of this problem. Let $E$ be the number of edges in the data graph, $k=\BO{1}$ be the number of vertexes in the sample graph, $B$ be the block length, and $M$ be the main memory size. The main result of the paper is a randomized algorithm that enumerates all instances of the sample graph in $\BO{E^{k/2}/\left(BM^{k/2-1}\right)}$ expected I/Os if the maximum vertex degree of the data graph is $\sqrt{EM}$. Under some assumptions, the same bound also applies with high probability.

Our algorithm is I/O optimal, in the worst-case, when the sample graph belongs to the Alon class, which includes cliques, cycles and every graph with a perfect matching: indeed, we show that any algorithm enumerating $T$ instances must always use $\BOM{T/\left(BM^{k/2-1}\right)}$ I/Os and there are graphs for which $T=\BOM{E^{k/2}}$. Finally, we propose a parallelization of the randomized algorithm in the MapReduce framework.

Our algorithm is I/O optimal, in the worst-case, when the sample graph belongs to the Alon class, which includes cliques, cycles and every graph with a perfect matching: indeed, we show that any algorithm enumerating $T$ instances must always use $\BOM{T/\left(BM^{k/2-1}\right)}$ I/Os and there are graphs for which $T=\BOM{E^{k/2}}$. Finally, we propose a parallelization of the randomized algorithm in the MapReduce framework.

Original language | English |
---|---|

Publication date | 11 Sept 2014 |

Publication status | Published - 11 Sept 2014 |

Event | Sixth Workshop on Massive Data Algorithmics - University of Wroclaw, Wroclow, Poland Duration: 11 Sept 2014 → 11 Sept 2014 Conference number: 6 http://madalgo.au.dk/events/past-major-events/massive-2014/ |

### Workshop

Workshop | Sixth Workshop on Massive Data Algorithmics |
---|---|

Number | 6 |

Location | University of Wroclaw |

Country/Territory | Poland |

City | Wroclow |

Period | 11/09/2014 → 11/09/2014 |

Other | Part of ALGO 2014 |

Internet address |

## Keywords

- Graph enumeration
- I/O complexity
- Randomized algorithms
- Alon class graphs
- MapReduce parallelization