![]() |
Orbiter 2022
Combinatorial Objects
|
exact cover problems arising with the lifting of combinatorial objects More...
#include <solver.h>
Public Member Functions | |
| exact_cover () | |
| ~exact_cover () | |
| void | null () |
| void | freeself () |
| void | init_basic (void *user_data, actions::action *A_base, actions::action *A_on_blocks, int target_size, int starter_size, std::string &input_prefix, std::string &output_prefix, std::string &solution_prefix, std::string &base_fname, int f_lex, int verbose_level) |
| void | init_early_test_func (void(*early_test_func)(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, void *data, int verbose_level), void *early_test_func_data, int verbose_level) |
| void | init_prepare_function_new (void(*prepare_function_new)(exact_cover *E, int starter_case, long int *candidates, int nb_candidates, groups::strong_generators *Strong_gens, solvers::diophant *&Dio, long int *&col_label, int &f_ruled_out, int verbose_level), int verbose_level) |
| void | set_split (int split_r, int split_m, int verbose_level) |
| void | set_single_case (int single_case, int verbose_level) |
| void | randomize (std::string &random_permutation_fname, int verbose_level) |
| void | add_solution_test_function (int(*solution_test_func)(exact_cover *EC, long int *S, int len, void *data, int verbose_level), void *solution_test_func_data, int verbose_level) |
| void | add_late_cleanup_function (void(*late_cleanup_function)(exact_cover *E, int starter_case, int verbose_level)) |
| void | compute_liftings_new (int f_solve, int f_save, int f_read_instead, int f_draw_system, std::string &fname_system, int f_write_tree, std::string &fname_tree, int verbose_level) |
| void | compute_liftings_single_case_new (int starter_case, int f_solve, int f_save, int f_read_instead, int &nb_col, long int *&Solutions, int &sol_length, int &nb_sol, int &nb_backtrack, int &dt, int f_draw_system, std::string &fname_system, int f_write_tree, std::string &fname_tree, int verbose_level) |
| void | lexorder_test (long int *live_blocks2, int &nb_live_blocks2, data_structures_groups::vector_ge *stab_gens, int verbose_level) |
Public Attributes | |
| std::string | input_prefix |
| std::string | output_prefix |
| std::string | solution_prefix |
| std::string | base_fname |
| std::string | fname_solutions |
| std::string | fname_statistics |
| void * | user_data |
| actions::action * | A_base |
| actions::action * | A_on_blocks |
| void(* | prepare_function_new )(exact_cover *E, int starter_case, long int *candidates, int nb_candidates, groups::strong_generators *Strong_gens, solvers::diophant *&Dio, long int *&col_label, int &f_ruled_out, int verbose_level) |
| void(* | early_test_func )(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, void *data, int verbose_level) |
| void * | early_test_func_data |
| int | f_has_solution_test_func |
| int(* | solution_test_func )(exact_cover *EC, long int *S, int len, void *data, int verbose_level) |
| void * | solution_test_func_data |
| int | f_has_late_cleanup_function |
| void(* | late_cleanup_function )(exact_cover *E, int starter_case, int verbose_level) |
| int | target_size |
| int | f_lex |
| int | f_split |
| int | split_r |
| int | split_m |
| int | f_single_case |
| int | single_case |
| int | starter_size |
| int | starter_nb_cases |
| long int * | starter |
| int | f_randomized |
| std::string | random_permutation_fname |
| int * | random_permutation |
exact cover problems arising with the lifting of combinatorial objects
| orbiter::layer4_classification::exact_cover::exact_cover | ( | ) |
Definition at line 21 of file exact_cover.cpp.
| orbiter::layer4_classification::exact_cover::~exact_cover | ( | ) |
Definition at line 26 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::add_late_cleanup_function | ( | void(*)(exact_cover *E, int starter_case, int verbose_level) | late_cleanup_function | ) |
Definition at line 289 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::add_solution_test_function | ( | int(*)(exact_cover *EC, long int *S, int len, void *data, int verbose_level) | solution_test_func, |
| void * | solution_test_func_data, | ||
| int | verbose_level | ||
| ) |
Definition at line 273 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::compute_liftings_new | ( | int | f_solve, |
| int | f_save, | ||
| int | f_read_instead, | ||
| int | f_draw_system, | ||
| std::string & | fname_system, | ||
| int | f_write_tree, | ||
| std::string & | fname_tree, | ||
| int | verbose_level | ||
| ) |
Definition at line 300 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::compute_liftings_single_case_new | ( | int | starter_case, |
| int | f_solve, | ||
| int | f_save, | ||
| int | f_read_instead, | ||
| int & | nb_col, | ||
| long int *& | Solutions, | ||
| int & | sol_length, | ||
| int & | nb_sol, | ||
| int & | nb_backtrack, | ||
| int & | dt, | ||
| int | f_draw_system, | ||
| std::string & | fname_system, | ||
| int | f_write_tree, | ||
| std::string & | fname_tree, | ||
| int | verbose_level | ||
| ) |
Definition at line 572 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::freeself | ( | ) |
Definition at line 47 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::init_basic | ( | void * | user_data, |
| actions::action * | A_base, | ||
| actions::action * | A_on_blocks, | ||
| int | target_size, | ||
| int | starter_size, | ||
| std::string & | input_prefix, | ||
| std::string & | output_prefix, | ||
| std::string & | solution_prefix, | ||
| std::string & | base_fname, | ||
| int | f_lex, | ||
| int | verbose_level | ||
| ) |
Definition at line 58 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::init_early_test_func | ( | void(*)(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, void *data, int verbose_level) | early_test_func, |
| void * | early_test_func_data, | ||
| int | verbose_level | ||
| ) |
Definition at line 144 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::init_prepare_function_new | ( | void(*)(exact_cover *E, int starter_case, long int *candidates, int nb_candidates, groups::strong_generators *Strong_gens, solvers::diophant *&Dio, long int *&col_label, int &f_ruled_out, int verbose_level) | prepare_function_new, |
| int | verbose_level | ||
| ) |
Definition at line 161 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::lexorder_test | ( | long int * | live_blocks2, |
| int & | nb_live_blocks2, | ||
| data_structures_groups::vector_ge * | stab_gens, | ||
| int | verbose_level | ||
| ) |
Definition at line 908 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::null | ( | ) |
Definition at line 31 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::randomize | ( | std::string & | random_permutation_fname, |
| int | verbose_level | ||
| ) |
Definition at line 241 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::set_single_case | ( | int | single_case, |
| int | verbose_level | ||
| ) |
Definition at line 210 of file exact_cover.cpp.
| void orbiter::layer4_classification::exact_cover::set_split | ( | int | split_r, |
| int | split_m, | ||
| int | verbose_level | ||
| ) |
Definition at line 177 of file exact_cover.cpp.
| actions::action* orbiter::layer4_classification::exact_cover::A_base |
| actions::action* orbiter::layer4_classification::exact_cover::A_on_blocks |
| std::string orbiter::layer4_classification::exact_cover::base_fname |
| void(* orbiter::layer4_classification::exact_cover::early_test_func) (long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, void *data, int verbose_level) |
| void* orbiter::layer4_classification::exact_cover::early_test_func_data |
| int orbiter::layer4_classification::exact_cover::f_has_late_cleanup_function |
| int orbiter::layer4_classification::exact_cover::f_has_solution_test_func |
| int orbiter::layer4_classification::exact_cover::f_randomized |
| int orbiter::layer4_classification::exact_cover::f_single_case |
| std::string orbiter::layer4_classification::exact_cover::fname_solutions |
| std::string orbiter::layer4_classification::exact_cover::fname_statistics |
| std::string orbiter::layer4_classification::exact_cover::input_prefix |
| void(* orbiter::layer4_classification::exact_cover::late_cleanup_function) (exact_cover *E, int starter_case, int verbose_level) |
| std::string orbiter::layer4_classification::exact_cover::output_prefix |
| void(* orbiter::layer4_classification::exact_cover::prepare_function_new) (exact_cover *E, int starter_case, long int *candidates, int nb_candidates, groups::strong_generators *Strong_gens, solvers::diophant *&Dio, long int *&col_label, int &f_ruled_out, int verbose_level) |
| int* orbiter::layer4_classification::exact_cover::random_permutation |
| std::string orbiter::layer4_classification::exact_cover::random_permutation_fname |
| int orbiter::layer4_classification::exact_cover::single_case |
| std::string orbiter::layer4_classification::exact_cover::solution_prefix |
| int(* orbiter::layer4_classification::exact_cover::solution_test_func) (exact_cover *EC, long int *S, int len, void *data, int verbose_level) |
| void* orbiter::layer4_classification::exact_cover::solution_test_func_data |
| long int* orbiter::layer4_classification::exact_cover::starter |
| int orbiter::layer4_classification::exact_cover::starter_nb_cases |
| int orbiter::layer4_classification::exact_cover::starter_size |
| int orbiter::layer4_classification::exact_cover::target_size |
| void* orbiter::layer4_classification::exact_cover::user_data |