_VlAIB Struct Reference

#include <aib.h>


Detailed Description

For internal use only.

The implementation is quite straightforward, but the way feature values are handled in order to support efficient joins, deletions and re-arrangement needs to be explained. This is achieved by adding a layer of indirection:

  • Call each feature value (either original or obtained by a join operation) a node. Nodes are identified by numbers.
  • Call each element of the various arrays (such as VlAIB::Px) an entry.
  • Entries are dynamically associated to nodes as specified by VlAIB::nodes. For example, Px[i] refers to the node nodes[i].

Definition at line 36 of file aib.h.


Data Fields

vl_uintnodes
vl_uint nentries
double * beta
vl_uintbidx
vl_uintwhich
vl_uint nwhich
double * Pcx
double * Px
double * Pc
vl_uint nvalues
vl_uint nlabels
vl_uintparents
double * costs

Field Documentation

Entires to nodes

Definition at line 38 of file aib.h.

Referenced by vl_aib_new(), and vl_aib_process().

Total number of entries (= # active nodes)

Definition at line 39 of file aib.h.

Referenced by vl_aib_calculate_information(), vl_aib_merge_nodes(), vl_aib_min_beta(), vl_aib_new(), and vl_aib_update_beta().

double* _VlAIB::beta

Minimum distance to an entry

Definition at line 40 of file aib.h.

Referenced by vl_aib_merge_nodes(), vl_aib_min_beta(), vl_aib_new(), and vl_aib_update_beta().

Closest entry

Definition at line 41 of file aib.h.

Referenced by vl_aib_merge_nodes(), vl_aib_min_beta(), vl_aib_new(), and vl_aib_update_beta().

List of entries to update

Definition at line 44 of file aib.h.

Referenced by vl_aib_merge_nodes(), vl_aib_new(), and vl_aib_update_beta().

Number of entries to update

Definition at line 45 of file aib.h.

Referenced by vl_aib_merge_nodes(), vl_aib_new(), vl_aib_process(), and vl_aib_update_beta().

double* _VlAIB::Pcx

Joint probability table

Definition at line 47 of file aib.h.

Referenced by vl_aib_calculate_information(), vl_aib_new(), and vl_aib_update_beta().

double* _VlAIB::Px

Marginal.

Definition at line 48 of file aib.h.

Referenced by vl_aib_calculate_information(), vl_aib_merge_nodes(), vl_aib_new(), and vl_aib_update_beta().

double* _VlAIB::Pc

Marginal.

Definition at line 49 of file aib.h.

Referenced by vl_aib_calculate_information(), and vl_aib_new().

Number of feature values

Definition at line 50 of file aib.h.

Referenced by vl_aib_new(), and vl_aib_process().

Number of labels

Definition at line 51 of file aib.h.

Referenced by vl_aib_calculate_information(), vl_aib_merge_nodes(), vl_aib_new(), and vl_aib_update_beta().

Array of parents

Definition at line 53 of file aib.h.

Referenced by vl_aib_get_parents(), vl_aib_new(), and vl_aib_process().

double* _VlAIB::costs

Cost of each merge

Definition at line 54 of file aib.h.

Referenced by vl_aib_get_costs(), vl_aib_new(), and vl_aib_process().


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