28 std::vector<carl::Bitset>
mData;
33 return mData[id].count();
68 carl::Bitset
getData(std::size_t
id);
74 std::ostream&
operator<<(std::ostream& os,
const ConflictGraph& cg);
Representation of a bipartite graph (C+S, E) of vertices C and S, representing the constraints and sa...
ConflictGraph removeDuplicateColumns()
Returns a new ConflictGraph whose adjacency matrix consists only of the unique columns of the adjacen...
std::vector< std::pair< std::size_t, carl::Bitset > > getRemainingConstraints()
std::vector< size_t > selectEssentialConstraints()
Selects all essential constraints and returns their indices.
std::size_t numSamples() const
std::vector< carl::Bitset > mData
Stores for each constraints, which sample points violate the constraint.
friend std::ostream & operator<<(std::ostream &os, const ConflictGraph &cg)
void addSample(const Sample &sample)
ConflictGraph(std::size_t constraints)
bool hasRemainingSamples() const
Checks if there are samples still uncovered.
carl::Bitset getData(std::size_t id)
void selectConstraint(std::size_t id)
Removes the given constraint and disable all sample points covered by this constraint.
std::size_t numRemainingConstraints() const
std::size_t coveredSamples(std::size_t id) const
std::size_t getMaxDegreeConstraint() const
Retrieves the constraint that covers the most samples.
std::ostream & operator<<(std::ostream &os, const SampleIteratorQueue< I, C > &siq)
Class to create the formulas for axioms.