Re: [agi] organising parallel processes, try2
Do you think a hierarchy structure could be too restrictive? What if low-hierarchy processes need to make a snap decision to turn off high-level ones. How are new processes put into the hierarchy? What if a high-level process is faulty and should be deactivated?I think the 'scheduling' should be a big part of the actual problem solving. (Deciding and learning which resources to use, activating strategies...). Do you know any already working systems like the one you are making (preferably ones that have a non-trivial scheme of activation, hierarchy/organisation or scheduling)? thanks--- On Fri, 5/9/08, Stephen Reed [EMAIL PROTECTED] wrote:From: Stephen Reed [EMAIL PROTECTED]Subject: Re: [agi] organising parallel processes, try2To: agi@v2.listbox.comDate: Friday, May 9, 2008, 11:04 PMHi,The Texai system, as I envision its deployment, will have the following characteristics:a lot of processesa lot of hostsmessage passing between processes, that are arranged in a hierarchical control systemhigher level processes will be deliberative, executing compiled production rules (e.g. acquired skills)lower level processes will be reactive, even so far as not to contain any state whatsoever, if the sensed world itself will sufficesome higher level processes on each host will be agents of the Host Resource Allocation Agency and will have the learned skills sufficient to optimally allocate host resources (e.g. CPU cores, RAM, KB cache) on behalf of other processes (i.e. agents)I have not yet thought much about how these resources should be allocated except to initially adopt the scheduling algorithms used by the Linux OS for its processes (e.g. each process has a priority, schedule the processes to achieve maximum use of the resources, allow real-time response for processes that must have it, do not allow low priority processes to starve, etc.)Cheers.-SteveStephen L. ReedArtificial Intelligence Researcherhttp://texai.org/bloghttp://texai.org3008 Oak Crest Ave.Austin, Texas, USA 78704512.791.7860- Original Message From: rooftop8000 [EMAIL PROTECTED]To: agi@v2.listbox.comSent: Friday, May 9, 2008 3:24:14 PMSubject: [agi] organising parallel processes, try2I'll try to explain it more..Suppose you have a lot of processes, all containing some production rule(s). They communicate with messages. They all should get cpu time somehow. Some processes just do low-level responses, some monitor other processes, etc. Some are involved in looking at the world, some involved in planning, etc. I'm thinking of a system like SOAR, but in parallel. Are there any systems that work like this, and have some way to organise the processes (assign cpu time, guide the communication, group according to some criteria..) I'd like to look at a bunch of those and compare the pros consthanks Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. agi | Archives | Modify Your Subscription
[agi] organising parallel processes, try2
I'll try to explain it more.. Suppose you have a lot of processes, all containing some production rule(s). They communicate with messages. They all should get cpu time somehow. Some processes just do low-level responses, some monitor other processes, etc. Some are involved in looking at the world, some involved in planning, etc. I'm thinking of a system like SOAR, but in parallel. Are there any systems that work like this, and have some way to organise the processes (assign cpu time, guide the communication, group according to some criteria..) I'd like to look at a bunch of those and compare the pros cons thanks Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ --- agi Archives: http://www.listbox.com/member/archive/303/=now RSS Feed: http://www.listbox.com/member/archive/rss/303/ Modify Your Subscription: http://www.listbox.com/member/?member_id=8660244id_secret=101455710-f059c4 Powered by Listbox: http://www.listbox.com
[agi] organising parallel processes
hi, I have a lot of parallel processes that are in control of their own activation (they can decide which processes are activated and for how long). I need some kind of organisation (a simple example would be a hierarchy of processes that only activate downwards). I'm looking for examples of possible organisations or hierarchies in existing AI systems or designs of them . Any ideas? thanks Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ --- agi Archives: http://www.listbox.com/member/archive/303/=now RSS Feed: http://www.listbox.com/member/archive/rss/303/ Modify Your Subscription: http://www.listbox.com/member/?member_id=8660244id_secret=101455710-f059c4 Powered by Listbox: http://www.listbox.com
Re: [agi] What would motivate you to put work into an AGI project?
Are there any projects that allow people to help? __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - 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/?member_id=231415user_secret=fabd7936
Re: [agi] What would motivate you to put work into an AGI project?
for me personally: 1.A framework in a fun reflective, dynamic language (not java or c++ or something) 2.easy to add code and test it out right away (add new logic rules, add a new module and see it at work right away) 3.the main task of intelligence should be to *facilitate the adding of new code * knowing how to run and maintain itself (not some external task like controlling robots with no gain to the system itself) 4- have a lot of algorithms and libraries available so i could very easily make this new module: (that tries to learn when to save things that are being deleted) see 'remove ?X' and interesting ?x - save ?x and add some algorithm that learns what interesting is. you need easy monitoring of the system (remove etc). other people can access your saved values.. everyone's goal is to add intelligence as a service for other people. so they can build on it. Another person can add a module that monitors my module and tries to learn whether it is valuable (and might disable it when it's not), making the system run better 5. so everyone can do their own thing, but the aim is to make the system itself better .. --- William Pearson [EMAIL PROTECTED] wrote: My current thinking is that it will take lots of effort by multiple people, to take a concept or prototype AGI and turn into something that is useful in the real world. And even one or two people worked on the correct concept for their whole lives it may not produce the full thing, they may hit bottle necks in their thinking or lack the proper expertise to build the hardware needed to make it run in anything like real time. Building up a community seems the only rational way forward. So how should we go about trying to convince each other we have reasonable concepts that deserve to be tried? I can't answer that question as I am quite bad at convincing others of the interestingness of my work. So I'm wondering what experiments, theories or demonstrations would convince you that someone else was onto something? For me an approach should have the following feature: 1) The theory not completely divorced from brains It doesn't have to describe everything about human brains, but you can see how roughly a similar sort of system to it may be running in the human brain and can account for things such as motivation, neural plasticity. 2) It takes some note of theoretical computer science So nothing that ignores limits to collecting information from the environment or promises unlimited bug free creation/alteration of programming. 3) A reason why it is different from normal computers/programs How it deals with meaning and other things. If it could explain conciousness in some fashion, I would have to abandon my own theories as well. I'm sure there are other criteria I have as well, but those three are the most obvious. As you can see I'm not too interested in practical results right at the moment. But what about everyone else? Will Pearson - 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/?; __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - 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/?member_id=231415user_secret=fabd7936
Re: [agi] rule-based NL system
we already have programming languages. we want computers to understand natural language because we think: if you know the syntax, the semantics follow easily. you still need the code to process the object the text are about. so it will always be a crippled NL understanding without general intelligence behind it. the thing about NL is: we can interpret words in many ways. the word walk can mean: the act of walking, a walk you took yesterday,.. etc The point is that the computer tries out different meanings, and NL allows this to happen by having many possible meanings and inaccuracies why not try this on programimng languages. t = Object new() or make a new object and put it in the variable t or new object in t . Now make a program that can freely decide what to do with this -make t a global variable. -make t a Car variable - decide to keep the old value in t in some memory ... it's easy to parse programming languages (unlike NL), but not how to understand the semantics and reason with it/understand it in a flexible way do any programs like this exist already? __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - 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/?member_id=231415user_secret=fabd7936
Re: [agi] rule-based NL system
i meant programs that reason about the code you give them. but never mind --- Mark Waser [EMAIL PROTECTED] wrote: we want computers to understand natural language because we think: if you know the syntax, the semantics follow easily Huh? We don't think anything of the sort. Syntax is relatively easy. Semantics are AGI. do any programs like this exist already? Uh . . . no . . . because any such program which worked would effectively *be* AGI. - Original Message - From: rooftop8000 [EMAIL PROTECTED] To: agi@v2.listbox.com Sent: Tuesday, May 01, 2007 4:21 AM Subject: Re: [agi] rule-based NL system we already have programming languages. we want computers to understand natural language because we think: if you know the syntax, the semantics follow easily. you still need the code to process the object the text are about. so it will always be a crippled NL understanding without general intelligence behind it. the thing about NL is: we can interpret words in many ways. the word walk can mean: the act of walking, a walk you took yesterday,.. etc The point is that the computer tries out different meanings, and NL allows this to happen by having many possible meanings and inaccuracies why not try this on programimng languages. t = Object new() or make a new object and put it in the variable t or new object in t . Now make a program that can freely decide what to do with this -make t a global variable. -make t a Car variable - decide to keep the old value in t in some memory ... it's easy to parse programming languages (unlike NL), but not how to understand the semantics and reason with it/understand it in a flexible way do any programs like this exist already? __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - 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/?; - 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/?; __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - 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/?member_id=231415user_secret=fabd7936
Re: [agi] Little Red Ridinghood
How do you write and verify in cycl? --- YKY (Yan King Yin) [EMAIL PROTECTED] wrote: This is a simplified version of LRR. I'm working on a translation into CycL. 1. There exists a girl. 2. She lived in the past. 3. Her nickname is Little Red Riding Hood. 4. She wears a red riding hood everywhere. 5. (3), because of (4). 6. One day her mother made some food. 7. She said to her, (8)-(10). 8. Go to see your grandmother. 9. She has been very ill. 10. Take this basket of food to her. 11. She immediately left to see her grandmother. 12. Her grandmother lived on the other side of the woods. 13. She was going through the woods. 14. She met a wolf during (13). 15. The wolf said, (16). 16. Where are you going? 17. She answered, (18). 18. I am going to see my grandmother. 19. She told the wolf where her grandmother lives. 20. The wolf took the shortest path. 21. He ran as fast as he could. 22. When he got there, the house was empty. 23. He put on her grandmother's clothes. 24. He got into her bed. 25. He waited. 26. She arrived at the house. 27. She knocked at the door. 28. The wolf answered. 29. Hearing the voice of the wolf, she was at first afraid. 30. She believed (31) (32). 31. Her grandmother had a cold. 32. Therefore, she was hoarse. 33. She said, (34) (35). 34. It is your grandchild, Little Red Ridinghood. 35. I have brought you some food. 36. She was amazed to see how her grandmother looked. 37. She said, (38). 38. What big arms you have! 39. The wolf said, (40). 40. All the better to hug you with, my dear. 41. She said, (42). 42. Grandmother, what big teeth you have got! 43. The wolf said, (44). 44. All the better to eat you up with. 45. As he said (43)-(44), the wolf fell upon her to swallow her up. 46. The door was flung open. 47. A woodman rushed in. 48. He made the wolf let go of his hold. 49. The wolf ran away. 50. The woodman took her home to her mother. 51. They all lived happily ever after. - 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 Food fight? Enjoy some healthy debate in the Yahoo! Answers Food Drink QA. http://answers.yahoo.com/dir/?link=listsid=396545367 - 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] AGI and Web 2.0
if you take the module route, some interesting qualities can be -modules being run / developed / trained /debugged partly independent from the system -a way to run them in sandboxes so they cant delete your hard drive -a way to control the amount of runtime they get (or priority, or a scheme of activation) this could be controlled or influenced by a collection of modules in charge of running things... -ways to load/unload modules from the system depending on what task you are doing --- Neil Halelamien [EMAIL PROTECTED] wrote: On a tangential note, it might be interesting to have a modular AGI architecture where particular modules could be entirely or partially controlled by individual humans, or perhaps groups of humans playing webgames or some-such. For example, a perceptual subsystem could route ambiguous cases for human identification, and then learn based on the human response. Of course, ideally as development progressed the human-controlled modules would be replaced bit-by-bit by code. One might even argue that any component of an AGI should be able to be run on a human or group of humans, although performance might be arbitrarily slow. On 3/29/07, YKY (Yan King Yin) [EMAIL PROTECTED] wrote: How does the new phenomenon of web-based collaboration change the way we build an AGI? I feel that something is amiss in a business model if we don't make use of some form of Web 2.0 . I think rooftop8000 is on the right track by thinking this way, but he may not have it figured out yet. Obviously, commonsense knowledge (ie KB contents) can be acquired from the internet community. But what about the core? Can we build it using web-collaboration too? One of my strong conviction is that opensource should be combined with commercial. That will result in the most productive and satisfying organization, IMO. Suppose we opensource an AGI codebase, so people can contribute by adding to / modifying it. Then we should have a way to measure the contribution's value and reward the contributor accordingly. What we need is: 1. a way to decide which contributions to accept (by voting?) 2. a way to measure the *value* of each contribution (perhaps voting as well) A problem is that we cannot take universal ballots every time on every trivial issue. So probably we need a special adminstrative committee for decision-making. This idea is worth trying because it may cut down on development costs. YKY 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 - 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 Now that's room service! Choose from over 150,000 hotels in 45,000 destinations on Yahoo! Travel to find your fit. http://farechase.yahoo.com/promo-generic-14795097 - 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] Why C++ ?
-very hard to write code that writes code compared to LISP, Ruby etc -very hard to safely run code i think. in java you have security things to execute code in safe sandboxes, in C++ any array can just run outside its bounds -in LISP any ruby and the likes, you can just execute 1 line of code (interactively), in C++ you have to go through a big compile cycle The only thing C++ is good for, is writing efficient code if you really need it --- kevin.osborne [EMAIL PROTECTED] wrote: some extra points in support of C++: - Developer quality; It seems to take about 5 years to get good at C++. There's plenty of carbon-copy Java/PHP/.NET programmers being churned out but they'll need some time to mature into decent developers, with a good portion choosing attrition into BAs etc after they realise they're not first-option coders. If you choose C++, then you've already got candidate programmers who've been tried and tested. The 5-year ramp-up is often one of the criticisms of C++ but for AGI work I think it's probably a worthwhile prerequisite. - Breadth of library support. Lisp has an even greater learning hurdle than C++, so wins out on the point above; but then it loses out big-time on library support and breadth of heavyweight APIs. Take Boost STLport, add a cross platform support library like ACE and above all top-notch compilers, debuggers/profilers and IDE's (e.g. gcc, gdb Purify, (gulp) Visual Studio). On top of that you can write to every BSP for any given architecture natively (as you can talk C in the same source if you choose) and you also get OS bindings (POSIX etc) and the ability to call native assembly directly to optimise for specific heavy/repeated use segments (_asm{...}). - Stability. Java wins on the point above, but fails here. Every major app of note for the last 20 years has been C++. If the code is written well and memory is allocated and deallocated cleanly then the app will run continuously without failures while still being able to do intensive ongoing processing. The latest space vehicles, medical equipment, public safety and enterprise applications (remember: the Java VM is C++) all run C++ and they all do it in a stable, error-free manner. If the Java VM still leaks memory don't even begin to ask about Python/Ruby etc. There are plenty of languages than can develop good, clean code but their runtime performance for 24/7/365 is, in general, pretty atrocious. I guess it's fair to say that it isn't OK to have an AGI reboot itself at 5 before midnight like most modern web apps do. bias disclaimer: I'm a current C++ programmer, but I started off in Perl C, then moved onto Java and then took it upon myself to learn the meister of all current languages: C++. I personally love Java (and am infatuated with Perl, especially Perl6/Parrot) and think some of the things it offers kick C++ in the arse (Ant, JUnit, RMI, Servlets) but I think the things C++ sucks least at are the things that matter most for apps of this kind of importance; blame Steve Yegge if you must :-) - 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 Never miss an email again! Yahoo! Toolbar alerts you the instant new Mail arrives. http://tools.search.yahoo.com/toolbar/features/mail/ - 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
--- YKY (Yan King Yin) [EMAIL PROTECTED] wrote: On 3/25/07, rooftop8000 [EMAIL PROTECTED] wrote: The richer your set of algorithms and representations, the more likely the correct ones will emerge/pop out as you put it. I don't really like the idea of hoping for extra functionality to emerge. This particular version of emergence does not seem to work because: 1. You need a massive number of participants ( 1,000, say) which we definitely don't have on this list or on the net. 2. You cannot simply throw a bunch of algorithms and representations together and make an AGI. There has got to be some common communication protocols. *If* you are willing to enforce communication protocols, then why not instead enforce a common knowledge representation scheme, which is more direct? If it's a protocol that can hold numeric data and logic data etc, i'm all for it. Where can i read about it? And of course throwing things together doesn't work. You need hard work to provide meta-information on the parts. (How to use them, when they work, how to detect failures, how to communicate with them...) This kind of thing is usually still done by people... but i think it is a crucial step to getting a worthwhile system. Trying to establish *any* concensus is hard, but it seems to be a *necessary* step. Because i think we need more than 1 knowledge base in the system, and more than 1 type of communication. Why should neuralnet-Bayesian talk use the same representation as communication between logic modules. But maybe making a framework that is general enough for all those things is impossible? Well, mine and Ben's approaches are similar: we try to *combine* logic, probability, and graphical models / neural networks. It's not really as hard as it sounds. What do you think about such an approach? I'm also open to other alternatives, if they are simpler. Sounds good to me. Where can i see the source, and how easily does it allow existing algorithms to be added in some way? But it seems that it is impossible to simply let a bunch of AGIers collaborate by everyone doing their own thing without any kind of imposed structure / organization. Or am I missing some very ingenious ideas? One way is some architecture like push singh proposed, where reflective layers can decide to activate different representations and algorithms (the reflective layers are a collaboration too, of course) I think Jey's comment is reasonable. It seems impractical to start a collaborative AI project without having an AGI design which specifies what modules are there and how they communicate. I hoped someone on the list was smart enough to find one I have actually proposed such an architecture, in outline. Can i find this outline somewhere? I'm sure Ben G and Peter Voss also have their respective architectures. One question is whether we can synthesize these different theories. If not, we'd end up with a number of isolated groups that do not collaborate in any meaningful / significant way. my vote goes to any framework that is broad enough to make -rule based/ logic parts -parts with number-based neural networks etc -... and allows different parts to be developed independently and added easily A *probabilistic* logic-based system is very much numerical. Me, Pei Wang, and Ben all advocate the use of some form of numerical logic for commonsense reasoning. This type of systems cannot be easily classified into logic or neural. Some form of unifying framework, whatever that is, is of course desirable. But the problem is how to get people to *agree* to work within your framework (or any particular one). In fact, a whole bunch of people on this list may claim to have some unifying framework for everyone else to work in. I'd love to see one. (preferably one that's not commercial and can be used) Simply voting on individual features cannot work because all the features of an AGI are inter-related; they have to work together synergistically. I'd make a bronze statue of anyone who can solve this problem!! YKY - 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 Need Mail bonding? Go to the Yahoo! Mail QA for great tips from Yahoo! Answers users. http://answers.yahoo.com/dir/?link=listsid=396546091 - 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: Environments and Languages for AGI [WAS Re: [agi] My proposal for an AGI agenda]
--- Chuck Esterbrook [EMAIL PROTECTED] wrote: On 3/24/07, rooftop8000 [EMAIL PROTECTED] wrote: one chooses a decent option and gets on with it. -- Ben That's exactly the problem.. everyone just builds their own ideas and doesn't consider how their ideas and code could (later) be used by other people If Novamente reaches human like, general intelligence, you'll use it by saying things like, Novamente, I'm out of beer. and he'll know to run out to the store to get some! But seriously, some companies may intend that their projects get used more macroscopically than as a marketplace for AGI parts. Adding that extra dimension to a project has extra cost and it's not clear what the pay off will be. Just the fact that you make certain choices about AGI will probably mean that 80% of us say I won't use that because you didn't blah blah blah. Examples of blah blah blah include bake in high level math, use one communication protocol, use multiple communication protocols, use .NET, did not use .NET, use Java, did not use Java, lojbanize everything, etc. AGI companies tend to have a strong(er) idea of what they are trying to accomplish. If you want an open AGI architecture for community collaboration on the internals of the AGI, then it is more likely to come in the form of an open source project pushed mostly by individuals. Furthermore, I have my doubts that such an approach will lead to AGI. I think a close knit, full-time team with a vision, such as Novamente or AdaptiveAI, has a much better chance. I offer no proof--that's just my impression. i think the open route is the only way you're gonna get enough different ideas and representations in a system. any of these other systems will drive as far as possible with their assumptions and ideas (logic for cyc, i don't really know the details of the ones you mention TBH), without thinking about how different ideas could be incorporated but i agree that a full-time team with a vision is much better.. and there isn't much interest in some open AGI architecture apparently the general feeling seems to be: -dedicated team is better and it is too hard as a collaboration of random people -clear set goals and approach/framework from the start is better -it isn't clear what an open AGI architecture should be, and getting people together in an undefined project isn't gonna happen -just throwing stuff together isn't gonna work i hate to admit it, but i guess you guys are right -Chuck - 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 Need Mail bonding? Go to the Yahoo! Mail QA for great tips from Yahoo! Answers users. http://answers.yahoo.com/dir/?link=listsid=396546091 - 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
--- Chuck Esterbrook [EMAIL PROTECTED] wrote: On 3/24/07, YKY (Yan King Yin) [EMAIL PROTECTED] wrote: On 3/25/07, rooftop8000 [EMAIL PROTECTED] wrote: ... I think Jey's comment is reasonable. It seems impractical to start a collaborative AI project without having an AGI design which specifies what modules are there and how they communicate. I hoped someone on the list was smart enough to find one I have actually proposed such an architecture, in outline. I'm sure Ben G and Peter Voss also have their respective architectures. One question is whether we can synthesize these different theories. If not, we'd end up with a number of isolated groups that do not collaborate in any meaningful / significant way. That might be bad from your perspective, but I think it could be good from a global perspective. For one thing, each group will have its own approach and one will cross the finish line earlier than the others. Since you can't objectively predict which approach that will be, the diversity is valuable. Also, the groups may learn from each other or improve their performance in response to the accomplishment of other groups. The fragmentation of ordinary software development can be frustrating. There is Java vs. .NET vs. C++ vs. open source (which isn't really entirely separate from the others). But I'm positive none of these would have progressed as far without the competition. Hell, Java 5.0 was *all* about responding to .NET which in turn was very much about responding to the Java phenomena. And we reap the rewards: there is more benefit than harm. Too bad java and c++ are pretty horrible languages and they kept better languages from being used. Need Mail bonding? Go to the Yahoo! Mail QA for great tips from Yahoo! Answers users. http://answers.yahoo.com/dir/?link=listsid=396546091 - 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
--- Chuck Esterbrook [EMAIL PROTECTED] wrote: On 3/25/07, rooftop8000 [EMAIL PROTECTED] wrote: --- Chuck Esterbrook [EMAIL PROTECTED] wrote: On 3/24/07, YKY (Yan King Yin) [EMAIL PROTECTED] wrote: On 3/25/07, rooftop8000 [EMAIL PROTECTED] wrote: ... I think Jey's comment is reasonable. It seems impractical to start a collaborative AI project without having an AGI design which specifies what modules are there and how they communicate. I hoped someone on the list was smart enough to find one I have actually proposed such an architecture, in outline. I'm sure Ben G and Peter Voss also have their respective architectures. One question is whether we can synthesize these different theories. If not, we'd end up with a number of isolated groups that do not collaborate in any meaningful / significant way. That might be bad from your perspective, but I think it could be good from a global perspective. For one thing, each group will have its own approach and one will cross the finish line earlier than the others. Since you can't objectively predict which approach that will be, the diversity is valuable. Also, the groups may learn from each other or improve their performance in response to the accomplishment of other groups. The fragmentation of ordinary software development can be frustrating. There is Java vs. .NET vs. C++ vs. open source (which isn't really entirely separate from the others). But I'm positive none of these would have progressed as far without the competition. Hell, Java 5.0 was *all* about responding to .NET which in turn was very much about responding to the Java phenomena. And we reap the rewards: there is more benefit than harm. Too bad java and c++ are pretty horrible languages and they kept better languages from being used. Well, I didn't say it was a perfect system. :-) Still, even the top 3 put together (Java, C, C++) don't break 50%: http://www.tiobe.com/tpci.htm And you can see that Python, Ruby and D are on the rise. -Chuck - 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 I think Ruby is related to LISP and smalltalk.. they have some nice properties.. it's very easy to make code that writes and performs code at run-time. Really flexible compared to java reflection .. you also don't have to worry about compilation etc Although from that site it seems obvious to use java if you want a big collaboration Be a PS3 game guru. Get your game face on with the latest PS3 news and previews at Yahoo! Games. http://videogames.yahoo.com/platform?platform=120121 - 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
--- David Clark [EMAIL PROTECTED] wrote: - Original Message - From: rooftop8000 [EMAIL PROTECTED] To: agi@v2.listbox.com Sent: Friday, March 23, 2007 1:48 PM Subject: Re: [agi] My proposal for an AGI agenda Suppose there was an AGI framework that everyone could add their ideas to.. What properties should it have? I listed some points below. What would it take for you to use the framework? You can add points if you like. 1. collaboration. is it possible to focus all attention/ work in one big project? will it be too complex and unmanageable? I think that specific parts can be designated to multiple developers in a coherent manner without requiring full time effort by everyone. An adhoc or anything goes approach might be interesting but without direction it would never get anywhere. -so it will need to have different parts that can be developed (and run?) independently. -won't anything goes direct itself towards things that work? (ie. people building things on top of the parts that already give the best results). -what other kind of direction could you put in the system? 2. supported computer languages? many or one? Multi language design won't work IMO. No one could just pop a whole set of routines into someone else's computer and watch the result. Different language modules couldn't just fit together as needed. Larger existing AGI projects could communicate in the future by using sockets like Novamente, A2I2 or others but this communication with proprietary systems (or other language designs) wouldn't be the same as people working in the same environment. It might give a big overhead, but won't it also make the system more fault-tolerant ? All the different parts can be designed by different people ... Do Novamente and A2I2 already do this? (I'm not familiar with them) Maybe there are better ways than socket communication? Are virtual machines needed to run all the languages/parts in a safe way? This is probably the biggest problem. How to divide it so people can design their own parts, in their own preferred language? And how to run them/ have easy communication between them. I'm sure a lot of research has been done into this? 3. organization? -try to find a small set of algorithms (seed AI)? -allow everything that is remotely useful? If you think you can breed an intelligence from a small set of algorithms then why not just make it and see if you can? (evolutionary algorithms wouldn't have to be excluded from the research) Limiting what people could work on isn't a good idea but some lines of research have been tried and found wanting. People could be more useful by working in areas that most others in the group believed to be most promising. Unless someone is getting paid, however, it is difficult to force them to NOT work in an area they have interest in. Not all code would have to be included in the AGI design just because it was made. 4. what is the easiest way for people to contribute? how could existing algorithms be added easily? -neural networks -logic -existing knowledge bases I don't think the number of algorithms matters as much as getting some promising results quickly. Even some small promising results! what kind of results? I think making existing ones work in a framework would be a really good result by itself. (If other people can easily build on it and expand it in some way) 5. what kind of problems should be the focus first? -visual/real world robotics? -abstract problems? Is a blind person still intelligent? Can someone still be intelligent if they can't solve abstract problems? The better question is: can a person teach someone anything that doesn't understand your language? I think to build models that combine language/context and information would be a good place to start. 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? If no self-modification then you have to build all the intelligence into the data or people have to program the entire AGI by hand. Does either of these consequences appeal to you? If the parts aren't easily modified and you don't know exactly what might work, then the project doesn't have much chance. maybe the framework should focus on easily modifiable by humans, not the system itself. (So people can design their own self-modifiable parts, but it wouldn't be required) 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)? I suggest that models produce a set of coded patterns. These patterns could be accessed to get lists of models that produce similar patterns in other domains. Testing could be done using algorithms from the initial domain to help solve the problem in the new domain. I think generalization should occur
Re: [agi] My proposal for an AGI agenda
--- YKY (Yan King Yin) [EMAIL PROTECTED] wrote: On 3/23/07, rooftop8000 [EMAIL PROTECTED] wrote: Suppose there was an AGI framework that everyone could add their ideas to.. What properties should it have? I listed some points below. What would it take for you to use the framework? You can add points if you like. On 3/24/07, Jey Kottalam [EMAIL PROTECTED] wrote: I don't understand. Is the hypothesis that if we have enough people writing and contributing AI modules according to their conception of intelligence, and we wire up the modules up to each other, then AGI will {result, emerge, pop out}? The richer your set of algorithms and representations, the more likely the correct ones will emerge/pop out as you put it. I don't really like the idea of hoping for extra functionality to emerge. This doesn't sound like a feasible approach. And, if there isn't a coherent picture of how the modules are supposed to interact, how can you choose the design of infrastructure like the language, organization, and knowledge base? Because i think we need more than 1 knowledge base in the system, and more than 1 type of communication. Why should neuralnet-Bayesian talk use the same representation as communication between logic modules. But maybe making a framework that is general enough for all those things is impossible? This seems backwards, to choose a design for the infrastructure then fit an AGI design to the infrastructure. It's analogous to I don't know to build a house, but I know I want to use a sledgehammer to do it. :-) The framework should facilitate the collaboration, and not limit the things inside of it. I hope it's more like how do i build a house so everyone can live in it together I think Jey's comment is reasonable. It seems impractical to start a collaborative AI project without having an AGI design which specifies what modules are there and how they communicate. I hoped someone on the list was smart enough to find one A more conventional approach is to fix an AGI architecture and then recruit people to contribute the modules; but this requires people to agree on the architecture (knowledge representation etc), which is hard. We certainly have enough talented people here to build one AGI *if* we can agree on the theory. In reality, we don't, so the available manpower gets divided into small projects and becomes inadequate. Perhaps we can start a democratic / voting process to bring about collaboration? YKY my vote goes to any framework that is broad enough to make -rule based/ logic parts -parts with number-based neural networks etc -... and allows different parts to be developed independently and added easily The fish are biting. Get more visitors on your site using Yahoo! Search Marketing. http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php - 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: Environments and Languages for AGI [WAS Re: [agi] My proposal for an AGI agenda]
one chooses a decent option and gets on with it. -- Ben That's exactly the problem.. everyone just builds their own ideas and doesn't consider how their ideas and code could (later) be used by other people Looking for earth-friendly autos? Browse Top Cars by Green Rating at Yahoo! Autos' Green Center. http://autos.yahoo.com/green_center/ - 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] Fwd: Numenta Newsletter: March 20, 2007
You're just hoping you only have to do one thing so you can forget about all the other stuff that is required. No. I don't think that other stuff required can be done. This is the same reason I don't subscribe to SENS. I thought this was unlikely when I was a 15 year old, and I still think it's unlikely as a 40 year old. And if i could pick things that wouldn't be needed in a seed AI, it would be real-world vision and motor skills. I agree that understanding movement and Learning from the environment takes navigation in and active manipulation of the environment. The G in AGI doesn't stand for domain-specific. Yes, but software doesn't need to see or walk around because it lives inside a computer. Why aren't you putting in echo-location or knowing how to flaps wings? (I think those things can be useful to have, but i don't see how they are crucial in your seed-AI) I still think most of this AGI will have to coded by hand, and it will I don't think this is doable by mere humans. This is a few orders of magnitude below of what the maximum complexity ceiling is (tools only take you that far). If AI is numerics, Fortran+MPI would be enough. C would be arguably less painful. If AI is not numerics, you're equally screwed, whether this is Lisp, Erlang, Ruby or Fortran. I like to think it's possible 8:00? 8:25? 8:40? Find a flick in no time with the Yahoo! Search movie showtime shortcut. http://tools.search.yahoo.com/shortcuts/#news - 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
--- YKY (Yan King Yin) [EMAIL PROTECTED] wrote: On 3/20/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 [...] But you could always allow people to make their own critics (modules) in any way, as long as they are executable. So people can still use there preferred way of doing things and contribute. Singh described a central hierarchy of critics, but it will be probably be better to distribute it somehow, so different people can run their own hierarchy and communicate results over the web to other people (connecting different hierarchies into a big one) They can also fine-tune things (spend cpu-time on what they find interesting) and maybe locally test out their own critics. This can scale very well. People can offer their own modules for people to run and reflective critics will probably be designed that favor the most useful modules. Singh uses 1 type of representation for communication between all the modules. This isn't really necessary, you can use any data structure for critic to critic communication. But you'll need to make flexible ones for the critics you code, or people won't collaborate. Do you guys think all this makes sense? Are there any previous collaboration attempts like this that i should be aware of? Thanks Just one big question: are you way *overestimating* the number of people who could contribute such modules? Is your idea like, people contributing modules for face-recognition, fruit-recognition, license-plate recognition, etc, etc, and you join these modules together? What mechanism do you have to ensure that you would end up with a system that can recognize *all* things? It seems that you're taking the idea of online collaboration too far. (Please correct me if I've mistaken your position...) YKY I think splitting things up in small manageable modules will allow this. Not all the work is developing some killer learning algorithm, you also need a lot of modules in between that do simpler tasks For example simple translation modules or modules that handle connections to peers over the web... Modules that manage a knowledge database... I'm sure a lot of people can help. I am not sure this ends up being able to recognize all things. I will be happy to see a system where people can add their ideas ( new and existing) to with minimal effort, but thats a huge step in the good direction, i think I still have no idea how it could work though, ideas are welcome :) Food fight? Enjoy some healthy debate in the Yahoo! Answers Food Drink QA. http://answers.yahoo.com/dir/?link=listsid=396545367 - 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] Fwd: Numenta Newsletter: March 20, 2007
We've desintegrated into discussion minutiae (which programming language, etc.) but the implicit plan is to build a minimal seed that can bootstrap by extracting knowledge from its environment. The seed must be open-ended, as in adapting itself to the problem domain. I think vision is a reasonable first problem domain, because insects can do it quite well. You can presume that a machine which has bootstrapped to master vision will find logic a piece of cake. Trying to make a seed AI is the same as hoping to win the lottery. You're just hoping you only have to do one thing so you can forget about all the other stuff that is required. And if i could pick things that wouldn't be needed in a seed AI, it would be real-world vision and motor skills. I agree that understanding movement and diagrams and figures is essential to thought, but why would a computer program need to do recognize a picture of a chair or a picture of a horse or be able to track a flying bird in the sky? I don't think that's required for most problems. I also don't see how you get to all other thoughts from there? (Not that it can't be useful to have in your system..) Not necessarily the other way round. I understand some consider self-modification a specific problem domain, so a system capable of targeted self-inspection and self-modification can self-modify itself adaptively to a given task, any given task. I think there is absolutely no evidence this is doable, and in fact there is some evidence this is a Damn Hard problem. I agree. you can only do some minor self-modification if you don't fully understand your inner workings/code. I still think most of this AGI will have to coded by hand, and it will be a lot of software engineering and not the romantic seed AI or minimal subset of 10 perfect algorithms... Seems like people don't seem to want to put in all the energy and keep looking for a quick solution Get your own web address. Have a HUGE year through Yahoo! Small Business. http://smallbusiness.yahoo.com/domains/?p=BESTDEAL - 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
--- Ben Goertzel [EMAIL PROTECTED] wrote: rooftop8000 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 The Novamente core system actually does fits this description, but 1) the API is in some places inelegant, though we have specific plans for improving it 2) it's C++, which some folks don't like 3) it currently only runs on Unix systems, though a Windows port will likely be made during the next month, as it happens 4) it is proprietary If there would be use for such a thing, I would consider open-sourcing the Novamente core system, separate from the specific learning modules we have created to go with it. I would only do so after the inelegancies mentioned above (point 1) are resolved though. what kind of things does it contain that will facilitate a big collaboration? (because you only list the negative points) My own view these days is that a wild combination of agents is probably not the right approach, in terms of building AGI. Novamente consists of a set of agents that have been very carefully sculpted to work together in such a way as to (when fully implemented and tuned) give rise to the right overall emergent structures. The Webmind system I was involved with in the late 90's was more of a heterogeneous agents architecture, but through that experience I became convinced that such an approach, while workable in principle, has too much potential to lead to massive-dimensional parameter- tuning nightmares... not if you let everyone take care of their own piece of code. i think it is unavoidable to have a large degree of heterogeneity in the system (modules), if you want it to handle a wide range of problems. This gets into my biggest dispute w/Minsky (and Push Singh): they really think intelligence is just about hooking together a sufficiently powerful community of agents/critics/resources whatever, whereas I think it's about hooking together a community of learning algorithms that is specifically configured to give rise to the right emergent structures/dynamics. I agree. picking a small subset of algorithms gives you an easier and prettier system. But you can never make sure you have the right ones. Combining a lot of imperfect ones is just more likely to give a more powerful system. I'd love to hear more about what the Novamente core system can offer bye Food fight? Enjoy some healthy debate in the Yahoo! Answers Food Drink QA. http://answers.yahoo.com/dir/?link=listsid=396545367 - 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
I have seen multiple times where others have lamented an adequate platform that can be used for creating an AGI. One that has full introspection, speed, power tools, self programmability and extreme flexibility. I came to this conclusion about 3 years ago and have been creating that environment ever since. I think I have a tool that can create an AGI made up of multiple techniques while communicating at a high level in plain English. See my website for a short description of the capabilities of this development system. www.rccconsulting.com/goals.htm I think we should somehow allow people to use all the program languages they want. Why should people learn another language if they can code their ideas in a language they already know? (Not all modules have to introspective or fast to be useful). If modules can have different representations, why not allow different code too. A nice test for a collaboration framework is: how fast can you incorporate existing algorithms? In your case it will be very slow because 0. developing your system from scratch so it wont be perfect right away 1. people have to learn a new language 2. translating the code into a language other that the ones it is designed in usually make it worse/less elegant. But you could always allow people to make their own critics (modules) in any way, as long as they are executable. So people can still use there preferred way of doing things and contribute. This wouldn't allow at least some of the potential developers to work with modules created by the others. This would mean back to square one or close to it. You can use closed modules if you have meta-information on how to use them and what they do. It's like having an API and not worrying about the inner workings... It is easy to show that 1 rep isn't enough. However, binary interfaces (in general) require a huge overhead if many independent modules need to communicate (meta data communication and translators between modules etc). The best approach is to use a form of English IMO. An exception to this would be groups of low level models where large standard data structures (Objects) could work on sensory data etc. These groups of objects would contain a higher level interface in plain English to communicate with other modules. Why not use the communication that is easiest for the modules? If you have a NN module, let it output numbers; logic modules can output logic. You just have to make translation modules when necessary. It's here! Your new message! Get new email alerts with the free Yahoo! Toolbar. http://tools.search.yahoo.com/toolbar/features/mail/ - 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] structure of the mind
As has been pointed out in this thread (I believe by Goertzel and Hall) Minsky's approach in Society of Mind et seq of adding large numbers of systems then begs the question: how will these things ever work together, and why should the system generalize? How does adding auditory modules to our brain generalize anything? How does addinga new inference algorithm generalize anything? Because you have extra ways to process information, you can extract new information and build new modules around it. I don't see how adding information and code can be a bad thing (if you have enough cpu power), it will just make it more likely for the right subset to be part of your system I criticized it from this point of view in What is Thought? One way to try to handle the organization then is an economic framework. I thought the obvious equivalent of {economy and money} is information spreading. If you are a big player, a lot of other modules will take your outputs (information) and process it, giving you more influence overall. Useless information won't be further processed and will be a dead end in the system Now that's room service! Choose from over 150,000 hotels in 45,000 destinations on Yahoo! Travel to find your fit. http://farechase.yahoo.com/promo-generic-14795097 - 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
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 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). The first choice is probably: Do you choose for 1 programming language? Do you allow closed source systems as long as they can provide some service? I think push singh's framework is a very good starting point. Although i wouldn't choose LISP because there are too few people that know it and you'll need a lot of people. I think Java could be a good choice because it's the most used and has the most tools available. Although reflection and interpreting code are pretty hard in Java. And you can't just easily add/execute 1 line of code like in LISP or prolog, i think. So I'm not sure about this choice. But you could always allow people to make their own critics (modules) in any way, as long as they are executable. So people can still use there preferred way of doing things and contribute. Singh described a central hierarchy of critics, but it will be probably be better to distribute it somehow, so different people can run their own hierarchy and communicate results over the web to other people (connecting different hierarchies into a big one) They can also fine-tune things (spend cpu-time on what they find interesting) and maybe locally test out their own critics. This can scale very well. People can offer their own modules for people to run and reflective critics will probably be designed that favor the most useful modules. Singh uses 1 type of representation for communication between all the modules. This isn't really necessary, you can use any data structure for critic to critic communication. But you'll need to make flexible ones for the critics you code, or people won't collaborate. Do you guys think all this makes sense? Are there any previous collaboration attempts like this that i should be aware of? Thanks - Finding fabulous fares is fun. Let Yahoo! FareChase search your favorite travel sites to find flight and hotel bargains. - 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