# Graphs can be succinctly indexed for pattern matching in O(|E|^2 + |V|^5 / 2) time

For the first time we provide a succinct pattern matching index for arbitrary graphs that can be built in polynomial time, which requires less space and answers queries more efficiently than the one in [SODA 2021]. We show that, given an edge-labeled graph G = (V, E), there exists a data structures of |E /_≤_G|(⌈log|Σ|⌉ + ⌈log q⌉ + 2)· (1+o(1)) + |V /_≤_G|· (1+o(1)) bits which can be built in O(|E|^2 + |V /_≤_G|^5 / 2) time and supports pattern matching on G in O(|P| · q^2 ·log(q· |Σ|)) time, where G /_≤_G = (V /_≤_G, E /_≤_G) is a quotient graph obtained by collapsing some nodes in G (so |V /_≤_G| ≤ |V| and |E /_≤_G| ≤ |E|) and q is the width of the maximum co-lex relation on G. Our results have relevant applications in automata theory. First, we can build a succinct data structure to decide whether a string is accepted by a given automaton. Second, starting from an automaton 𝒜, one can define a relation ≼_𝒜 and a quotient automaton that capture the nondeterminism of 𝒜, improving the results in [SODA 2021].

READ FULL TEXT