Samchon Framework for CPP  1.0.0
samchon::namtree Namespace Reference

Package of Nam-Tree. More...

Classes

class  INTExplore
 An interface for exploration. More...
 
class  NTCriteria
 Criteria, a conditional expression with weight. More...
 
class  NTEntityGroup
 A historical, studying data. More...
 
class  NTFactory
 A factory for Nam-Tree objects. More...
 
class  NTFile
 A file archiving metadata of a function. More...
 
class  NTIterator
 Iterator of historical data. More...
 
class  NTParameter
 A metadata of a parameter in a function. More...
 
class  NTParameterArray
 An Array of NTParameter. More...
 
class  NTParameterDetermined
 A pre-determined value of a parameter. More...
 
class  NTSide
 A side of a conditional expresson. More...
 

Detailed Description

Package of Nam-Tree.

Nam-Tree is a module of tree-strucrued complicate logical condition model for realizing A.N.N. (Artificial Neural Network). You can make the ANN model with weight and bias and express not only logical condition by your hand, but also construct the logical condition by automaticaly with optimization of genetic algorithm and grid method.

namtree.png
namtree_back_testing.png

The basic pricinple of Nam-Tree are follow:

  1. A conditional expression with weight

    F(x) = (NTSide < NTSide ? 1: 0) X weight

    NTCrietria is made up for conditional expression.

    • When the expression is true, returns 1 * weight
    • When the expression is false, returns 0
  2. Hierarchical relationship

    • In vertical relationship: multiply (X)
    • In horizontal relationship: plus (+)

    With that rule, you can make enormous conditions. I can sure there's not any condition can'be be expressed by the model.

  3. Making bias

    Just make a NTCriteria returns only true.

    It's the bias returns only weight.

  4. Explore
    1. Exporing in a NTCriteria (optimize a side)

      Make a NTSide to be nullptr, then NTCriteria will explore the best value.

      Nam-Tree will calculate the condtions from minimum to maximum in INTExplore reach to the precision, by the method of multi-demensional grid.

    2. Exploring parameter in NTSide

      If you set the parameterMNap to be empty, Nam-Tree will explore the best parameter until reach to the precision in INTExploreParameter from minimum to maximum.

      namtree_grid_method.png

    3. Exploring by creating NTCriteria

      (Creates lots of hierarchical conditions and tests them)

      If all the side (left and right) in a NTCriteria are nullptr, the NTCriteria will make a lot of children NTCriteria(s) to test lots of cases, so that derives the best condition set will be made up.

      This process will ride on same routines of 4-1 and 4-2, for each created cases. Of course, this process needs too much time, so that you may need to be patient.

namtree_criteria.png
namtree_file.png
Note

Previous version of the Samchon Framework, NTFile class had a function script on the NTFile and Nam-Tree module compiled the script like Nam-Tree moudle of Flex standalone that is keeping the compiling method.

However, modern Samchon Framework's C++ NTFile class doesn't have a function script and does not compile. I don't know a way to compile a script in lots of operating systems, so I dropped the compiling method. Until update, NTFactory has function pointers in a Dictionary and NTFile reference them. Users must put own methods into the Dictionary by their hands.

I will solve the problem sooon. Until next generation of Samchon Framework, put your own function pointers to a Dictionary in NTFactory by your hand please. Sorry for my unripe skill on programming.

Author
Jeongho Nam http://samchon.org