On 3/23/07, rooftop8000 <[EMAIL PROTECTED]> wrote:
1. collaboration. is it possible to focus all attention/ work in one big project? will it be too complex and unmanageable?
Like the Web: most contributors don't need to be part of the original organization. 2. supported computer languages? many or one? Two. One for the framework code (I'd suggest Java or maybe C#, though C++ is not entirely without merit), and one for content. Look at Novamente, they use C++ for the former and a homebrew functional programming language for the latter. 3. organization?
-try to find a small set of algorithms (seed AI)? -allow everything that is remotely useful?
Allow everything that any contributor thinks is useful. 4. what is the easiest way for people to contribute?
how could existing algorithms be added easily? -neural networks -logic -existing knowledge bases -..
Logic. More precisely, content should be written in a notation that looks like predicate calculus for factual statements blending into something vaguely like Prolog and Haskell for procedural knowledge. Of course, graphical tools will also end up being desirable for other forms of contribution - but they should write stuff in the standard notation at the back end. 5. what kind of problems should be the focus first?
-visual/real world robotics? -abstract problems?
Have to start with abstract problems, but need to quickly start making major progress on visual/spatial. 6. self-modification?
-don't waste time on it, it will never give good results? -all the parts should be able to be modified easily?
Don't think in terms of self-modifying code - the framework (Java/C#/C++) should be a conventional program modified only by humans - but of content being able to casually reuse other content and incorporate it into new content. 7.organization in modules?
-what is the best granularity? -how to generalize from them (in stead of just getting the sum of all the algorithms)?
Fairly fine grained, think Web pages for an analogy. (Reuse needs to typically be by incorporation rather than purely by reference as in the Web case, but this should be transparent to the user.) 8. cpu power
-only allow very fast, optimized algorithms -allow anything
Allow anything. 9. the set of properties required
-too large to do by hand? -try to let properties emerge?
Like the Web, too large for any one group to do by hand, but not necessarily too large for the world to do by hand. 10. KBs. how to use them? how to reuse existing ones It will be desirable to have ways to interface to e.g. relational databases, the Web etc. 11. embodiment? important or not? Moving soon and rapidly in that direction is important, though won't be using physical robots from day one. 12. representations?
-try to find a small set -allow everything
Canonical notation as described above. Of course, stacked over that will be many kinds of semantic layers, so if that's what you're thinking of by "representations" then allow everything. 13. learning. Sure. Automated learning will be a useful tool, just can't rely on it _instead of_ engineering. 14. how to make it scale well Look for inspiration at existing highly scalable systems such as Usenet, the Web, Google, file sharing systems, distributed computing projects e.g. [EMAIL PROTECTED] 15. central structure ?
distributed control?
Distributed, like the Internet. ----- This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303
