tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
learner.c File Reference
#include <assert.h>
#include <math.h>
#include <stdlib.h>
#include "adtree.h"
#include "data.h"
#include "learner.h"
#include "list.h"
#include "net.h"
#include "operation.h"
#include "query.h"
#include "random.h"
#include "thread.h"
#include "timer.h"
#include "utility.h"
#include "vector.h"
Include dependency graph for learner.c:

Classes

struct  learner_task
 
struct  findBestTaskArg
 

Typedefs

typedef struct findBestTaskArg findBestTaskArg_t
 

Functions

static TM_CALLABLE learner_task_t TMfindBestReverseTask (TM_ARGDECL findBestTaskArg_t *argPtr)
 
static TM_CALLABLE learner_task_t TMfindBestInsertTask (TM_ARGDECL findBestTaskArg_t *argPtr)
 
static TM_CALLABLE learner_task_t TMfindBestRemoveTask (TM_ARGDECL findBestTaskArg_t *argPtr)
 
static long compareTask (const void *aPtr, const void *bPtr)
 
static long TMcompareTask (TM_ARGDECL const void *aPtr, const void *bPtr)
 
static int compareQuery (const void *aPtr, const void *bPtr)
 
learner_tlearner_alloc (data_t *dataPtr, adtree_t *adtreePtr, long numThread)
 
void learner_free (learner_t *learnerPtr)
 
static float computeSpecificLocalLogLikelihood (adtree_t *adtreePtr, vector_t *queryVectorPtr, vector_t *parentQueryVectorPtr)
 
static void createPartition (long min, long max, long id, long n, long *startPtr, long *stopPtr)
 
static void createTaskList (void *argPtr)
 
learner_task_tTMpopTask (TM_ARGDECL list_t *taskListPtr)
 
static void populateParentQueryVector (net_t *netPtr, long id, query_t *queries, vector_t *parentQueryVectorPtr)
 
static void TMpopulateParentQueryVector (TM_ARGDECL net_t *netPtr, long id, query_t *queries, vector_t *parentQueryVectorPtr)
 
static void populateQueryVectors (net_t *netPtr, long id, query_t *queries, vector_t *queryVectorPtr, vector_t *parentQueryVectorPtr)
 
static void TMpopulateQueryVectors (TM_ARGDECL net_t *netPtr, long id, query_t *queries, vector_t *queryVectorPtr, vector_t *parentQueryVectorPtr)
 
static float computeLocalLogLikelihoodHelper (long i, long numParent, adtree_t *adtreePtr, query_t *queries, vector_t *queryVectorPtr, vector_t *parentQueryVectorPtr)
 
static float computeLocalLogLikelihood (long id, adtree_t *adtreePtr, net_t *netPtr, query_t *queries, vector_t *queryVectorPtr, vector_t *parentQueryVectorPtr)
 
static void learnStructure (void *argPtr)
 
void learner_run (learner_t *learnerPtr)
 
float learner_score (learner_t *learnerPtr)
 

Variables

long global_insertPenalty
 
long global_maxNumEdgeLearned
 
float global_operationQualityFactor
 
comparator_t learner_comparetask & compareTask
 

Typedef Documentation

Function Documentation

static int compareQuery ( const void *  aPtr,
const void *  bPtr 
)
static

Here is the caller graph for this function:

static long compareTask ( const void *  aPtr,
const void *  bPtr 
)
static
static float computeLocalLogLikelihood ( long  id,
adtree_t adtreePtr,
net_t netPtr,
query_t queries,
vector_t queryVectorPtr,
vector_t parentQueryVectorPtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static float computeLocalLogLikelihoodHelper ( long  i,
long  numParent,
adtree_t adtreePtr,
query_t queries,
vector_t queryVectorPtr,
vector_t parentQueryVectorPtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static float computeSpecificLocalLogLikelihood ( adtree_t adtreePtr,
vector_t queryVectorPtr,
vector_t parentQueryVectorPtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void createPartition ( long  min,
long  max,
long  id,
long  n,
long *  startPtr,
long *  stopPtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void createTaskList ( void *  argPtr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

learner_t* learner_alloc ( data_t dataPtr,
adtree_t adtreePtr,
long  numThread 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void learner_free ( learner_t learnerPtr)

Here is the call graph for this function:

Here is the caller graph for this function:

void learner_run ( learner_t learnerPtr)

Here is the call graph for this function:

Here is the caller graph for this function:

float learner_score ( learner_t learnerPtr)

Here is the call graph for this function:

Here is the caller graph for this function:

static void learnStructure ( void *  argPtr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void populateParentQueryVector ( net_t netPtr,
long  id,
query_t queries,
vector_t parentQueryVectorPtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void populateQueryVectors ( net_t netPtr,
long  id,
query_t queries,
vector_t queryVectorPtr,
vector_t parentQueryVectorPtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static long TMcompareTask ( TM_ARGDECL const void *  aPtr,
const void *  bPtr 
)
static
static learner_task_t TMfindBestInsertTask ( TM_ARGDECL findBestTaskArg_t argPtr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static TM_CALLABLE learner_task_t TMfindBestRemoveTask ( TM_ARGDECL findBestTaskArg_t argPtr)
static

Here is the caller graph for this function:

static TM_CALLABLE learner_task_t TMfindBestReverseTask ( TM_ARGDECL findBestTaskArg_t argPtr)
static

Here is the caller graph for this function:

learner_task_t* TMpopTask ( TM_ARGDECL list_t taskListPtr)

Here is the caller graph for this function:

static void TMpopulateParentQueryVector ( TM_ARGDECL net_t netPtr,
long  id,
query_t queries,
vector_t parentQueryVectorPtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void TMpopulateQueryVectors ( TM_ARGDECL net_t netPtr,
long  id,
query_t queries,
vector_t queryVectorPtr,
vector_t parentQueryVectorPtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

comparator_t learner_comparetask& compareTask
long global_insertPenalty
long global_maxNumEdgeLearned
float global_operationQualityFactor