A neuromap is a CNF sub-formula. More...
#include <brain.h>
Public Member Functions | |
bool | map_find () |
It tries to find a neuromap. More... | |
bool | map_write (bool force_full=false) |
It tries to write a neuromap. More... | |
bool | map_oper (mem_op_t mm) |
It stabilizes a neuromap to a BCFF and then finds or writes the BCFF. More... | |
bool | map_prepare_mem_oper (mem_op_t mm) |
It stabilizes a neuromap to a BCFF. More... | |
A neuromap is a CNF sub-formula.
It is the pivot class to do all stabilization. It is maintained during BCP and used during backtracking in order to know what CNF sub-formulas are to be stabilized and searched for in the database (skeleton_glb class). There is one neuromap per leveldat and they are either active or inactive. Active when they are candidates for stabilizing, matching, searching and/or storing in the database, at backtrack time. During search, if a CNF sub-formula is found to be unsatisfiable, it is not trivial (too small), and both it's search branches had the same variables and clauses (so that it can latter be searched only with one of them), then the CNF sub-formula is stored in the database (skeleton_glb class). Every time an still active neuromap has done its first branch of BCP, it is stabilized and searched for in the database (skeleton_glb class). Trivial sub-formulas are basically ignored (see the use of 'brain::get_min_trainable_num_sub' method in the code). They are not searcned nor stored in skeleton_glb (except for debugging purposes).
bool neuromap::map_find | ( | ) |
It tries to find a neuromap.
bool neuromap::map_write | ( | bool | force_full = false | ) |
It tries to write a neuromap.
bool neuromap::map_oper | ( | mem_op_t | mm | ) |
It stabilizes a neuromap to a BCFF and then finds or writes the BCFF.
bool neuromap::map_prepare_mem_oper | ( | mem_op_t | mm | ) |
It stabilizes a neuromap to a BCFF.