dejavu
Fast probabilistic symmetry detection.
Loading...
Searching...
No Matches
dejavu::preprocessor Class Reference

preprocessor for symmetry detection More...

#include <preprocess.h>

+ Collaboration diagram for dejavu::preprocessor:

Public Member Functions

 preprocessor ()=default
 
 preprocessor (dejavu::ir::refinement *R)
 
 preprocessor (dejavu::timed_print *printer)
 
int translate_back (int v)
 
void multiply_to_group_size (int n)
 
void inject_decomposer (dejavu::ir::graph_decomposer *new_decomposer, int component)
 
void pre_hook_buffered (int _n, const int *_aut, int _supp, const int *_aut_supp, dejavu_hook *hook)
 
void reduce (dejavu::static_graph *g, dejavu_hook *hook, std::vector< preop > *schedule=nullptr)
 
void reduce (dejavu::sgraph *g, int *colmap, dejavu_hook *hook, const std::vector< preop > *schedule=nullptr)
 
void save_my_hook (dejavu_hook *hook)
 
void traces_save_my_preprocessor ()
 
void nauty_save_my_preprocessor ()
 

Static Public Member Functions

static void bliss_hook (void *user_param, unsigned int n, const unsigned int *aut)
 
static void traces_hook (int, int *aut, int n)
 
static void nauty_hook (int, int *aut, int *, int, int, int n)
 
static int saucy_hook (int n, const int *aut, int nsupp, int *supp, void *user_param)
 
static void _dejavu_hook (int n, const int *aut, int nsupp, const int *supp)
 

Public Attributes

dejavu::big_number grp_sz
 
int domain_size = 0
 
bool h_deact_deg1 = false
 
bool h_deact_deg2 = false
 

Detailed Description

preprocessor for symmetry detection

Shrinks a graph using a variety of techniques such as color refinement, low degree vertex detection, twin removal, or uniform components in the quotient graph.

Definition at line 32 of file preprocess.h.

Constructor & Destructor Documentation

◆ preprocessor() [1/3]

dejavu::preprocessor::preprocessor ( )
default

◆ preprocessor() [2/3]

dejavu::preprocessor::preprocessor ( dejavu::ir::refinement R)
inlineexplicit

Definition at line 104 of file preprocess.h.

◆ preprocessor() [3/3]

dejavu::preprocessor::preprocessor ( dejavu::timed_print printer)
inlineexplicit

Definition at line 108 of file preprocess.h.

Member Function Documentation

◆ _dejavu_hook()

static void dejavu::preprocessor::_dejavu_hook ( int  n,
const int *  aut,
int  nsupp,
const int *  supp 
)
inlinestatic

Definition at line 3678 of file preprocess.h.

◆ bliss_hook()

static void dejavu::preprocessor::bliss_hook ( void *  user_param,
unsigned int  n,
const unsigned int *  aut 
)
inlinestatic

Definition at line 3645 of file preprocess.h.

◆ inject_decomposer()

void dejavu::preprocessor::inject_decomposer ( dejavu::ir::graph_decomposer new_decomposer,
int  component 
)
inline

Definition at line 125 of file preprocess.h.

◆ multiply_to_group_size()

void dejavu::preprocessor::multiply_to_group_size ( int  n)
inline

Definition at line 121 of file preprocess.h.

◆ nauty_hook()

static void dejavu::preprocessor::nauty_hook ( int  ,
int *  aut,
int *  ,
int  ,
int  ,
int  n 
)
inlinestatic

Definition at line 3661 of file preprocess.h.

◆ nauty_save_my_preprocessor()

void dejavu::preprocessor::nauty_save_my_preprocessor ( )
inline

Definition at line 3666 of file preprocess.h.

◆ pre_hook_buffered()

void dejavu::preprocessor::pre_hook_buffered ( int  _n,
const int *  _aut,
int  _supp,
const int *  _aut_supp,
dejavu_hook hook 
)
inline

Definition at line 3097 of file preprocess.h.

◆ reduce() [1/2]

void dejavu::preprocessor::reduce ( dejavu::sgraph g,
int *  colmap,
dejavu_hook hook,
const std::vector< preop > *  schedule = nullptr 
)
inline

Main routine of the preprocessor. Reduces the graph g using various techniques.

Parameters
gthe graph
colmapvertex coloring of the graph g
hookuser-provided function which is used to return the computed automorphisms
scheduleoptional parameter which defines the order of applied techniques

Definition at line 3382 of file preprocess.h.

◆ reduce() [2/2]

void dejavu::preprocessor::reduce ( dejavu::static_graph g,
dejavu_hook hook,
std::vector< preop > *  schedule = nullptr 
)
inline

Main routine of the preprocessor. Reduces the graph g using various techniques.

Parameters
gthe graph
hookuser-provided function which is used to return the computed automorphisms
scheduleoptional parameter which defines the order of applied techniques

Definition at line 3370 of file preprocess.h.

◆ saucy_hook()

static int dejavu::preprocessor::saucy_hook ( int  n,
const int *  aut,
int  nsupp,
int *  supp,
void *  user_param 
)
inlinestatic

Definition at line 3671 of file preprocess.h.

◆ save_my_hook()

void dejavu::preprocessor::save_my_hook ( dejavu_hook hook)
inline

Definition at line 3627 of file preprocess.h.

◆ traces_hook()

static void dejavu::preprocessor::traces_hook ( int  ,
int *  aut,
int  n 
)
inlinestatic

Definition at line 3651 of file preprocess.h.

◆ traces_save_my_preprocessor()

void dejavu::preprocessor::traces_save_my_preprocessor ( )
inline

Definition at line 3656 of file preprocess.h.

◆ translate_back()

int dejavu::preprocessor::translate_back ( int  v)
inline

Definition at line 112 of file preprocess.h.

Member Data Documentation

◆ domain_size

int dejavu::preprocessor::domain_size = 0

size of the underlying domain (i.e., number of vertices)

Definition at line 99 of file preprocess.h.

◆ grp_sz

dejavu::big_number dejavu::preprocessor::grp_sz

group size as determined and removed by the preprocessor

Definition at line 98 of file preprocess.h.

◆ h_deact_deg1

bool dejavu::preprocessor::h_deact_deg1 = false

no degree 0,1 processing

Definition at line 100 of file preprocess.h.

◆ h_deact_deg2

bool dejavu::preprocessor::h_deact_deg2 = false

no degree 2 processing

Definition at line 101 of file preprocess.h.


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