Documentation

DescriptiveComplexity.Problems.SetFamily.CountingCover

#Set Cover and #Hitting Set #

The counting versions of DescriptiveComplexity.SetCover and DescriptiveComplexity.HittingSet, each counting the solutions of exactly the threshold size:

Both are parsimoniously #P-complete (DescriptiveComplexity.sharpSetCover_sharpP_parsimoniousComplete, DescriptiveComplexity.sharpHittingSet_sharpP_parsimoniousComplete). Membership of #Set Cover is the generic argument for a solution of the threshold size (DescriptiveComplexity.sharpPDefinable_of_sized_set); its hardness is the edge-incidence interpretation unchanged, from #Vertex Cover, the sets of the interpreted system being the vertices, one each (DescriptiveComplexity.coverEquiv). #Hitting Set is #Set Cover transposed, in both directions.

The support is not the decision problem. A cover smaller than the threshold extends to one of exactly that size only while unused sets remain: with a threshold above the size of the family, Set Cover may hold and the count be 0. The support of these counts is “some cover has exactly the threshold size” (DescriptiveComplexity.sharpSetCover_support_iff), which implies Set Cover (DescriptiveComplexity.setCover_of_sharpSetCover_support) and is not implied by it. This is unlike #Vertex Cover, where the family is the whole universe.

The generic property #

def DescriptiveComplexity.CoverFamOfSizeOn {A : Type} (Ep Fp : A → Prop) (Mp : A → A → Prop) (Kp G : A → Prop) :

The subfamily G of the Fp-sets covers every Ep-element and has exactly as many members as the Kp-marked set.

Equations
Instances For
    Dependency graph
    def DescriptiveComplexity.coverFamOfSizeEquiv {A B : Type} (u : B ≃ A) {EB FB KB : B → Prop} {MB : B → B → Prop} {EA FA KA : A → Prop} {MA : A → A → Prop} (hE : ∀ (b : B), EB b ↔ EA (u b)) (hF : ∀ (b : B), FB b ↔ FA (u b)) (hM : ∀ (b b' : B), MB b b' ↔ MA (u b) (u b')) (hK : ∀ (b : B), KB b ↔ KA (u b)) :
    { G : B → Prop // Finite B ∧ CoverFamOfSizeOn EB FB MB KB G } ≃ { G : A → Prop // Finite A ∧ CoverFamOfSizeOn EA FA MA KA G }

    The covers of the threshold size transport along an equivalence commuting with the four predicates.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Dependency graph

      The two counting problems #

      The subfamily G is a cover with exactly as many sets as the marked set, in a finite set system.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Dependency graph

        The set H of ground elements is a hitting set with exactly as many elements as the marked set, in a finite set system.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Dependency graph

          #Set Cover: the number of covering subfamilies with exactly as many sets as the marked set.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Dependency graph

            #Hitting Set: the number of hitting sets with exactly as many elements as the marked set.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Dependency graph

              The support of #Set Cover: some cover has exactly the threshold size. Registered in the Lax archive as Lax280166.SetCoverComplete.sharpSetCover_support_iff.

              Dependency graph

              The support of #Hitting Set: some hitting set has exactly the threshold size. Registered in the Lax archive as Lax280166.HittingSetComplete.sharpHittingSet_support_iff.

              Dependency graph

              The support of #Set Cover implies Set Cover; the converse fails when the threshold exceeds the size of the family. Registered in the Lax archive as Lax280166.SetCoverComplete.setCover_of_sharpSetCover_support.

              Dependency graph
              Dependency graph

              Transposition, for counting #

              Dependency graph

              Membership #

              Dependency graph
              Dependency graph
              Dependency graph

              The block of the counting definition of Set Cover: the cover itself.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Dependency graph

                The relation variables of the block.

                Instances For
                  Dependency graph
                  @[reducible, inline]

                  The marked symbol over the sum.

                  Equations
                  Instances For
                    Dependency graph
                    @[reducible, inline]

                    The fam symbol over the sum.

                    Equations
                    Instances For
                      Dependency graph
                      @[reducible, inline]

                      The vocabulary of the kernel: the instance expanded by the block.

                      Equations
                      Instances For
                        Dependency graph
                        @[reducible, inline]

                        The elem symbol over the sum.

                        Equations
                        Instances For
                          Dependency graph
                          @[reducible, inline]

                          The mem symbol over the sum.

                          Equations
                          Instances For
                            Dependency graph
                            Dependency graph
                            Dependency graph

                            Hardness of #Set Cover #

                            The vertex-sets of a vertex cover of the threshold size are a cover of the threshold size.

                            Dependency graph

                            A cover of the interpreted system consists of vertex-sets.

                            Dependency graph

                            The vertices of a cover of the threshold size are a vertex cover of the threshold size.

                            Dependency graph

                            The covers of the threshold size of the edge-incidence system are the vertex covers of the threshold size, bijectively.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              Dependency graph

                              The reductions and the completeness theorems #

                              #Vertex Cover reduces parsimoniously to #Set Cover, by the edge-incidence interpretation.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Dependency graph

                                #Set Cover reduces parsimoniously to #Hitting Set, by transposition.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  Dependency graph
                                  Dependency graph

                                  #Set Cover is parsimoniously #P-complete, counting the covers of exactly the threshold size. Registered in the Lax archive as Lax280166.SetCoverComplete.sharpSetCover_sharpP_parsimoniousComplete.

                                  Dependency graph

                                  SharpSetCover is #P-complete: parsimoniously, hence under subtractive reductions.

                                  Dependency graph
                                  Dependency graph

                                  #Hitting Set is parsimoniously #P-complete, counting the hitting sets of exactly the threshold size. Registered in the Lax archive as Lax280166.HittingSetComplete.sharpHittingSet_sharpP_parsimoniousComplete.

                                  Dependency graph

                                  SharpHittingSet is #P-complete: parsimoniously, hence under subtractive reductions.

                                  Dependency graph