Hello,
I was wondering if there is any squeak project/tool targeted at AI students, anything that could help illustrate/express basic concepts on knowledge representation, expert systems, etc. I have been looking for something like this for a few days and, being new to squeak, I'm afraid I might be looking at the wrong places. Thanks in advance, -- Thiago Silva, mailto: tsilva at sourcecraft info jabber: [hidden email] http://sourcecraft.info/blog _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Hello Thiago,
TS> I was wondering if there is any squeak project/tool targeted at AI TS> students, anything that could help illustrate/express basic concepts TS> on knowledge representation, expert systems, etc. I have been looking I have found nothing about AI, closest to your goals are neural networks. There is a Squeak binding to the FANN library (fast artificial neural network) on Sourceforge. Luciano Notarfrancesco has done some work (Google for NeuralNetworks.cs.gz and the name). This imho was done for self study so may be the closest to your needs. I have implemented a kind of self organizing feature map which I use in a commercial app for quality testing. I'm free to distribute this but it's not aimed at studying. I'm interested in what you'll decide, so if you don't mind, keep me posted. Cheers, Herbert mailto:[hidden email] _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by Thiago Silva-4
Hi
> > I was wondering if there is any squeak project/tool targeted at AI > students, anything that could help illustrate/express basic concepts > on knowledge representation, expert systems, etc. Not really at the moment as far as I know... They were an expert system callad Neopus but it was on vw 2.5. I think it never has been ported to squeak and If I remember well the author is ok (http://www-poleia.lip6.fr/~fdp/NeOpus.html) Also, in the same period there were backtalk, a CSP. Backtalk has been used in squeak recently in 2006, there is a squeaksource projet but alll is not usable (http://lists.squeakfoundation.org/pipermail/announcements/2006-May/000033.html)... Maybe SOUL (Smalltalk Open Unification Language) can help too. It has also been ported to squeak but just don't know how to use it... It's about Declarative Meta Programming. Project is here : http://www.squeaksource.com/SqueakSoul.html. A self explaining site (http://prog.vub.ac.be/DMP/index.html). I don't think it's IA as you expect, but propbably interesting to have a look at. Cheers, Cédrick ps: hopefully, I'll port NARS to squeak this summer ;-) (http://nars.wang.googlepages.com/) _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by Thiago Silva-4
Hi Thiago I think there used to be a Squeak Prolog somewhere, but I'm not sure where it went or if it's compatible with the current images (I'm pretty new to Squeak myself). That could certainly form the basis of an expert system in Squeak. There's a Prolog interpreter written in OMeta (http://www.cs.ucla.edu/~awarth/ometa/ometa-js/prolog.html) and JavaScript, desribed in the "STEPS Toward The Reinvention of Programming" paper (http://www.vpri.org/pdf/steps_TR-2007-008.pdf). It shouldn't be too hard to turn those into working Squeak code. Of course, vanilla Prolog is lacking some features that would make it useful for general purpose AI, e.g. reasoning under uncertainty, notions of time and sequence, constraints. I think the idea of classes simplifies reasoning under uncertainty, since they make the dependence amongst rules and terms much more explicit (solving the "frame problem" to some extent... i.e. the normal problem with Bayesian reasoning is that joint probabilities grow exponentially with the size of the system being modeled). I hope someday to spend some time implementing a kind of Agent oriented AI, where an Agent is defined as an object with goals, knowledge, and means to achieve those goals using that knowledge. Learning involves the assertion and retraction of meta-knowledge... (I think it was the extremely interesting SOAR project that viewed learning as chunking - i.e. learning is simply a way of pruning the search tree through the use of inferred meta-productions). The reflective and meta-programming features of Smalltalk makes collaboration amongst agents much easier - since agents can describe their own abilities (I guess methods and behaviours). This is, of course, if you're on the symbol-processing side of the AI fence... (although, it's interesting to note that neurons and rules have a similar N-in, 1-out structure. I like to think of a rule base as converged neural network :) Anyway, I just need to get rid of my full-time engineering job so that I can actually explore these ideas someday! Ryan -- View this message in context: http://www.nabble.com/Studying-Artificial-Intelligence-tp16044540p16048127.html Sent from the Squeak - Beginners mailing list archive at Nabble.com. _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by Thiago Silva-4
Ryan Mitchley wrote:
> Hi Thiago > > I think there used to be a Squeak Prolog somewhere, but I'm not sure where > it went or if it's compatible with the current images (I'm pretty new to > Squeak myself). That could certainly form the basis of an expert system in > Squeak. > There is a Squeak prolog version here: http://wiki.squeak.org/squeak/1000 Karl > There's a Prolog interpreter written in OMeta > (http://www.cs.ucla.edu/~awarth/ometa/ometa-js/prolog.html) and JavaScript, > desribed in the "STEPS Toward The Reinvention of Programming" paper > (http://www.vpri.org/pdf/steps_TR-2007-008.pdf). It shouldn't be too hard to > turn those into working Squeak code. > > Of course, vanilla Prolog is lacking some features that would make it useful > for general purpose AI, e.g. reasoning under uncertainty, notions of time > and sequence, constraints. I think the idea of classes simplifies reasoning > under uncertainty, since they make the dependence amongst rules and terms > much more explicit (solving the "frame problem" to some extent... i.e. the > normal problem with Bayesian reasoning is that joint probabilities grow > exponentially with the size of the system being modeled). > > I hope someday to spend some time implementing a kind of Agent oriented AI, > where an Agent is defined as an object with goals, knowledge, and means to > achieve those goals using that knowledge. Learning involves the assertion > and retraction of meta-knowledge... (I think it was the extremely > interesting SOAR project that viewed learning as chunking - i.e. learning is > simply a way of pruning the search tree through the use of inferred > meta-productions). The reflective and meta-programming features of Smalltalk > makes collaboration amongst agents much easier - since agents can describe > their own abilities (I guess methods and behaviours). > > This is, of course, if you're on the symbol-processing side of the AI > fence... (although, it's interesting to note that neurons and rules have a > similar N-in, 1-out structure. I like to think of a rule base as converged > neural network :) > > Anyway, I just need to get rid of my full-time engineering job so that I can > actually explore these ideas someday! > > Ryan > > > > _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Thank you, everyone, for the kind replies.
I will have a look at the FANN lib and Prolog implementations, specially, the Prolog OMeta implementation (I've considered the use of OMeta before but I wasn't aware of a Prolog implementation). Thank you, -- Thiago Silva, mailto: tsilva at sourcecraft info jabber: [hidden email] http://sourcecraft.info/blog _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Free forum by Nabble | Edit this page |