Friday, July 9, 2010

New design philosophy

One trend I begin to spot is that people often have somewhat divergent desires of what features they want their AGI brain children to have.  So, maybe the philosophy of our project is to let many AGI developers to draw from a common pool of algorithms, techniques, code, gadgets, etc, to DIY.  "No Child Left Behind - 2".

( "No Child Left Behind - 1" is that we cater to both Java and .NET platforms.  OpenCog takes care of C++ so we don't need to worry about that.  And, on the native scene there are some very good languages like Haskell and Erlang, but they don't have a large enough user base to warrant forking a 3rd branch.  )


  1. YKY,

    This makes some sense to me. If we can say "Why not do it in Gen?" to a good fraction of random AI research, then the platform is more capable of gaining acceptance... however, this suggests that we should focus more in standard algorithms then on ad-hoc ones; for example, implementing full belief prop rather than just prolog trick, and having prolog trick be just one possible inference guidance scheme (since prolog trick really is just a special case of belief prop).

  2. The problem is, I (personally) prefer Prolog trick over full belief prop in my AGI =) ...and that would be different from your preference. It seems not quite feasible with our current manpower / budget to implement too many algorithmic ideas, such as HOL Light, and belief prop.

    I can also explain my preference for Prolog trick -- it's efficiency in both development and performance. It seems that you're not very concerned about these aspects, and that's very incomprehensible to me. Your config could be "unusably slow", and that worries me a lot. That's why I aim at the minimal config that fulfill AGI requirements.

  3. YKY,

    I was not trying to say that I don't like prolog trick (I do), nor was I saying we shouldn't implement it. I was just saying that your design philosophy (including the above, and also your hope to do things by-the-textbook when possible) seems to imply that we'd favor belief prop over prolog trick.

    I was more stating it as a point against the above then a point against prolog trick, actually. IE- we should make the system easily accessible to outsiders when possible, but we're obviously going to make exceptions.