opencog / moses

MOSES Machine Learning: Meta-Optimizing Semantic Evolutionary Search. See also AS-MOSES https://github.com/opencog/asmoses but kept to guaranty backward compatibility.

Home Page:https://wiki.opencog.org/w/Meta-Optimizing_Semantic_Evolutionary_Search

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MOSES fails to run when boosting is enabled

Habush opened this issue · comments

I am trying to run MOSES with the --boost option set to true(1) to enable boosting. However, MOSES keeps failing by throwing the following exception:

terminate called after throwing an instance of 'opencog::AssertionException'
what(): bscore error not implemented for bscorer N7opencog5moses19ctruth_table_bscoreE (/home/xabush/moses/moses/moses/scoring/scoring_base.cc:116)

Here the full command line options that I used:

  moses -i train_temp_5b910dc42ae73d236f57cc08 -o 5b910dc42ae73d236f57cc08_fold_0_seed_941 --random-seed=941  '--balance=1' 
 '--boost=1'  '--boost-promote=2'  '--enable-fs=1'  '--fs-algo=simple'  '--fs-target-size=4'  '--hc-widen-search=1'  '--reduct-knob-building-effort=1'  '--result-count=100'  -W1  -j 8 -m 10000

Can I take up this issue and work on it ?

That code used to work, so, sure. Looks like there is some shared-library linkage problem; the executable wasn't linked correctly.

The meta-issue is that boosting, as a feature in moses, is not very useful. It sounds good, if you blur your eyes and don't think about it much, but, due to the nature of how moses works, boosting is nearly useless/harmful (unlike other machine-learning algos where it makes a big difference). It only works in a corner-case of the parameter space, and that corner is unused in real-world usage scenarios.

Since the boost code introduces extra complexity, while being effectively useless, it might be better to just #ifdef it out or remove entirely. This might be of particular interest for as-moses -- FYI -- @Habush