Design of Polynomial-delay Enumeration Algorithms in Transitive Systems
In this paper, as a new notion, we define a transitive system to be a set system (V, 𝒞⊆ 2^V) on a finite set V of elements such that every three sets X,Y,Z∈𝒞 with Z⊆ X∩ Y implies X∪ Y∈𝒞, where we call a set C∈𝒞 a component. We assume that two oracles L_1 and L_2 are available, where given two subsets X,Y⊆ V, L_1 returns a maximal component C∈𝒞 with X⊆ C⊆ Y; and given a set Y⊆ V, L_2 returns all maximal components C∈𝒞 with C⊆ Y. Given a set I of attributes and a function σ:V→ 2^I in a transitive system, a component C∈𝒞 is called a solution if the set of common attributes in C is inclusively maximal; i.e., ⋂_v∈ Cσ(v)⊋⋂_v∈ Xσ(v) for any component X∈𝒞 with C⊊ X. We prove that there exists an algorithm of enumerating all solutions in delay bounded by a polynomial with respect to the input size and the running times of the oracles. The proposed algorithm yields the first polynomial-delay algorithms for enumerating connectors in an attributed graph and for enumerating all subgraphs with various types of connectivities such as all k-edge/vertex-connected induced subgraphs and all k-edge/vertex-connected spanning subgraphs in a given undirected/directed graph for a fixed k.
READ FULL TEXT