Re: [agi] My proposal for an AGI agenda
On 3/20/07, David Clark [EMAIL PROTECTED] wrote: Java has static typing and no introspection. It has no way of making programs of itself and then executing them. Multiple running programs require very expensive multi-threading and the huge mutex overhead for synchronization. Java has more complete introspection than any language other than Prolog or LISP, since about version 1.4. See the docs for the reflection package. Java's native threads are heavy, but Cybele, an open-source agent-based programming system, solves that problem. As to synchronization - Why would you synchronize modules? There are advantages to synchronizing distributed dynamic representations, but if we're already committed to a module-based approach, we're already throwing that out the window anyway. Any architecture using modules that must be synchronized is suspect to me. I've done a lot of agent-based programming, and synchronization is just asking for trouble. Sometimes it's good to have everybody synchronized to the same clock, but that's as far as I would go. - Phil - 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
Re: [agi] My proposal for an AGI agenda
On 3/23/07, Samantha Atknis [EMAIL PROTECTED] wrote: 8,Fast where most of the processing is done. In the language or in things written in the language or both? Lisp has been interpreted and compiled simultaneously and nearly seamlessly for 20 years and has efficiency approaching compiled C in many problem domains. Samantha, you need to provide me with references if you want me to believe this. No LISP compiler has ever been optimized to any serious degree AFAIK. The nature of the language makes it difficult to write efficient code in the first place. And I suspect that these many problem domains don't include any that involve numeric calculations. - 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
Re: [agi] My proposal for an AGI agenda
On Mon, Apr 09, 2007 at 02:02:33PM -0400, Philip Goetz wrote: Samantha, you need to provide me with references if you want me to believe this. No LISP compiler has ever been optimized to any serious I've heard different. Google seems to agree somewhat: http://www.google.com/search?hl=ensa=Xoi=spellresnum=0ct=resultcd=1q=LISP+numerical+performancespell=1 degree AFAIK. The nature of the language makes it difficult to write efficient code in the first place. And I suspect that these many problem domains don't include any that involve numeric calculations. Of course you won't get the numerical libraries of Fortran... -- Eugen* Leitl a href=http://leitl.org;leitl/a http://leitl.org __ ICBM: 48.07100, 11.36820 http://www.ativel.com http://postbiota.org 8B29F6BE: 099D 78BA 2FD3 B014 B08A 7779 75B0 2443 8B29 F6BE - 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
Re: [agi] My proposal for an AGI agenda
On 3/19/07, rooftop8000 [EMAIL PROTECTED] wrote: Hi, I've been thinking for a bit about how a big collaboration AI project could work. I browsed the archives and i see you guys have similar ideas I'd love to see someone build a system that is capable of adding any kind of AI algorithm/idea to. It should unite the power of all existing different flavors: neural nets, logical systems, etc Wilbur Peng and I developed the MAGIC system for just this purpose. However, the company that owns it decided to keep it to themselves, so I can't tell you much about it. Each MAGIC module is a software agent, with its own thread of control. We follow the COUGAAR architecture to some extent, but MAGIC is intended for much finer-grained components. - An Agent is what you think of as the intelligent agent level. It's made up of Modules and Protocols. - A Module is a set of software agents that the framework guarantees to keep together on the same computer. This lets you group together processes that have to communicate with each other a lot. - A Service is like a shared object library, but with some additional properties that define whether it can save state between calls. - A Protocol is a set of rules defining how two entities exchange information. It isn't the knowledge representation; it's more like the TCP/IP protocol. A set of rules defining how an auction works is one kind of protocol, which can be used for agoric computing. Any component that observes a protocol can (usually) be substituted for any other component that observes the same protocol. Every component was an XML object, usually with associated code. The XML is supposed to describe enough of what the component does, that a running system trying to accomplish a task can automatically assemble components from a library for that task. It's rather like an elaborate WSDL (web services description language). In practice, that never worked, altho I think it could to some extent. We had a set of provided default components, designed for intelligent agent applications. They were all in Java. Software agents were implemented using Cybele (www.opencybele.org). I'd like to enable people to program components in other languages, but you know that as soon as you do that, someone's going to write something in C, and then you'll be inundated with tech-support email caused by other peoples' C code. Here are a couple of other nice frameworks: I. Dickinson, Configuring Nuin agents, 2006, http://www.nuin.org/userman/config.html . J. Bigus, D. Schlosnagle, J. Pilgrim, W. Mills, Y. Diao, ABLE: A toolkit for building multiagent autonomic systems, IBM Systems Journal 41(3), 2002, 350 – 371. http://www.alphaworks.ibm.com/tech/able ABLE is beautiful, but you're screwed if you use it, because IBM will not license it to anybody for any purpose. This isn't because they don't want to; it's because, after 5 years, they still can't decide how much to charge. Pathetic. This is not easy because you'll need to cross-translate between the different representations and make the system understand which techniques can do what and when. And still be flexible enough so any new ideas can be added to it (together with information on how to use them). What I proposed doing in MAGIC, but didn't implement, is to provide a standard implementation of Prolog, lacking some extralogicals. Users can devise any representation that they wish using that Prolog, Because the definitions of each logic representation will themselves be written in a single lower-level logic, it would be easier to translate between them. But still not simple. - 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
Re: [agi] My proposal for an AGI agenda
Some more notes on cognitive infrastructures: IKAROS (http://www.lucs.lu.se/IKAROS/index.html) IKAROS components correspond to brain areas, which are linked to each other through arrays of real variables that represent neurons. IKAROS is focused on representing the human brain accurately at a low level, and duplicating specific brain regions and functions, purely for research. It has a specified level of detail, as does an architecture, but is an infrastructure rather than an architecture in that the user can specify how the components are connected. BrainStorm/J was an attempt at the Universidad Nacional del Centro in Argentina to build re-usable Java components for intelligent systems. The major product of BrainStorm has been JavaLog, an open-source Java implementation of Prolog suitable for use in a multithreaded Java application. The project focuses on belief-desire-intention (BDI) planning architectures. ABLE is an ongoing effort by the IBM Research Labs to produce a library of low-level artificial intelligence components (neural networks, function optimizers, logic engines, finite-state automata, and so on) that communicate using a standard API. ABLE is thorough and well-tested. Its API is meant only for components that reside in the same thread on the same machine, and each component performs a specific computational task rather than a specific cognitive function. ABLE is hampered by an overly-restrictive licensing agreement that allows only 90 days of use. - 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
Re: [agi] My proposal for an AGI agenda
Philip Goetz wrote: Some more notes on cognitive infrastructures: IKAROS (http://www.lucs.lu.se/IKAROS/index.html) IKAROS components correspond to brain areas, which are linked to each other through arrays of real variables that represent neurons. IKAROS is focused on representing the human brain accurately at a low level, and duplicating specific brain regions and functions, purely for research. It has a specified level of detail, as does an architecture, but is an infrastructure rather than an architecture in that the user can specify how the components are connected. BrainStorm/J was an attempt at the Universidad Nacional del Centro in Argentina to build re-usable Java components for intelligent systems. The major product of BrainStorm has been JavaLog, an open-source Java implementation of Prolog suitable for use in a multithreaded Java application. The project focuses on belief-desire-intention (BDI) planning architectures. ABLE is an ongoing effort by the IBM Research Labs to produce a library of low-level artificial intelligence components (neural networks, function optimizers, logic engines, finite-state automata, and so on) that communicate using a standard API. ABLE is thorough and well-tested. Its API is meant only for components that reside in the same thread on the same machine, and each component performs a specific computational task rather than a specific cognitive function. ABLE is hampered by an overly-restrictive licensing agreement that allows only 90 days of use. Alas, I fear that any attempt to build a horse (sorry, an AI) by making a committee of all the existing AI techniques is going to produce something that smells exactly as sweet as a camel Richard Loosemore - 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
Re: [agi] My proposal for an AGI agenda
Philip Goetz wrote: On 3/23/07, Samantha Atknis [EMAIL PROTECTED] wrote: 8,Fast where most of the processing is done. In the language or in things written in the language or both? Lisp has been interpreted and compiled simultaneously and nearly seamlessly for 20 years and has efficiency approaching compiled C in many problem domains. Samantha, you need to provide me with references if you want me to believe this. No LISP compiler has ever been optimized to any serious degree AFAIK. The nature of the language makes it difficult to write efficient code in the first place. And I suspect that these many problem domains don't include any that involve numeric calculations. - 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 Here are some benchmarks with SBCL lisp and GCC compiled C: http://shootout.alioth.debian.org/gp4/benchmark.php?test=alllang=sbcllang2=gcc Compared to other high level languages lisp is pretty impressive, but it's not at the level of C for sure. -Jeff - 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