Hi Andi,

I too have thought about using the human/computer
interface as sensors and actuators for an AI.  This
would accomplish a few things:  1. Grounding of
symbols in a real world that is mostly symbolic and
precise to begin with.  2. Behaviors and actions could
be developed that are useful to the AI developer as
well as end users.  3.  The sensor and actuator
components can be derived from GUI test tools as you
indicated.

Some years ago I evaluated and used GUI test
components on the Windows platform.  It is not too
hard to get information about each window, to acquire
the content of text fields, and to insert
window/keyboard/mouse events into the Windows event
handler.  But nowadays I am strictly Linux.  I've not
taken the time to look at the details, as my project (
http://sf.net/projects/texai ) is far from the point
of hooking up sensors and actuators.  But I would look
beyond java.awt.Robot because the facility you
describe should be applicable to the full range of
GUI/keyboard/mouse percepts and actions available to
the human user.  To me, this means OCR (optical
character recognition) at the framebuffer level
because many GUI tools on Linux perform their own font
rendering; the operating system frequently cannot
determine the text contents of a window.  

A waypoint on the path to achieving this goal would be
sensors and actuators that plug into the OS and
application API's that populate a computer desktop. 
So for starters I am thinking about a sensor for
computer performance, memory utilization, running
processes, etc.  A comparable actuator might be to
launch an optional subtask, or to adjust priority. 
These simple things could ground an AI's notion of how
it is running on a particular computer.

Thanks for raising this issue that I've already
thought some about.
 
-Steve

--- Andrew Babian <[EMAIL PROTECTED]> wrote:

> I wrote:
> > > I just had a notion.  The proper sensory input
> and motor output for an AI is
> > > the computer screen (and sound input and regular
> keyboard and mouse input). 
> > > One thing that needs to exist is a freely
> available standard API for these
> > > things, so people can work on them, plus
> implementations for the platforms
> > > that people use.  My hope is that it would give
> different researchers,
> > > especially all those lone wolves out there,
> something intercompatible to work
> > > with. It also seems possible that this could be
> a common mechanism for the
> > > different systems to
> > > work together, in a sort of extension of the
> Blackboard model.  And, as a
> > > lighter element of it, I'd really like it if
> these projects could use video
> > > games, because they more and more have become
> very sophisticated real-world
> > > modelling tools.
> > > andi
>  
> And Richard Loosemore asked for clarification:
> > Can you be more specific about what this would
> entail?  I can think 
> > of several interpretations of what you say, but am
> not sure which 
> > you mean.
> 
> Well, if you can think of several interpretations,
> then why don't you pick one
> you like?
> 
> I was thinking along the lines of java.awt.Robot.  I
> only had a vague
> recollection of it, and I never used it, and looking
> at it again now, I think
> it is exactly what I was thinking of.  Another
> reason I thought of it is that
> Stan Franklin's Ida model uses e-mail as a sort of
> sensory-motor and that's a
> kind of subset of this notion.  It seems like the
> standard reactions people
> have when they wonder what an artificial
> intelligence is going to do is either
> sit in a box and answer questions or control a
> physical robot clunking around
> the world.  I would simply propose that one other
> useful answer is to control
> and use a computer the way a person might control a
> computer.  This would mean
> that it could use all manner of existing tools to
> multiply whatever power its
> additional "intelligence" adds.
> 
> But one of the tricky bits of the idea is having
> something sufficiently
> general and useful enough to make a contribution. 
> As I mentioned, there is a
> Java class that does the kind of thing I'm
> interested in.  And it's probably
> straightforward to have this kind of thing in other
> imperative languages.  But
> how would you have a neural network system interface
> to it?  I don't know,
> maybe the API idea is foolish.  I've never tried to
> design one, so I don't
> particularly know what's involved or if it's even a
> good idea.  The really
> basic functions I would expect are an ability to
> capture a piece of the
> screen, to control the mouse, and input keyboard
> events.  I think a very
> valuable addition would be to discover a character
> (or piece of text) that's
> at a particular location, so reading in text from a
> screen would be easier. 
> We have to do this to use a computer and any agent
> using a computer would need
> to do this anyway, so it would be just more useful
> to add that in at the
> beginning.  Unfortunately, that could be a tricky
> bit of code, but it is miles
> away from OCR, so it isn't unreasonable.  I also
> mentioned having access to
> the sound streams.  People can get away with not
> using the sound on a
> computer, so clearly it wouldn't be necessary for an
> artificial agent using it
> to use it, but it might make a valuable addition. 
> And it might a useful
> feature if part of this interface enabled an AI to
> simply watch what a person
> (or conceivably another agent) was doing, which
> could open opportunities for
> some kind of instruction or learning.
> 
> andi
> 
> -----
> 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/[EMAIL PROTECTED]
> 


__________________________________________________
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/[EMAIL PROTECTED]

Reply via email to