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,C⊆2V) on a finite set V of elements such that every three sets X,Y,Z∈C with Z⊆X∩Y implies X∪Y∈C, where we call a set C∈C a component. We assume that two oracles L1 and L2 are available, where given two subsets X,Y⊆V, L1 returns a maximal component C∈C with X⊆C⊆Y; and given a set Y⊆V, L2 returns all maximal components C∈C with C⊆Y. Given a set I of attributes and a function σ:V→2I in a transitive system, a component C∈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∈C 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.