A Comprehensive Review of the de Bruijn Graph and Its Interdisciplinary Applications in Computing

Shien Huang1

Hang Zhang2,Email

Ergude Bao1,Email

1School of Software Engineering, Beijing Jiaotong University, Beijing 100044, China.
2Institute of Engineering Thermophysics, Chinese Academy of Sciences, Beijing 100190, China.

Abstract

The de Bruijn graph was proposed by de Bruijn and Good in 1946. It was initially employed in binary sequence research but has been widely adopted across diverse fields and disciplines like information and coding theory, computational science, hardware architecture, and distributed networks. However, a comprehensive review of its various applications is lacking. To address this issue and to honor the 105th birth anniversary of Nicolaas Govert de Bruijn, we present this review. In this review, we categorize de Bruijn graph’s features into node/edge features and structure features, and then describe its applications accordingly. Applications utilizing node/edge features include pseudo-random sequence design, correction code design for racetrack memory, image design for self-location in tangible user interface, reversibility determination for one-dimensional cellular automata, and genome assembly, while those utilizing structure features involve VLSI design, connection among wireless sensors, and network design with distributed hash tables. In addition, we also summarize variations of the de Bruijn graph for enhanced performance, including positional de Bruijn graph and A-Bruijn graph in genome assembly, constrained de Bruijn graph in correction code design for racetrack memory, and hierarchical de Bruijn graph in network design with distributed hash tables. At last, we propose some ideas of the de Bruijn graph’s novel applications.

A Comprehensive Review of the de Bruijn Graph and Its Interdisciplinary Applications in Computing