Doxygen Generated Documentation of Ben-Jose Trainable SAT Solver Library
Public Member Functions | List of all members
brain Class Reference

Class that holds all data used to solve a particular CNF instance. More...

#include <brain.h>

+ Collaboration diagram for brain:

Public Member Functions

long propagate_signals ()
 This is function does BCP and most of the maintaining of the neuromap s (candidates) to be written and found. More...
 
void pulsate ()
 This is the basic step function while solving an instance. It does one full backtrack. More...
 
bool deduce_and_reverse_trail ()
 Does all analysis and one backtrack. More...
 
void candidate_find_analysis (deducer &dedcer, deduction &dct)
 Does full BCFF finding with active write candidates. More...
 
void analyse_conflicts (row< prop_signal > &all_confl, deduction &dct)
 Does conflict analysis, BCFFs finding and BCFFs writing. More...
 
void think ()
 This is the main processing function to solve an instance. It get called by solve_instance. More...
 
bj_satisf_val_t solve_instance (bool load_it)
 This is the starting point to solve any instance. It is the main function of the implementation. More...
 

Detailed Description

Class that holds all data used to solve a particular CNF instance.

There is one brain per CNF instance. It is created to solve an instance, and destroyed after solving that particular instance.

Member Function Documentation

long brain::propagate_signals ( )

This is function does BCP and most of the maintaining of the neuromap s (candidates) to be written and found.

It also does all maintaining of monos and choices.

See also
macro_algorithm_ben_jose.cpp

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void brain::pulsate ( )

This is the basic step function while solving an instance. It does one full backtrack.

Observe that this function might ddo more than one retract while selecting the best quanton choice, but it does only one deduction and one backtrack.

See also
macro_algorithm_ben_jose.cpp

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void brain::deduce_and_reverse_trail ( )

Does all analysis and one backtrack.

See also
macro_algorithm_ben_jose.cpp

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void brain::candidate_find_analysis ( deducer dedcer,
deduction dct 
)

Does full BCFF finding with active write candidates.

See also
macro_algorithm_ben_jose.cpp

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void brain::analyse_conflicts ( row< prop_signal > &  all_confl,
deduction dct 
)

Does conflict analysis, BCFFs finding and BCFFs writing.

See also
macro_algorithm_ben_jose.cpp

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void brain::think ( )

This is the main processing function to solve an instance. It get called by solve_instance.

See also
macro_algorithm_ben_jose.cpp

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void brain::solve_instance ( bool  load_it)

This is the starting point to solve any instance. It is the main function of the implementation.

Parameters
load_itSet this parameter to true if this brain must be loaded or not (all quanton s and neuron s get initialized).

To better understand the implementation have a look at macro_algorithm_ben_jose.cpp.

See also
macro_algorithm_ben_jose.cpp

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


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