Re: Intelligent Agents......

2004-02-15 Thread Chipp Walters
Hi Alain,

Thanks for the synopsis. How would you see a very basic agent as being 
able to accomplish all of what you said, in RunRev?

Do you typically need self-modifying code? If so, aren't RR's script 
limits somewhat of a problem. Also, how do IA's differ with Neural 
Nets? Expert Systems? Genetic Algorithms?

I'd be interested in seeing a very simple IA implemented to do 
something (find the best price online for a product) using RR. Do you 
know of such an example?

Thanks,

Chipp

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard


Re: Intelligent Agents......

2004-02-15 Thread Pierre Sahores
Hi Alain,

Many Thanks too, from Paris, for your previous post.

I'm associating me to the Chipp's second question : how could we gohead 
with good practices to design and code to life a small team of 
intelligent agents in MC/Rev ?

There is, among some other great books about Artificial Life, an 
usefull title, unfortunally only available in french, i'm refering all 
the time, in about this matter : Vie Artificielle by Jean-Philippe 
Rennard. Editions Vuibert Informatique. 2002, 408 pages.

Le 15 févr. 04, à 09:40, Chipp Walters a écrit :

Hi Alain,

Thanks for the synopsis. How would you see a very basic agent as being 
able to accomplish all of what you said, in RunRev?

Do you typically need self-modifying code? If so, aren't RR's script 
limits somewhat of a problem. Also, how do IA's differ with Neural 
Nets? Expert Systems? Genetic Algorithms?

I'd be interested in seeing a very simple IA implemented to do 
something (find the best price online for a product) using RR. Do you 
know of such an example?

Thanks,

Chipp

Bien cordialement, Pierre Sahores

100, rue de Paris
F - 77140 Nemours
[EMAIL PROTECTED]

GSM:   +33 6 03 95 77 70
Pro:   +33 1 41 60 52 68
Dom:   +33 1 64 45 05 33
Fax:   +33 1 64 45 05 33
Inspection académique de Seine-Saint-Denis
Applications et SGBD ACID SQL (WEB et PGI)
Penser et produire delta de productivité
___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard


Re: Intelligent Agents......

2004-02-15 Thread jbv


Pierre Sahores a *crit :


 I'm associating me to the Chipp's second question : how could we gohead
 with good practices to design and code to life a small team of
 intelligent agents in MC/Rev ?

Same interest here...

 There is, among some other great books about Artificial Life, an
 usefull title, unfortunally only available in french, i'm refering all
 the time, in about this matter : Vie Artificielle by Jean-Philippe
 Rennard. Editions Vuibert Informatique. 2002, 408 pages.


As for books on that topic, I can recommend :

http://www.amazon.com/exec/obidos/tg/detail/-/0679743898/qid=1076866332/sr=1-1/ref=sr_1_1/102-3097674-2174534?v=glances=books

a bit verbode at times, but a good survey

and
http://www.amazon.com/exec/obidos/tg/detail/-/0262631857/qid=1076866054/sr=1-1/ref=sr_1_1/102-3097674-2174534?v=glances=books

great introduction - a few years back I tried to reproduce some
of the experiments described in that book with OMO and MC...

Best,
JB

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard


Re: Intelligent Agents......

2004-02-15 Thread Alain Farmer
Hello,

 How would you see a very basic agent as being 
 able to accomplish all of what you said, in RunRev?

This is one of those 64,000 dollar questions of AI,
but let me just allude, for now, to several MC
features that could be useful to us :

* MetaCard multi-platform deployment (serverside as
well as clientside) makes it a very good candidate for
widely distributed agent-based achitectures. As good
as Java for what we need, but a *LOT* less complicated
than Java for most people.

* MC's web-savvy-ness makes it an excellent for
crafting web-based agents. This is *extremely*
relevant given the importance and spread of the
Internet. Every agent based system currently in the
running, and all those that will follow, need to be
web-savvy. There's no get around this constraint.
Without the web, you're out of the game from the very
start.

* In case some of you don't know, MC's web-savvy-ness
is not limited to getting URLs. It goes as deep as
creating your own web protocol with [secure] sockets.
Instead of HTTP or FTP, we could have an agent
protocol; something like this :

agent://ufp.uqam.ca/dispatcher

The proverbial HTTP protocol was designed to
accomodate the many needs of hypertext. FTP was
optimized for quick file transfers. And so on... Our
AGENT protocol would be optimized for
knowledge-exchange and agent-coordination.

* The try .. on error.. control structure which
allows a handler to catch its own errors and execute
meta-code that can fix the problem, allowing the agent
to continue with its on-going mission. As a bonus, it
also optimizes performance because it always tries to
do the best thing first  handles exceptional stuff
exceptionally. No un-necessary if .. then ..
pre-processing.

* MC features GREP, which allows agents to smartly
parse informally-structured information. Locating
links inside web pages with the help of GREP is a
cinch, which means that it s very very easy to create
a hyper-bot, with MC, that traverses the web as easily
as any web-indexing bot can.

* Several people on this list have crafted some
XML-RPC stuff from within MC. I am presently seeking
some help in this regard. Ian Gordon was kind enough
to point me in the right direction, albeit I've not
had enough time to follow up on it yet. My development
team is about to embark on the open-source development
of some XML-RPC capabilities for MetaCard, including
compatibility with the blogger API. With the latter
our agents will be able to inter-operate with blogs,
wikis, and other opensource wares that are very hot
right now. In general, XML-RPC capability will allow
us to send Remote Procedure Calls to any program that
supports XML-RPC, e.g. *LOTS*

 Do you typically need self-modifying code?

Not necessarily. On the one hand, self-modifying code
is so dangerous that most operating systems don't
allow em to do this. On the other hand, life and
intelligence are self-modifying... it's what gives
these 'systems' their strength, you might say. I don't
have any easy answer[s] for this issue [yet] ...
except one, perhaps. We script the agents so that
their 'thinking' is data-driven, and their behavior
determined at runtime. In plain english, we script the
hooks, but all of the [operational] info is stored in
external files, fetched by URL, etc. Only these
external sources change; not the program itself.

 If so, aren't RR's script limits
 somewhat of a problem.

Yes. That's why an open source (LGPL) alternative to
the MC engine, e.g. FreeCard, is still a crucial
project for the xCard community.

 Also, how do IA's differ with Neural Nets?
 Expert Systems? Genetic Algorithms?

Neural Nets, Expert Systems, Genetic Algorithms are
some of the ways that cognitive scientists have
attempted to model intelligence with computers. They
each have their merits and their shortfalls. None are
as effective as we would like them to be. But there is
no need to *choose* one at the expense of the others.
Each agent's internals are irrelevant at the social
level. One agent can be an expert system, another
implemented as a neural net, etc. At the social level,
where the agents interact with each other, a diversity
of implementations is even desirable, because then the
agents could collaborate in such a way that they
complement each other, e.g. the shortfalls of one
agent systemically compensated for by the different
strengths of the other agents.

 I'd be interested in seeing a very simple IA
 implemented to do something (find the best
 price online for a product) using RR. Do you 
 know of such an example?

I have a HyperCard-based example of a forward-chaining
rule-based inference engine. It's very very simple to
understand and to use; so much so that you may not see
how ths is different from traditional scripting. Here
is the URL just in case your interested :

http://pan.uqam.ca/cgi-bin/usemod/wiki.pl?Electronics

Are we having fun yet ?  ;-))
-- I am.

Alain F
The UFP guy

__
Do you Yahoo!?
Yahoo! Finance: 

Re: Intelligent Agents......

2004-02-15 Thread Richard MacLemale
I apologize in advance for the length of my post!

I've been following the AI discussion with GREAT interest.  I've always
wanted to write some server based software using metacard that would control
a simulation that teams of 8 people on separate computers on a network would
interact with.  AI is not necessarily mandatory but the more complex the
program, the cooler the simulation would be.

Specifically, this:  Years ago, when I was a 5th grade teacher, we took our
kids to the Museum of Science and Industry in Tampa, FL (MOSI) and they had
a space ship simulator - the kids dressed up in pseudo astronaut type
outfits, like flight suits, that fit on over their clothes, and then they
went into this room that looked like the bridge on the Enterprise, in the
sense that it had different workstations that did different things.  Kids
paired up and they wore headphones with microphones.  Each station had a set
of directions... One station operated a robotic arm that was outside the
spaceship and you could see it out the window (really it was in a closet
set up to look like the surface of the moon, with a robotic arm.  Instead of
a closet door, there was a door with a window in it, and the door was worked
into the wall so that you didn't know it was a door.)  Each station did
something different, and all stations had controls and monitors.  Over your
headphones, mission control would tell you to do certain tasks, and the
card instructions told you how to do them.  You and your partner had to
accomplish the tasks.  It was AWESOME.  It was also expensive.  At the time,
pretty much all of the stations were Apple IIGS computers.  And mission
control was a separate room, manned by 4 people - they'd be talking to the
teams in their mics and switching between teams and they used several
Macintosh computers to monitor the progress of the teams.  And those 4
people had to be on their toes, obviously, because the kids would do
unpredictable things - mistakes they had not anticipated.

It left a huge, lasting impression on me, because it was educational and it
was extremely fun!  It was learning and playing and acting and just about
the coolest thing I'd ever seen as a teacher.  I thought about how cool it
would be to be able to put something like that together, but obviously it
was too expensive.

Fast forward to now.  For a couple of years I've thought about how cool it
would be to write software that would do something similar to what MOSI had.
On one level, it could be done purely as entertainment - get 6 people on six
computers in one lab, get six people on six computers in another lab, and
they're each on a ship.  Naturally they'd do battle, hiding from each
other behind planets, and whatnot.  Each station would have directions, and
each team would have a Captain.  To be a captain, you'd need to
participate in each position at least once and achieve a minimum score -
the server program would track the response time and decision making of each
person and assign a score for that position.  The person with the highest
score would be the Captain, though you could work out some other system.
The server program would throw in random elements like suddenly appearing
hostile ships and whatnot.  This would be an OUTSTANDING project for some of
our seniors to put together - writing the code, designing the stations,
filming video to be triggered by the server program when a hostile ship
shows up out of nowhere (You know, wearing an alien mask and screaming We
will DESTROY your SHIP into the camera.)  What could be more fun?

OR I could see writing something more like the original MOSI simulator, and
selling a kit with the software installers for Mac or Windows.  That would
make money but would not be as much fun.

Anyway, Alain's post got me thinking of how the server software might
operate...  Great discussion here.  I think everything I stated above could
be done in MetaCard (or Revolution.)

-- 
:)
Richard MacLemale
Network Administrator
J. W. Mitchell High School

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard


Re: Intelligent Agents......

2004-02-15 Thread Alain Farmer
Hello Richard MacLemale and y'all,

 I've been following the AI discussion
 with GREAT interest.

Excellent, we seem to be generating a groundswell! :))

 I've always wanted to write some server
 based software using metacard ...

For years now, it's been possible to create
server-side CGI programs with MetaCard (and other
xCards too). But our agent idea takes this much
further. Imagine P2P MC programs that communicate via
the internet, with other [MC] clients that support
XML, XML-RPC and blogger API.

 ... that would control a simulation that teams
 of 8 people on separate computers on a network
 would interact with.

This will indeed be do-able with the [agent] software
we're using and developing. Why not! The essence of it
is that we will have the ability to coordinate MC pgms
via the web. All kinds of distributed architectures
will become possible.

 AI is not necessarily mandatory but the more complex

 the program, the cooler the simulation would be.

Agreed. You don't necessarily need AI to do it, albeit
it might be a big plus when it comes to modelling the
systemic impacts of the interactions of all the
players.

 Specifically, this: Years ago, when I was a 5th
 grade teacher, we took our kids to the Museum of 
 Science and Industry in Tampa, FL (MOSI) and they
 had a space ship simulator

Very interesting!  :))

 One station operated a robotic arm that was
 outside the spaceship and you could see it
 out the window... Each station did something 
 different. All stations had controls  monitors.

Long ago, I scripted some automation stuff with the HC
Serial Port Toolkit (for HyperCard). The toolkit was
basically an XCMD to control one/both the serial
ports. Does MetaCard or Rev have a similar XCMD to
control the serial ports of various computer hardware
(PC and Mac), while maintaining cross-platform
compatibility? If not the *serial* port, then perhaps
another port? (USB, for example). The point, of
course, is that with this XCMD (or whatever) we could
script automation applications.

 It was AWESOME.

Sounds like a b-l-a-s-t indeed!  :))

 It was also expensive.

It will still be expensive if and when it is
implemented as a coordinated set of MetaCard programs,
but at least the programming will be cheap, which is
not negligeable in these ambitious types of projects.
You still need the stations (cheaper these days), the
location, the robotic stuff, as well as all the
audiovisual material. Don't be discouraged by this,
however. Forge ahead!

 they used several Macintosh computers
 to monitor the progress of the teams.

It would be interesting to find out whether they were
using HyperCard for their scripting.  ;-)

 And those 4 people had to be on their toes,
 obviously, because the kids would do
 unpredictable things - mistakes they had
 not anticipated.

This is where AI might be helpful.

 It left a huge, lasting impression on me, because
 it was educational and it was extremely fun! It was 
 learning and playing and acting and just about the 
 coolest thing I'd ever seen as a teacher.

I am sure students of many ages might be thrilled with
such an extremely fun way to learn. :)

 I thought about how cool it would be to be able to
 put something like that together, but obviously it
 was too expensive.

Using an xCard makes every project seem do-able! ;-)

 Fast forward to now. For a couple of years
 I've thought about how cool it would be to
 write software that would do something
 similar to what MOSI had.

Do it!  :)

 On one level, it could be done
 purely as entertainment ...

Good way to get *funding*.  ;-)

 the server program would track the response time
 and decision making of each person and assign a
 score for that position.

Another area where AI might be helful : user modeling.

 The server program would throw in random elements
 like suddenly appearing hostile ships and whatnot.

Or just random in appearance, in order for the
teacher to spike the game towards situations where
learning will take place [optimally]. 

 This would be an OUTSTANDING project for some of
 our seniors to put together - writing the code,
 designing the stations, filming video to be
 triggered by the server program when ...

Are you in a position, as teacher, to locate and
create such apprenticeships? Can you put such a team
together?

 What could be more fun?

Especially for Trekkies!  :))

 OR I could see writing something more like the
 original MOSI simulator, and selling a kit
 with the software installers for Mac or Windows.
 That would make money but would not be as much fun.

Making money is important too. You choose what is best
for you. Personally, I'm inclined to release
EVERYTHING that I craft as open-source (LGPL),
resorting instead to contracts to earn my living as a
value-added consultant. The kicker: I'm increasingly
successful at persuading my clients to pay me for my
work but to release the results to the open-source
community; [strategic] wares and all. It is in their
best interest as well 

Re: Intelligent Agents......

2004-02-15 Thread Chipp Walters

I have a HyperCard-based example of a forward-chaining
rule-based inference engine. It's very very simple to
understand and to use; so much so that you may not see
how ths is different from traditional scripting. Here
is the URL just in case your interested :
http://pan.uqam.ca/cgi-bin/usemod/wiki.pl?Electronics

Alain, any chance your stack (and/or the accompanying stack on Neural 
Nets) be converted to RR? I'm mostly on PC and don't have HC. I don't 
know how much trouble it would be, but if it's easy...

Are we having fun yet ?  ;-))
-- I am.
I'm too.

Chipp

___
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard