Nil,
I'm thinking about moving forward with creating an Atomspace-based
version of MOSES, with the work perhaps being split between Alexey's
team in St. Petersburg and Kasim and Yidne's team in Addis Ababa...
You are of course aware that Yidne has been working on porting Reduct
to the URE ... which is in a way the "hard part" of porting MOSES to
Atomspace
As I mentioned before, the general design I'm thinking of is
-- make a MOSES version where each MOSES deme is an Atomspace
-- keep the rest of MOSES as-is ... i.e. the deme management, the
feature selection, etc. etc.
So basically the actual collection of program trees being grown inside
a deme (extending an exemplar) would live in an Atomspace....
For a given MOSES "run", one could perhaps have one central Atomspace
accumulating the top N programs from each of the peripheral
Atomspaces, where each deme is a peripheral Atomspace....
Fitness evaluation should not be tricky here, basically a fitness
function can be a GroundedSchemaNode
Nil, my basic idea here (as we discussed once before) is that the
growth of an exemplar program into various "derived" programs (as
occurs within a MOSES deme) should be executable using a URE rule (or
a small number of URE rules) ....
I am thinking that your recent work on the URE Pattern Miner, should
put you in a position where you can clearly articulate how to use the
URE to implement the growth of a population (deme) of programs from an
exemplar program...
(Obviously the big intended payoff here is a return to the roots of
MOSES, i.e. the use of probabilistic analysis to find patterns
regarding which program-trees in a deme are successful. I would like
to be able to use pattern mining and PLN to help with this, and this
will be much easier to experiment with once the MOSES program trees
are in the Atomspace.... But I'm not looking to implement/design the
details of this aspect yet; first I want to just deal with the
"mechanics" of getting a MOSES deme to be an Atomspace...)
Anyway what I am hoping is that you can write a sort of spec for "how
to use the URE to implement the growth of programs from the exemplar
in a MOSES deme" .... if you can viably do this before we meet F2F
in HK in March that would be ideal for spurring discussions and moving
the idea to the next stage...
(A note to others: It is clear that the mechanics of MOSES program
execution will be slower in the (current version of the) Atomspace
than in the current version of MOSES. However, the Atomspace brings
with it other possibilities, including the caching of partially
evaluated results, as well as easier probabilistic modeling as
mentioned above.... And of course we can cook up various schemes for
accelerating Atomspace program execution if we want to. Generally
though I am thinking the value-add of Atomspace-MOSES will occur
mostly for cases where fitness evaluation is highly expensive for
reasons other than having a large number of simple operations carried
out in the program tree, e.g. where the bulk of time that the program
spends is in manipulation of Atoms or manipulation of external data,
in which cases the slower mechanics of program tree evaluation in
Atomspace as opposed to VertexTrees doesn't matter...)
thanks
Ben
thanks
Ben
--
Ben Goertzel, PhD
http://goertzel.org
"In the province of the mind, what one believes to be true is true or
becomes true, within certain limits to be found experientially and
experimentally. These limits are further beliefs to be transcended. In
the mind, there are no limits.... In the province of connected minds,
what the network believes to be true, either is true or becomes true
within certain limits to be found experientially and experimentally.
These limits are further beliefs to be transcended. In the network's
mind there are no limits." -- John Lilly