Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/28/16 12:53:51 (8 years ago)
Author:
gkronber
Message:

simplification of grammar and problem and bug fixes related to precalculated smoothed features

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.GeneticProgramming.BloodGlucosePrediction/Grammar.cs

    r14310 r14311  
    1919
    2020    public void Initialize() {
    21       var func = new SimpleSymbol("Func", "The root for the blood glucose forecasting model.", 3, 3);
     21      // var func = new SimpleSymbol("Func", "The root for the blood glucose forecasting model.", 3, 3);
    2222      var exprGluc = new SimpleSymbol("ExprGluc", string.Empty, 1, 1);
    23       var exprIns = new SimpleSymbol("ExprIns", string.Empty, 1, 1);
    24       var exprCh = new SimpleSymbol("ExprCh", string.Empty, 1, 1);
     23      // var exprIns = new SimpleSymbol("ExprIns", string.Empty, 1, 1);
     24      // var exprCh = new SimpleSymbol("ExprCh", string.Empty, 1, 1);
    2525
    2626      // var predGlucData = new PredictedGlucoseVariableSymbol();
     
    3939
    4040      // operators for exprCh
    41       var plusCh = new SimpleSymbol("+Ch", "+", 2, 2);
    42       var minusCh = new SimpleSymbol("-Ch", "-", 2, 2);
    43       var prodCh = new SimpleSymbol("*Ch", "*", 2, 2);
    44       var divCh = new SimpleSymbol("/Ch", "/", 2, 2);
    45       var expCh = new SimpleSymbol("ExpCh", "Exp", 1, 1);
    46       var sinCh = new SimpleSymbol("SinCh", "Sin", 1, 1);
    47       var cosCh = new SimpleSymbol("CosCh", "Cos", 1, 1);
    48       var logCh = new SimpleSymbol("LogCh", "Log", 1, 1);
     41      // var plusCh = new SimpleSymbol("+Ch", "+", 2, 2);
     42      // var minusCh = new SimpleSymbol("-Ch", "-", 2, 2);
     43      // var prodCh = new SimpleSymbol("*Ch", "*", 2, 2);
     44      // var divCh = new SimpleSymbol("/Ch", "/", 2, 2);
     45      // var expCh = new SimpleSymbol("ExpCh", "Exp", 1, 1);
     46      // var sinCh = new SimpleSymbol("SinCh", "Sin", 1, 1);
     47      // var cosCh = new SimpleSymbol("CosCh", "Cos", 1, 1);
     48      // var logCh = new SimpleSymbol("LogCh", "Log", 1, 1);
    4949      var curvedCh = new CurvedChVariableSymbol("CurvedCh", "");
    5050      // var cteCh = new CteSymbol();
    5151
    5252      // operators for exprIns
    53       var plusIns = new SimpleSymbol("+Ins", "+", 2, 2);
    54       var minusIns = new SimpleSymbol("-Ins", "-", 2, 2);
    55       var prodIns = new SimpleSymbol("*Ins", "*", 2, 2);
    56       var divIns = new SimpleSymbol("/Ins", "/", 2, 2);
    57       var expIns = new SimpleSymbol("ExpIns", "Exp", 1, 1);
    58       var sinIns = new SimpleSymbol("SinIns", "Sin", 1, 1);
    59       var cosIns = new SimpleSymbol("CosIns", "Cos", 1, 1);
    60       var logIns = new SimpleSymbol("LogIns", "Log", 1, 1);
     53      // var plusIns = new SimpleSymbol("+Ins", "+", 2, 2);
     54      // var minusIns = new SimpleSymbol("-Ins", "-", 2, 2);
     55      // var prodIns = new SimpleSymbol("*Ins", "*", 2, 2);
     56      // var divIns = new SimpleSymbol("/Ins", "/", 2, 2);
     57      // var expIns = new SimpleSymbol("ExpIns", "Exp", 1, 1);
     58      // var sinIns = new SimpleSymbol("SinIns", "Sin", 1, 1);
     59      // var cosIns = new SimpleSymbol("CosIns", "Cos", 1, 1);
     60      // var logIns = new SimpleSymbol("LogIns", "Log", 1, 1);
    6161      var curvedIns = new CurvedInsVariableSymbol("CurvedIns", "");
    6262      // var realInsVar = new RealInsulineVariableSymbol();
     
    6565      // var cteCh = new CteSymbol();
    6666
    67       AddSymbol(func);
     67      // AddSymbol(func);
    6868      AddSymbol(exprGluc);
    69       AddSymbol(exprIns);
    70       AddSymbol(exprCh);
     69      // AddSymbol(exprIns);
     70      // AddSymbol(exprCh);
    7171      // AddSymbol(predGlucData);
    7272      AddSymbol(realGlucData);
     
    8282      AddSymbol(curvedCh);
    8383
    84       AddSymbol(plusCh);
    85       AddSymbol(minusCh);
    86       AddSymbol(prodCh);
    87       AddSymbol(divCh);
    88       AddSymbol(expCh);
    89       AddSymbol(sinCh);
    90       AddSymbol(cosCh);
    91       AddSymbol(logCh);
     84      // AddSymbol(plusCh);
     85      // AddSymbol(minusCh);
     86      // AddSymbol(prodCh);
     87      // AddSymbol(divCh);
     88      // AddSymbol(expCh);
     89      // AddSymbol(sinCh);
     90      // AddSymbol(cosCh);
     91      // AddSymbol(logCh);
    9292
    9393      AddSymbol(curvedIns);
    94       AddSymbol(plusIns);
    95       AddSymbol(minusIns);
    96       AddSymbol(prodIns);
    97       AddSymbol(divIns);
    98       AddSymbol(expIns);
    99       AddSymbol(sinIns);
    100       AddSymbol(cosIns);
    101       AddSymbol(logIns);
     94      // AddSymbol(plusIns);
     95      // AddSymbol(minusIns);
     96      // AddSymbol(prodIns);
     97      // AddSymbol(divIns);
     98      // AddSymbol(expIns);
     99      // AddSymbol(sinIns);
     100      // AddSymbol(cosIns);
     101      // AddSymbol(logIns);
    102102      // AddSymbol(realInsVar);
    103103      AddSymbol(constSy);
    104104
    105105      // <func> ::= <exprgluc> + <exprch> - <exprins>
    106       AddAllowedChildSymbol(func, exprGluc, 0);
    107       AddAllowedChildSymbol(func, exprCh, 1);
    108       AddAllowedChildSymbol(func, exprIns, 2);
     106      // AddAllowedChildSymbol(func, exprGluc, 0);
     107      // AddAllowedChildSymbol(func, exprCh, 1);
     108      // AddAllowedChildSymbol(func, exprIns, 2);
    109109
    110110      /* # Glucose
     
    115115                    |realData(k-<idx2hOrMore>)
    116116      */
    117       var opGlucSet = new Symbol[] { plusGluc, minusGluc, prodGluc, divGluc, expGluc, sinGluc, cosGluc, logGluc, /*predGlucData, */ realGlucData, constSy };
     117      var opGlucSet = new Symbol[] { plusGluc, minusGluc, prodGluc, divGluc, expGluc, sinGluc, cosGluc, logGluc, /*predGlucData, */ realGlucData, constSy, curvedCh, curvedIns };
    118118      foreach (var opGluc in opGlucSet) {
    119119        AddAllowedChildSymbol(exprGluc, opGluc);
     
    152152              |beta(0.02*Math.min(48,getPrevDataDistance(1,k,1)),5,2)
    153153      */
    154       var opChSet = new Symbol[] { plusCh, minusCh, prodCh, divCh, expCh, sinCh, cosCh, logCh, curvedCh, constSy };
    155       foreach (var opCh in opChSet) {
    156         AddAllowedChildSymbol(exprCh, opCh);
    157       }
    158 
    159       foreach (var parentOp in new Symbol[] { plusCh, minusCh, prodCh, divCh }) {
    160         foreach (var childOp in opChSet) {
    161           AddAllowedChildSymbol(parentOp, childOp, 0);
    162           AddAllowedChildSymbol(parentOp, childOp, 1);
    163         }
    164       }
    165       // <exprch> ::= <preop> (<exprch>)
    166       foreach (var parentOp in new Symbol[] { expCh, sinCh, cosCh, logCh }) {
    167         foreach (var childOp in opChSet) {
    168           AddAllowedChildSymbol(parentOp, childOp, 0);
    169         }
    170       }
     154      // var opChSet = new Symbol[] { plusCh, minusCh, prodCh, divCh, expCh, sinCh, cosCh, logCh, curvedCh, constSy };
     155      // foreach (var opCh in opChSet) {
     156      //   AddAllowedChildSymbol(exprCh, opCh);
     157      // }
     158      //
     159      // foreach (var parentOp in new Symbol[] { plusCh, minusCh, prodCh, divCh }) {
     160      //   foreach (var childOp in opChSet) {
     161      //     AddAllowedChildSymbol(parentOp, childOp, 0);
     162      //     AddAllowedChildSymbol(parentOp, childOp, 1);
     163      //   }
     164      // }
     165      // // <exprch> ::= <preop> (<exprch>)
     166      // foreach (var parentOp in new Symbol[] { expCh, sinCh, cosCh, logCh }) {
     167      //   foreach (var childOp in opChSet) {
     168      //     AddAllowedChildSymbol(parentOp, childOp, 0);
     169      //   }
     170      // }
    171171
    172172      /*
     
    192192
    193193      */
    194       var opInsSet = new Symbol[] { plusIns, minusIns, prodIns, divIns, expIns, sinIns, cosIns, logIns, /* realInsVar, */ curvedIns, constSy };
    195       foreach (var opIns in opInsSet) {
    196         AddAllowedChildSymbol(exprIns, opIns);
    197       }
    198 
    199       // <exprins> ::= (<exprins> <op> <exprins>)
    200       // <exprins> ::= (<cte> <op> <exprins>)   
    201       foreach (var parentOp in new Symbol[] { plusIns, minusIns, prodIns, divIns }) {
    202         foreach (var childOp in opInsSet) {
    203           AddAllowedChildSymbol(parentOp, childOp, 0);
    204           AddAllowedChildSymbol(parentOp, childOp, 1);
    205         }
    206       }
    207       // <exprins> ::= <preop> (<exprins>)
    208       foreach (var op in new Symbol[] { expIns, sinIns, cosIns, logIns }) {
    209         foreach (var childOp in opInsSet) {
    210           AddAllowedChildSymbol(op, childOp, 0);
    211         }
    212       }
    213 
    214       // root is func
    215       AddAllowedChildSymbol(StartSymbol, func);
     194      // var opInsSet = new Symbol[] { plusIns, minusIns, prodIns, divIns, expIns, sinIns, cosIns, logIns, /* realInsVar, */ curvedIns, constSy };
     195      // foreach (var opIns in opInsSet) {
     196      //   AddAllowedChildSymbol(exprIns, opIns);
     197      // }
     198      //
     199      // // <exprins> ::= (<exprins> <op> <exprins>)
     200      // // <exprins> ::= (<cte> <op> <exprins>)   
     201      // foreach (var parentOp in new Symbol[] { plusIns, minusIns, prodIns, divIns }) {
     202      //   foreach (var childOp in opInsSet) {
     203      //     AddAllowedChildSymbol(parentOp, childOp, 0);
     204      //     AddAllowedChildSymbol(parentOp, childOp, 1);
     205      //   }
     206      // }
     207      // // <exprins> ::= <preop> (<exprins>)
     208      // foreach (var op in new Symbol[] { expIns, sinIns, cosIns, logIns }) {
     209      //   foreach (var childOp in opInsSet) {
     210      //     AddAllowedChildSymbol(op, childOp, 0);
     211      //   }
     212      // }
     213
     214      // root is exprGluc
     215      AddAllowedChildSymbol(StartSymbol, exprGluc);
    216216    }
    217217
Note: See TracChangeset for help on using the changeset viewer.