Studying Artificial Intelligence

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Studying Artificial Intelligence

Thiago Silva-4
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
Reply | Threaded
Open this post in threaded view
|

Re: Studying Artificial Intelligence

Herbert König
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
Reply | Threaded
Open this post in threaded view
|

Re: Studying Artificial Intelligence

cedreek
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
Reply | Threaded
Open this post in threaded view
|

Re: Studying Artificial Intelligence

Ryan Mitchley
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
Reply | Threaded
Open this post in threaded view
|

Re: Studying Artificial Intelligence

Karl-19
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
Reply | Threaded
Open this post in threaded view
|

Re: Studying Artificial Intelligence

Thiago Silva-4
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