OKlibrary  0.2.1.6
OKlib::SATCompetition::ElementaryAnalysis< Database > Class Template Reference

Given a "database" of results, computes an "indexed database", providing elementary maps, for example assiging to a solver the set of solved benchmarks, and elementary sets, for example the set of "complete" solvers. More...

#include <AnalysisTools.hpp>

List of all members.

Classes

struct  AmbigueBenchmark
struct  AmbigueSolution
struct  ErrorElementaryAnalysis
struct  SolvedBenchmark

Public Types

typedef Database database_type
typedef std::vector< Seriesseq_series
typedef std::vector< Benchmarkseq_benchmarks
typedef std::vector< Solverseq_solvers
typedef std::vector< SpecSeriesseq_spec_series
typedef std::vector
< SolvedBenchmark
seq_solved_benchmarks
typedef std::map< SuperSeries,
seq_series
map_superseries_series
typedef std::map< SpecSeries,
seq_benchmarks
map_series_benchmarks
typedef std::map< Benchmark,
SpecSeries
map_benchmark_series
typedef std::map< Solver,
seq_solved_benchmarks
map_solver_benchmarks
typedef std::map< Solver,
seq_spec_series
map_solver_series
typedef std::map< Benchmark,
seq_solvers
map_benchmark_solvers
typedef std::map< Benchmark,
SATStatus
map_benchmark_satstatus

Public Member Functions

 ElementaryAnalysis (const Database &db)
 OKLIB_DERIVED_RELATIONS_FRIENDS (SolvedBenchmark)
const map_superseries_seriesseries_in_superseries () const
const map_series_benchmarksbenchmarks_in_series () const
const map_benchmark_seriesseries_of_benchmark () const
const map_solver_benchmarkssolved_benchmarks () const
const map_solver_seriessolved_series () const
const map_benchmark_solverssuccesful_solvers () const
const map_benchmark_satstatussat_status () const
const seq_benchmarksinconsistent_results () const

Public Attributes

const Database & db

Friends

std::ostream & operator<< (std::ostream &out, const SolvedBenchmark sb)
bool operator== (const SolvedBenchmark &b1, const SolvedBenchmark &b2)
bool operator< (const SolvedBenchmark &b1, const SolvedBenchmark &b2)

Detailed Description

template<class Database>
class OKlib::SATCompetition::ElementaryAnalysis< Database >

Given a "database" of results, computes an "indexed database", providing elementary maps, for example assiging to a solver the set of solved benchmarks, and elementary sets, for example the set of "complete" solvers.

ElementaryAnalysis provides direct access to

  • the sequence of series in a superseries
  • the sequence of benchmarks in a pair of (superseries, series)
  • the pair (superseries, series) associated with a benchmark
  • the sequence of "solved benchmarks" (which are structures containing a benchmark and a pointer to a result node)
  • the sequence of (superseries, series) solved by a solver
  • the sequence of solvers which solved a benchmark
  • the satisfiability status of a benchmark
  • the set of benchmarks where inconsistent results exist.
Todo:

Enable access to the sets of SuperSeries, SpecSeries, Benchmark, Solver (via iterators to corresponding maps), and provide computation of the set of "complete" solvers (having solved at least one sat and one unsat instance).

A concept is needed.

Should there be an exception base class for OKlib ?

Definition at line 57 of file AnalysisTools.hpp.


Member Typedef Documentation

template<class Database>
typedef Database OKlib::SATCompetition::ElementaryAnalysis< Database >::database_type

Definition at line 73 of file AnalysisTools.hpp.

template<class Database>
typedef std::map<Benchmark, SATStatus> OKlib::SATCompetition::ElementaryAnalysis< Database >::map_benchmark_satstatus

Definition at line 109 of file AnalysisTools.hpp.

template<class Database>
typedef std::map<Benchmark, SpecSeries> OKlib::SATCompetition::ElementaryAnalysis< Database >::map_benchmark_series

Definition at line 105 of file AnalysisTools.hpp.

template<class Database>
typedef std::map<Benchmark, seq_solvers> OKlib::SATCompetition::ElementaryAnalysis< Database >::map_benchmark_solvers

Definition at line 108 of file AnalysisTools.hpp.

template<class Database>
typedef std::map<SpecSeries, seq_benchmarks> OKlib::SATCompetition::ElementaryAnalysis< Database >::map_series_benchmarks

Definition at line 104 of file AnalysisTools.hpp.

template<class Database>
typedef std::map<Solver, seq_solved_benchmarks> OKlib::SATCompetition::ElementaryAnalysis< Database >::map_solver_benchmarks

Definition at line 106 of file AnalysisTools.hpp.

template<class Database>
typedef std::map<Solver, seq_spec_series> OKlib::SATCompetition::ElementaryAnalysis< Database >::map_solver_series

Definition at line 107 of file AnalysisTools.hpp.

template<class Database>
typedef std::map<SuperSeries, seq_series> OKlib::SATCompetition::ElementaryAnalysis< Database >::map_superseries_series

Definition at line 103 of file AnalysisTools.hpp.

template<class Database>
typedef std::vector<Benchmark> OKlib::SATCompetition::ElementaryAnalysis< Database >::seq_benchmarks

Definition at line 96 of file AnalysisTools.hpp.

template<class Database>
typedef std::vector<Series> OKlib::SATCompetition::ElementaryAnalysis< Database >::seq_series

Definition at line 95 of file AnalysisTools.hpp.

template<class Database>
typedef std::vector<SolvedBenchmark> OKlib::SATCompetition::ElementaryAnalysis< Database >::seq_solved_benchmarks

Definition at line 101 of file AnalysisTools.hpp.

template<class Database>
typedef std::vector<Solver> OKlib::SATCompetition::ElementaryAnalysis< Database >::seq_solvers

Definition at line 97 of file AnalysisTools.hpp.

template<class Database>
typedef std::vector<SpecSeries> OKlib::SATCompetition::ElementaryAnalysis< Database >::seq_spec_series

Definition at line 100 of file AnalysisTools.hpp.


Constructor & Destructor Documentation

template<class Database>
OKlib::SATCompetition::ElementaryAnalysis< Database >::ElementaryAnalysis ( const Database &  db) [inline]

Definition at line 63 of file AnalysisTools.hpp.


Member Function Documentation

template<class Database>
const map_series_benchmarks& OKlib::SATCompetition::ElementaryAnalysis< Database >::benchmarks_in_series ( ) const [inline]

Definition at line 112 of file AnalysisTools.hpp.

template<class Database>
const seq_benchmarks& OKlib::SATCompetition::ElementaryAnalysis< Database >::inconsistent_results ( ) const [inline]

Definition at line 119 of file AnalysisTools.hpp.

template<class Database>
const map_benchmark_satstatus& OKlib::SATCompetition::ElementaryAnalysis< Database >::sat_status ( ) const [inline]

Definition at line 117 of file AnalysisTools.hpp.

template<class Database>
const map_superseries_series& OKlib::SATCompetition::ElementaryAnalysis< Database >::series_in_superseries ( ) const [inline]

Definition at line 111 of file AnalysisTools.hpp.

template<class Database>
const map_benchmark_series& OKlib::SATCompetition::ElementaryAnalysis< Database >::series_of_benchmark ( ) const [inline]

Definition at line 113 of file AnalysisTools.hpp.

template<class Database>
const map_solver_benchmarks& OKlib::SATCompetition::ElementaryAnalysis< Database >::solved_benchmarks ( ) const [inline]

Definition at line 114 of file AnalysisTools.hpp.

template<class Database>
const map_solver_series& OKlib::SATCompetition::ElementaryAnalysis< Database >::solved_series ( ) const [inline]

Definition at line 115 of file AnalysisTools.hpp.

template<class Database>
const map_benchmark_solvers& OKlib::SATCompetition::ElementaryAnalysis< Database >::succesful_solvers ( ) const [inline]

Definition at line 116 of file AnalysisTools.hpp.


Friends And Related Function Documentation

template<class Database>
bool operator< ( const SolvedBenchmark b1,
const SolvedBenchmark b2 
) [friend]

Definition at line 90 of file AnalysisTools.hpp.

template<class Database>
std::ostream& operator<< ( std::ostream &  out,
const SolvedBenchmark  sb 
) [friend]

Definition at line 84 of file AnalysisTools.hpp.

template<class Database>
bool operator== ( const SolvedBenchmark b1,
const SolvedBenchmark b2 
) [friend]

Definition at line 87 of file AnalysisTools.hpp.


Member Data Documentation

template<class Database>
const Database& OKlib::SATCompetition::ElementaryAnalysis< Database >::db

Definition at line 74 of file AnalysisTools.hpp.


The documentation for this class was generated from the following file: