Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes

CTrie< Trie > Class Template Reference


Detailed Description

template<class Trie>
class shogun::CTrie< Trie >

Template class Trie implements a suffix trie, i.e. a tree in which all suffixes up to a certain length are stored.

It is excessively used in the CWeightedDegreeStringKernel and CWeightedDegreePositionStringKernel to construct the whole features space $\Phi(x)$ and enormously helps here to speed up SVM training and evaluation.

Note that depending on the underlying structure used, a single symbol in the tree requires 20 bytes (DNATrie). It is also used to do the efficient recursion in computing positional oligomer importance matrices (POIMs) where the structure requires * 20+3*8 (POIMTrie) bytes.

Finally note that this tree may use compact internal nodes (for strings that appear without modifications, thus not requiring further branches), which may save a lot of memory on higher degree tries.

Definition at line 156 of file Trie.h.

Inheritance diagram for CTrie< Trie >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CTrie ()
 CTrie (int32_t d, bool p_use_compact_terminal_nodes=true)
 CTrie (const CTrie &to_copy)
virtual ~CTrie ()
const CTrieoperator= (const CTrie &to_copy)
bool compare_traverse (int32_t node, const CTrie &other, int32_t other_node)
bool compare (const CTrie &other)
bool find_node (int32_t node, int32_t *trace, int32_t &trace_len) const
int32_t find_deepest_node (int32_t start_node, int32_t &deepest_node) const
void display_node (int32_t node) const
void destroy ()
void set_degree (int32_t d)
void create (int32_t len, bool p_use_compact_terminal_nodes=true)
void delete_trees (bool p_use_compact_terminal_nodes=true)
void add_to_trie (int32_t i, int32_t seq_offset, int32_t *vec, float32_t alpha, float64_t *weights, bool degree_times_position_weights)
float64_t compute_abs_weights_tree (int32_t tree, int32_t depth)
float64_tcompute_abs_weights (int32_t &len)
float64_t compute_by_tree_helper (int32_t *vec, int32_t len, int32_t seq_pos, int32_t tree_pos, int32_t weight_pos, float64_t *weights, bool degree_times_position_weights)
void compute_by_tree_helper (int32_t *vec, int32_t len, int32_t seq_pos, int32_t tree_pos, int32_t weight_pos, float64_t *LevelContrib, float64_t factor, int32_t mkl_stepsize, float64_t *weights, bool degree_times_position_weights)
void compute_scoring_helper (int32_t tree, int32_t i, int32_t j, float64_t weight, int32_t d, int32_t max_degree, int32_t num_feat, int32_t num_sym, int32_t sym_offset, int32_t offs, float64_t *result)
void add_example_to_tree_mismatch_recursion (int32_t tree, int32_t i, float64_t alpha, int32_t *vec, int32_t len_rem, int32_t degree_rec, int32_t mismatch_rec, int32_t max_mismatch, float64_t *weights)
void traverse (int32_t tree, const int32_t p, struct TreeParseInfo info, const int32_t depth, int32_t *const x, const int32_t k)
void count (const float64_t w, const int32_t depth, const struct TreeParseInfo info, const int32_t p, int32_t *x, const int32_t k)
int32_t compact_nodes (int32_t start_node, int32_t depth, float64_t *weights)
float64_t get_cumulative_score (int32_t pos, uint64_t seq, int32_t deg, float64_t *weights)
void fill_backtracking_table_recursion (Trie *tree, int32_t depth, uint64_t seq, float64_t value, DynArray< ConsensusEntry > *table, float64_t *weights)
void fill_backtracking_table (int32_t pos, DynArray< ConsensusEntry > *prev, DynArray< ConsensusEntry > *cur, bool cumulative, float64_t *weights)
void POIMs_extract_W (float64_t *const *const W, const int32_t K)
void POIMs_precalc_SLR (const float64_t *const distrib)
void POIMs_get_SLR (const int32_t parentIdx, const int32_t sym, const int32_t depth, float64_t *S, float64_t *L, float64_t *R)
void POIMs_add_SLR (float64_t *const *const poims, const int32_t K, const int32_t debug)
bool get_use_compact_terminal_nodes ()
void set_use_compact_terminal_nodes (bool p_use_compact_terminal_nodes)
int32_t get_num_used_nodes ()
void set_position_weights (float64_t *p_position_weights)
int32_t get_node (bool last_node=false)
void check_treemem ()
void set_weights_in_tree (bool weights_in_tree_)
bool get_weights_in_tree ()
void POIMs_extract_W_helper (const int32_t nodeIdx, const int32_t depth, const int32_t offset, const int32_t y0, float64_t *const *const W, const int32_t K)
void POIMs_calc_SLR_helper1 (const float64_t *const distrib, const int32_t i, const int32_t nodeIdx, int32_t left_tries_idx[4], const int32_t depth, int32_t const lastSym, float64_t *S, float64_t *L, float64_t *R)
void POIMs_calc_SLR_helper2 (const float64_t *const distrib, const int32_t i, const int32_t nodeIdx, int32_t left_tries_idx[4], const int32_t depth, float64_t *S, float64_t *L, float64_t *R)
void POIMs_add_SLR_helper1 (const int32_t nodeIdx, const int32_t depth, const int32_t i, const int32_t y0, float64_t *const *const poims, const int32_t K, const int32_t debug)
void POIMs_add_SLR_helper2 (float64_t *const *const poims, const int32_t K, const int32_t k, const int32_t i, const int32_t y, const float64_t valW, const float64_t valS, const float64_t valL, const float64_t valR, const int32_t debug)
virtual const char * get_name () const
template<>
void POIMs_extract_W_helper (const int32_t nodeIdx, const int32_t depth, const int32_t offset, const int32_t y0, float64_t *const *const W, const int32_t K)
template<>
void POIMs_extract_W (float64_t *const *const W, const int32_t K)
template<>
void POIMs_calc_SLR_helper1 (const float64_t *const distrib, const int32_t i, const int32_t nodeIdx, int32_t left_tries_idx[4], const int32_t depth, int32_t const lastSym, float64_t *S, float64_t *L, float64_t *R)
template<>
void POIMs_calc_SLR_helper2 (const float64_t *const distrib, const int32_t i, const int32_t nodeIdx, int32_t left_tries_idx[4], const int32_t depth, float64_t *S, float64_t *L, float64_t *R)
template<>
void POIMs_precalc_SLR (const float64_t *const distrib)
template<>
void POIMs_get_SLR (const int32_t parentIdx, const int32_t sym, const int32_t depth, float64_t *S, float64_t *L, float64_t *R)
template<>
void POIMs_add_SLR_helper2 (float64_t *const *const poims, const int32_t K, const int32_t k, const int32_t i, const int32_t y, const float64_t valW, const float64_t valS, const float64_t valL, const float64_t valR, const int32_t debug)
template<>
void POIMs_add_SLR_helper1 (const int32_t nodeIdx, const int32_t depth, const int32_t i, const int32_t y0, float64_t *const *const poims, const int32_t K, const int32_t debug)
template<>
void POIMs_add_SLR (float64_t *const *const poims, const int32_t K, const int32_t debug)
virtual CSGObjectshallow_copy () const
virtual CSGObjectdeep_copy () const
virtual bool is_generic (EPrimitiveType *generic) const
template<class T >
void set_generic ()
void unset_generic ()
virtual void print_serializable (const char *prefix="")
virtual bool save_serializable (CSerializableFile *file, const char *prefix="", int32_t param_version=VERSION_PARAMETER)
virtual bool load_serializable (CSerializableFile *file, const char *prefix="", int32_t param_version=VERSION_PARAMETER)
DynArray< TParameter * > * load_file_parameters (const SGParamInfo *param_info, int32_t file_version, CSerializableFile *file, const char *prefix="")
DynArray< TParameter * > * load_all_file_parameters (int32_t file_version, int32_t current_version, CSerializableFile *file, const char *prefix="")
void map_parameters (DynArray< TParameter * > *param_base, int32_t &base_version, DynArray< const SGParamInfo * > *target_param_infos)
void set_global_io (SGIO *io)
SGIOget_global_io ()
void set_global_parallel (Parallel *parallel)
Parallelget_global_parallel ()
void set_global_version (Version *version)
Versionget_global_version ()
SGStringList< char > get_modelsel_names ()
void print_modsel_params ()
char * get_modsel_param_descr (const char *param_name)
index_t get_modsel_param_index (const char *param_name)
void build_parameter_dictionary (CMap< TParameter *, CSGObject * > &dict)

Public Attributes

int32_t NUM_SYMS
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters
ParameterMapm_parameter_map
uint32_t m_hash

Protected Member Functions

virtual TParametermigrate (DynArray< TParameter * > *param_base, const SGParamInfo *target)
virtual void one_to_one_migration_prepare (DynArray< TParameter * > *param_base, const SGParamInfo *target, TParameter *&replacement, TParameter *&to_migrate, char *old_name=NULL)
virtual void load_serializable_pre () throw (ShogunException)
virtual void load_serializable_post () throw (ShogunException)
virtual void save_serializable_pre () throw (ShogunException)
virtual void save_serializable_post () throw (ShogunException)
virtual bool update_parameter_hash ()

Protected Attributes

int32_t length
int32_t * trees
int32_t degree
float64_tposition_weights
Trie * TreeMem
int32_t TreeMemPtr
int32_t TreeMemPtrMax
bool use_compact_terminal_nodes
bool weights_in_tree
int32_t * nofsKmers

Constructor & Destructor Documentation

CTrie (  ) 

default constructor

Definition at line 660 of file Trie.h.

CTrie ( int32_t  d,
bool  p_use_compact_terminal_nodes = true 
)

constructor

Parameters:
d degree
p_use_compact_terminal_nodes if compact terminal nodes shall be used

Definition at line 677 of file Trie.h.

CTrie ( const CTrie< Trie > &  to_copy  ) 

copy constructor

Definition at line 693 of file Trie.h.

~CTrie (  )  [virtual]

Definition at line 1126 of file Trie.h.


Member Function Documentation

void add_example_to_tree_mismatch_recursion ( int32_t  tree,
int32_t  i,
float64_t  alpha,
int32_t *  vec,
int32_t  len_rem,
int32_t  degree_rec,
int32_t  mismatch_rec,
int32_t  max_mismatch,
float64_t weights 
)

add example to tree mismatch recursion

Parameters:
tree tree
i i
alpha alpha
vec vector
len_rem length of rem
degree_rec degree rec
mismatch_rec mismatch rec
max_mismatch maximum mismatch
weights weights

Definition at line 1232 of file Trie.h.

void add_to_trie ( int32_t  i,
int32_t  seq_offset,
int32_t *  vec,
float32_t  alpha,
float64_t weights,
bool  degree_times_position_weights 
)

add to trie

Parameters:
i i
seq_offset sequence offset
vec vector
alpha alpha
weights weights
degree_times_position_weights if degree times position weights shall be applied

Definition at line 1494 of file Trie.h.

void build_parameter_dictionary ( CMap< TParameter *, CSGObject * > &  dict  )  [inherited]

Builds a dictionary of all parameters in SGObject as well of those of SGObjects that are parameters of this object. Dictionary maps parameters to the objects that own them.

Parameters:
dict dictionary of parameters to be built.

Definition at line 1201 of file SGObject.cpp.

void check_treemem (  ) 

check tree memory usage

Definition at line 517 of file Trie.h.

int32_t compact_nodes ( int32_t  start_node,
int32_t  depth,
float64_t weights 
)

compact nodes

Parameters:
start_node start node
depth depth
weights weights

Definition at line 812 of file Trie.h.

bool compare ( const CTrie< Trie > &  other  ) 

compare

Parameters:
other other trie
Returns:
if comparison was successful
bool compare_traverse ( int32_t  node,
const CTrie< Trie > &  other,
int32_t  other_node 
)

compare traverse

Parameters:
node node
other other trie
other_node other node
Returns:
if comparison was successful
float64_t * compute_abs_weights ( int32_t &  len  ) 

compute absolute weights

Parameters:
len length
Returns:
computed absolute weights

Definition at line 1212 of file Trie.h.

float64_t compute_abs_weights_tree ( int32_t  tree,
int32_t  depth 
)

compute absolute weights tree

Parameters:
tree tree to compute for
depth depth
Returns:
computed absolute weights tree

Definition at line 1183 of file Trie.h.

float64_t compute_by_tree_helper ( int32_t *  vec,
int32_t  len,
int32_t  seq_pos,
int32_t  tree_pos,
int32_t  weight_pos,
float64_t weights,
bool  degree_times_position_weights 
)

compute by tree helper

Parameters:
vec vector
len length
seq_pos sequence position
tree_pos tree position
weight_pos weight position
weights 
degree_times_position_weights if degree times position weights shall be applied
Returns:
a computed value

Definition at line 1720 of file Trie.h.

void compute_by_tree_helper ( int32_t *  vec,
int32_t  len,
int32_t  seq_pos,
int32_t  tree_pos,
int32_t  weight_pos,
float64_t LevelContrib,
float64_t  factor,
int32_t  mkl_stepsize,
float64_t weights,
bool  degree_times_position_weights 
)

compute by tree helper

Parameters:
vec vector
len length
seq_pos sequence position
tree_pos tree position
weight_pos weight position
LevelContrib level contribution
factor factor
mkl_stepsize MKL stepsize
weights 
degree_times_position_weights if degree times position weights shall be applied

Definition at line 1795 of file Trie.h.

void compute_scoring_helper ( int32_t  tree,
int32_t  i,
int32_t  j,
float64_t  weight,
int32_t  d,
int32_t  max_degree,
int32_t  num_feat,
int32_t  num_sym,
int32_t  sym_offset,
int32_t  offs,
float64_t result 
)

compute scoring helper

Parameters:
tree tree
i i
j j
weight weight
d degree
max_degree maximum degree
num_feat number of features
num_sym number of symbols
sym_offset symbol offset
offs offsets
result result

Definition at line 1345 of file Trie.h.

void count ( const float64_t  w,
const int32_t  depth,
const struct TreeParseInfo  info,
const int32_t  p,
int32_t *  x,
const int32_t  k 
)

count

Parameters:
w w
depth depth
info tree parse info
p p
x x
k 

Definition at line 1440 of file Trie.h.

void create ( int32_t  len,
bool  p_use_compact_terminal_nodes = true 
)

create

Parameters:
len length of new trie
p_use_compact_terminal_nodes if compact terminal nodes shall be used

Definition at line 1154 of file Trie.h.

virtual CSGObject* deep_copy (  )  const [virtual, inherited]

A deep copy. All the instance variables will also be copied.

Definition at line 131 of file SGObject.h.

void delete_trees ( bool  p_use_compact_terminal_nodes = true  ) 

delete trees

Parameters:
p_use_compact_terminal_nodes if compact terminal nodes shall be used

Definition at line 1169 of file Trie.h.

void destroy (  ) 

destroy

Definition at line 1133 of file Trie.h.

void display_node ( int32_t  node  )  const

display node

Parameters:
node node to display

Definition at line 1062 of file Trie.h.

void fill_backtracking_table ( int32_t  pos,
DynArray< ConsensusEntry > *  prev,
DynArray< ConsensusEntry > *  cur,
bool  cumulative,
float64_t weights 
)

fill backtracking table

Parameters:
pos position
prev previous concencus entry
cur current concensus entry
cumulative if is cumulative
weights weights

Definition at line 2085 of file Trie.h.

void fill_backtracking_table_recursion ( Trie *  tree,
int32_t  depth,
uint64_t  seq,
float64_t  value,
DynArray< ConsensusEntry > *  table,
float64_t weights 
)

fill backtracking table recursion

Parameters:
tree tree
depth depth
seq sequence
value value
table table of concensus entries
weights weights

Definition at line 2011 of file Trie.h.

int32_t find_deepest_node ( int32_t  start_node,
int32_t &  deepest_node 
) const

find deepest node

Parameters:
start_node start node
deepest_node deepest node will be stored in here
Returns:
depth of deepest node

Definition at line 755 of file Trie.h.

bool find_node ( int32_t  node,
int32_t *  trace,
int32_t &  trace_len 
) const

find node

Parameters:
node node to find
trace trace
trace_len length of trace

Definition at line 1021 of file Trie.h.

float64_t get_cumulative_score ( int32_t  pos,
uint64_t  seq,
int32_t  deg,
float64_t weights 
)

get cumulative score

Parameters:
pos position
seq sequence
deg degree
weights weights
Returns:
cumulative score

Definition at line 2053 of file Trie.h.

SGIO * get_global_io (  )  [inherited]

get the io object

Returns:
io object

Definition at line 224 of file SGObject.cpp.

Parallel * get_global_parallel (  )  [inherited]

get the parallel object

Returns:
parallel object

Definition at line 259 of file SGObject.cpp.

Version * get_global_version (  )  [inherited]

get the version object

Returns:
version object

Definition at line 272 of file SGObject.cpp.

SGStringList< char > get_modelsel_names (  )  [inherited]
Returns:
vector of names of all parameters which are registered for model selection

Definition at line 1108 of file SGObject.cpp.

char * get_modsel_param_descr ( const char *  param_name  )  [inherited]

Returns description of a given parameter string, if it exists. SG_ERROR otherwise

Parameters:
param_name name of the parameter
Returns:
description of the parameter

Definition at line 1132 of file SGObject.cpp.

index_t get_modsel_param_index ( const char *  param_name  )  [inherited]

Returns index of model selection parameter with provided index

Parameters:
param_name name of model selection parameter
Returns:
index of model selection parameter with provided name, -1 if there is no such

Definition at line 1145 of file SGObject.cpp.

virtual const char* get_name (  )  const [virtual]
Returns:
object name

Implements CSGObject.

Definition at line 627 of file Trie.h.

int32_t get_node ( bool  last_node = false  ) 

get node

Returns:
node

Definition at line 493 of file Trie.h.

int32_t get_num_used_nodes (  ) 

get number of used nodes

Returns:
number of used nodes

Definition at line 475 of file Trie.h.

bool get_use_compact_terminal_nodes (  ) 

get use compact terminal nodes

Returns:
if compact terminal nodes are used

Definition at line 455 of file Trie.h.

bool get_weights_in_tree (  ) 

get weights in tree

Returns:
if weights are in tree

Definition at line 540 of file Trie.h.

bool is_generic ( EPrimitiveType *  generic  )  const [virtual, inherited]

If the SGSerializable is a class template then TRUE will be returned and GENERIC is set to the type of the generic.

Parameters:
generic set to the type of the generic if returning TRUE
Returns:
TRUE if a class template.

Definition at line 278 of file SGObject.cpp.

DynArray< TParameter * > * load_all_file_parameters ( int32_t  file_version,
int32_t  current_version,
CSerializableFile file,
const char *  prefix = "" 
) [inherited]

maps all parameters of this instance to the provided file version and loads all parameter data from the file into an array, which is sorted (basically calls load_file_parameter(...) for all parameters and puts all results into a sorted array)

Parameters:
file_version parameter version of the file
current_version version from which mapping begins (you want to use VERSION_PARAMETER for this in most cases)
file file to load from
prefix prefix for members
Returns:
(sorted) array of created TParameter instances with file data

Definition at line 679 of file SGObject.cpp.

DynArray< TParameter * > * load_file_parameters ( const SGParamInfo param_info,
int32_t  file_version,
CSerializableFile file,
const char *  prefix = "" 
) [inherited]

loads some specified parameters from a file with a specified version The provided parameter info has a version which is recursively mapped until the file parameter version is reached. Note that there may be possibly multiple parameters in the mapping, therefore, a set of TParameter instances is returned

Parameters:
param_info information of parameter
file_version parameter version of the file, must be <= provided parameter version
file file to load from
prefix prefix for members
Returns:
new array with TParameter instances with the attached data

Definition at line 523 of file SGObject.cpp.

bool load_serializable ( CSerializableFile file,
const char *  prefix = "",
int32_t  param_version = VERSION_PARAMETER 
) [virtual, inherited]

Load this object from file. If it will fail (returning FALSE) then this object will contain inconsistent data and should not be used!

Parameters:
file where to load from
prefix prefix for members
param_version (optional) a parameter version different to (this is mainly for testing, better do not use)
Returns:
TRUE if done, otherwise FALSE

Reimplemented in CModelSelectionParameters.

Definition at line 354 of file SGObject.cpp.

void load_serializable_post (  )  throw (ShogunException) [protected, virtual, inherited]

Can (optionally) be overridden to post-initialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::LOAD_SERIALIZABLE_POST is called.

Exceptions:
ShogunException Will be thrown if an error occurres.

Reimplemented in CLinearHMM, CAlphabet, CANOVAKernel, CCircularKernel, CExponentialKernel, CGaussianKernel, CInverseMultiQuadricKernel, CKernel, CWeightedDegreePositionStringKernel, and CList.

Definition at line 1033 of file SGObject.cpp.

void load_serializable_pre (  )  throw (ShogunException) [protected, virtual, inherited]

Can (optionally) be overridden to pre-initialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::LOAD_SERIALIZABLE_PRE is called.

Exceptions:
ShogunException Will be thrown if an error occurres.

Definition at line 1028 of file SGObject.cpp.

void map_parameters ( DynArray< TParameter * > *  param_base,
int32_t &  base_version,
DynArray< const SGParamInfo * > *  target_param_infos 
) [inherited]

Takes a set of TParameter instances (base) with a certain version and a set of target parameter infos and recursively maps the base level wise to the current version using CSGObject::migrate(...). The base is replaced. After this call, the base version containing parameters should be of same version/type as the initial target parameter infos. Note for this to work, the migrate methods and all the internal parameter mappings have to match

Parameters:
param_base set of TParameter instances that are mapped to the provided target parameter infos
base_version version of the parameter base
target_param_infos set of SGParamInfo instances that specify the target parameter base

Definition at line 717 of file SGObject.cpp.

TParameter * migrate ( DynArray< TParameter * > *  param_base,
const SGParamInfo target 
) [protected, virtual, inherited]

creates a new TParameter instance, which contains migrated data from the version that is provided. The provided parameter data base is used for migration, this base is a collection of all parameter data of the previous version. Migration is done FROM the data in param_base TO the provided param info Migration is always one version step. Method has to be implemented in subclasses, if no match is found, base method has to be called.

If there is an element in the param_base which equals the target, a copy of the element is returned. This represents the case when nothing has changed and therefore, the migrate method is not overloaded in a subclass

Parameters:
param_base set of TParameter instances to use for migration
target parameter info for the resulting TParameter
Returns:
a new TParameter instance with migrated data from the base of the type which is specified by the target parameter

Definition at line 923 of file SGObject.cpp.

void one_to_one_migration_prepare ( DynArray< TParameter * > *  param_base,
const SGParamInfo target,
TParameter *&  replacement,
TParameter *&  to_migrate,
char *  old_name = NULL 
) [protected, virtual, inherited]

This method prepares everything for a one-to-one parameter migration. One to one here means that only ONE element of the parameter base is needed for the migration (the one with the same name as the target). Data is allocated for the target (in the type as provided in the target SGParamInfo), and a corresponding new TParameter instance is written to replacement. The to_migrate pointer points to the single needed TParameter instance needed for migration. If a name change happened, the old name may be specified by old_name. In addition, the m_delete_data flag of to_migrate is set to true. So if you want to migrate data, the only thing to do after this call is converting the data in the m_parameter fields. If unsure how to use - have a look into an example for this. (base_migration_type_conversion.cpp for example)

Parameters:
param_base set of TParameter instances to use for migration
target parameter info for the resulting TParameter
replacement (used as output) here the TParameter instance which is returned by migration is created into
to_migrate the only source that is used for migration
old_name with this parameter, a name change may be specified

Definition at line 864 of file SGObject.cpp.

const CTrie& operator= ( const CTrie< Trie > &  to_copy  ) 

overload operator =

void POIMs_add_SLR ( float64_t *const *const   poims,
const int32_t  K,
const int32_t  debug 
)

Definition at line 412 of file Trie.cpp.

void POIMs_add_SLR ( float64_t *const *const   poims,
const int32_t  K,
const int32_t  debug 
)

POIMs add SLR

Parameters:
poims POIMs
K K
debug debug level
void POIMs_add_SLR_helper1 ( const int32_t  nodeIdx,
const int32_t  depth,
const int32_t  i,
const int32_t  y0,
float64_t *const *const   poims,
const int32_t  K,
const int32_t  debug 
)

POIMs add SLR helper 1

Parameters:
nodeIdx node index
depth depth
i i
y0 y0
poims POIMs
K K
debug debug level
void POIMs_add_SLR_helper1 ( const int32_t  nodeIdx,
const int32_t  depth,
const int32_t  i,
const int32_t  y0,
float64_t *const *const   poims,
const int32_t  K,
const int32_t  debug 
)

Definition at line 355 of file Trie.cpp.

void POIMs_add_SLR_helper2 ( float64_t *const *const   poims,
const int32_t  K,
const int32_t  k,
const int32_t  i,
const int32_t  y,
const float64_t  valW,
const float64_t  valS,
const float64_t  valL,
const float64_t  valR,
const int32_t  debug 
)

POIMs add SLR helper 2

Parameters:
poims POIMs
K K
k k
i i
y y
valW value W
valS value S
valL value L
valR value R
debug debug level
void POIMs_add_SLR_helper2 ( float64_t *const *const   poims,
const int32_t  K,
const int32_t  k,
const int32_t  i,
const int32_t  y,
const float64_t  valW,
const float64_t  valS,
const float64_t  valL,
const float64_t  valR,
const int32_t  debug 
)

Definition at line 294 of file Trie.cpp.

void POIMs_calc_SLR_helper1 ( const float64_t *const   distrib,
const int32_t  i,
const int32_t  nodeIdx,
int32_t  left_tries_idx[4],
const int32_t  depth,
int32_t const   lastSym,
float64_t S,
float64_t L,
float64_t R 
)

Definition at line 74 of file Trie.cpp.

void POIMs_calc_SLR_helper1 ( const float64_t *const   distrib,
const int32_t  i,
const int32_t  nodeIdx,
int32_t  left_tries_idx[4],
const int32_t  depth,
int32_t const   lastSym,
float64_t S,
float64_t L,
float64_t R 
)

POIMs calc SLR helper

Parameters:
distrib distribution
i i
nodeIdx node index
left_tries_idx left tries index
depth depth
lastSym last symbol
S S
L L
R R
void POIMs_calc_SLR_helper2 ( const float64_t *const   distrib,
const int32_t  i,
const int32_t  nodeIdx,
int32_t  left_tries_idx[4],
const int32_t  depth,
float64_t S,
float64_t L,
float64_t R 
)

POIMs calc SLR helper 2

Parameters:
distrib distribution
i i
nodeIdx node index
left_tries_idx left tries index
depth depth
S S
L L
R R
void POIMs_calc_SLR_helper2 ( const float64_t *const   distrib,
const int32_t  i,
const int32_t  nodeIdx,
int32_t  left_tries_idx[4],
const int32_t  depth,
float64_t S,
float64_t L,
float64_t R 
)

Definition at line 134 of file Trie.cpp.

void POIMs_extract_W ( float64_t *const *const   W,
const int32_t  K 
)

Definition at line 60 of file Trie.cpp.

void POIMs_extract_W ( float64_t *const *const   W,
const int32_t  K 
)

POIMs extract W

Parameters:
W W
K K
void POIMs_extract_W_helper ( const int32_t  nodeIdx,
const int32_t  depth,
const int32_t  offset,
const int32_t  y0,
float64_t *const *const   W,
const int32_t  K 
)

POIMs extract W helper

Parameters:
nodeIdx node index
depth depth
offset offset
y0 y0
W W
K K
void POIMs_extract_W_helper ( const int32_t  nodeIdx,
const int32_t  depth,
const int32_t  offset,
const int32_t  y0,
float64_t *const *const   W,
const int32_t  K 
)

Definition at line 19 of file Trie.cpp.

void POIMs_get_SLR ( const int32_t  parentIdx,
const int32_t  sym,
const int32_t  depth,
float64_t S,
float64_t L,
float64_t R 
)

Definition at line 272 of file Trie.cpp.

void POIMs_get_SLR ( const int32_t  parentIdx,
const int32_t  sym,
const int32_t  depth,
float64_t S,
float64_t L,
float64_t R 
)

POIMs get SLR

Parameters:
parentIdx parent index
sym symbol
depth depth
S will point to S
L will point to L
R will point to R
void POIMs_precalc_SLR ( const float64_t *const   distrib  ) 

POIMs precalc SLR

Parameters:
distrib distribution
void POIMs_precalc_SLR ( const float64_t *const   distrib  ) 

Definition at line 245 of file Trie.cpp.

void print_modsel_params (  )  [inherited]

prints all parameter registered for model selection and their type

Definition at line 1084 of file SGObject.cpp.

void print_serializable ( const char *  prefix = ""  )  [virtual, inherited]

prints registered parameters out

Parameters:
prefix prefix for members

Definition at line 290 of file SGObject.cpp.

bool save_serializable ( CSerializableFile file,
const char *  prefix = "",
int32_t  param_version = VERSION_PARAMETER 
) [virtual, inherited]

Save this object to file.

Parameters:
file where to save the object; will be closed during returning if PREFIX is an empty string.
prefix prefix for members
param_version (optional) a parameter version different to (this is mainly for testing, better do not use)
Returns:
TRUE if done, otherwise FALSE

Reimplemented in CModelSelectionParameters.

Definition at line 296 of file SGObject.cpp.

void save_serializable_post (  )  throw (ShogunException) [protected, virtual, inherited]

Can (optionally) be overridden to post-initialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::SAVE_SERIALIZABLE_POST is called.

Exceptions:
ShogunException Will be thrown if an error occurres.

Reimplemented in CKernel.

Definition at line 1043 of file SGObject.cpp.

void save_serializable_pre (  )  throw (ShogunException) [protected, virtual, inherited]

Can (optionally) be overridden to pre-initialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::SAVE_SERIALIZABLE_PRE is called.

Exceptions:
ShogunException Will be thrown if an error occurres.

Reimplemented in CKernel.

Definition at line 1038 of file SGObject.cpp.

void set_degree ( int32_t  d  ) 

set degree

Parameters:
d new degree

Definition at line 1148 of file Trie.h.

void set_generic< floatmax_t > (  )  [inherited]

set generic type to T

void set_global_io ( SGIO io  )  [inherited]

set the io object

Parameters:
io io object to use

Definition at line 217 of file SGObject.cpp.

void set_global_parallel ( Parallel parallel  )  [inherited]

set the parallel object

Parameters:
parallel parallel object to use

Definition at line 230 of file SGObject.cpp.

void set_global_version ( Version version  )  [inherited]

set the version object

Parameters:
version version object to use

Definition at line 265 of file SGObject.cpp.

void set_position_weights ( float64_t p_position_weights  ) 

set position weights

Parameters:
p_position_weights new position weights

Definition at line 484 of file Trie.h.

void set_use_compact_terminal_nodes ( bool  p_use_compact_terminal_nodes  ) 

set use compact terminal nodes

Parameters:
p_use_compact_terminal_nodes if compact terminal nodes shall be used

Definition at line 465 of file Trie.h.

void set_weights_in_tree ( bool  weights_in_tree_  ) 

set weights in tree

Parameters:
weights_in_tree_ if weights shall be in tree

Definition at line 531 of file Trie.h.

virtual CSGObject* shallow_copy (  )  const [virtual, inherited]

A shallow copy. All the SGObject instance variables will be simply assigned and SG_REF-ed.

Reimplemented in CGaussianKernel.

Definition at line 122 of file SGObject.h.

void traverse ( int32_t  tree,
const int32_t  p,
struct TreeParseInfo  info,
const int32_t  depth,
int32_t *const   x,
const int32_t  k 
)

traverse

Parameters:
tree tree
p p
info tree parse info
depth depth
x x
k k

Definition at line 1390 of file Trie.h.

void unset_generic (  )  [inherited]

unset generic type

this has to be called in classes specializing a template class

Definition at line 285 of file SGObject.cpp.

bool update_parameter_hash (  )  [protected, virtual, inherited]

Updates the hash of current parameter combination.

Returns:
bool if parameter combination has changed since last update.

Definition at line 237 of file SGObject.cpp.


Member Data Documentation

int32_t degree [protected]

degree

Definition at line 640 of file Trie.h.

SGIO* io [inherited]

io

Definition at line 462 of file SGObject.h.

int32_t length [protected]

length

Definition at line 635 of file Trie.h.

uint32_t m_hash [inherited]

Hash of parameter values

Definition at line 480 of file SGObject.h.

model selection parameters

Definition at line 474 of file SGObject.h.

map for different parameter versions

Definition at line 477 of file SGObject.h.

Parameter* m_parameters [inherited]

parameters

Definition at line 471 of file SGObject.h.

int32_t* nofsKmers [protected]

nofsKmers

Definition at line 657 of file Trie.h.

int32_t NUM_SYMS

number of symbols

Definition at line 631 of file Trie.h.

Parallel* parallel [inherited]

parallel

Definition at line 465 of file SGObject.h.

position weights

Definition at line 642 of file Trie.h.

Trie* TreeMem [protected]

tree memory

Definition at line 645 of file Trie.h.

int32_t TreeMemPtr [protected]

tree memory pointer

Definition at line 647 of file Trie.h.

int32_t TreeMemPtrMax [protected]

tree memory pointer maximum

Definition at line 649 of file Trie.h.

int32_t* trees [protected]

trees

Definition at line 637 of file Trie.h.

bool use_compact_terminal_nodes [protected]

if compact terminal nodes are used

Definition at line 651 of file Trie.h.

Version* version [inherited]

version

Definition at line 468 of file SGObject.h.

bool weights_in_tree [protected]

if weights are in tree

Definition at line 654 of file Trie.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation