On 11/8/18 7:57 PM, Ivan Vodišek wrote:
However, beside the brute force supercompilers, there should exist a set of rules in a form of A <-> B, where A and B are code fragments equivalent in their functionality. Using these rules, it should be
Determining code equivalence is undecidable in general (for recursive functions and even primitive recursive functions IIRC). In practice however one can do a good job in many cases. For instance MOSES (currently being ported for the AtomSpace) has a reduction engine that takes a program and attempts to normalize it to a canonical form. The primary goal in this case is not to speed up its execution (though it often helps) but rather to avoid re-evaluating semantically equivalent candidates during program evolution, and also (important but subtler) to increase the correlation between syntax and semantics. For more info on the reduct engine (which is part of MOSES), see https://wiki.opencog.org/w/Meta-Optimizing_Semantic_Evolutionary_Search Nil -- You received this message because you are subscribed to the Google Groups "opencog" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/opencog. To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/6bb7d1b5-1d96-b982-fe0b-67fe74c7e3d3%40gmail.com. For more options, visit https://groups.google.com/d/optout.
