Tuesday, August 24, 2010

Why GUIs are Important in AI Design

what IDE do you use to develop software?  i hope it's not exclusively command-line tools.  modern IDE's provide a lot of convenience which improves the quality and speed of development: syntax highlighting, code completion, visual debugging, etc

so if you're using an IDE like NetBeans or Eclipse, then your interface to Genifer, for example, is ALREADY through a GUI (though indirectly).

if you understand this, you'll see why i think it's important to consider the GUI's we use to develop AI. 

btw some people need some visualization to think.  i consider your comment that GUIs are only important after the 'back end' is finished to be "logic-based thinking chauvinistic"

On 08/24/2010 04:52 PM, Abram Demski wrote:
I am currently using text editor command-line, because Lispers typically fall back on Emacs and I am not very interested in that... :P
check this out:  http://www.pawfal.org/fluxus/

I think it's sad that there are not better Lisp environments out there... I used to use Powerlisp, which was nice in many ways but too old to be stable (and no longer in development).
for the most modern LISP-like environment that i'm aware of, i suggest to look at NetBeans + Clojure


I dislike project-oriented environments, which means almost all IDEs... :P

For Lisp, I'd love an environment which was closer to an "edit and save the memory" model rather than "edit and save and execute text". ("Save the memory" meaning "save a text file containing defuns and setqs to restore the current memory state.) Obviously for large software projects you;d need more than this in terms of project management, but for rapid prototyping, that'd be nice. Imho.
well, this is our opportunity to build that!

On 08/24/2010 05:30 PM, Abram Demski wrote:
The SOAR group recently did some interesting IDE work, too... basically, rather than really editing text, they now edit database entries corresponding to SOAR rules (which looks like text while you're editing it). I don't know a whole lot about it, though.
thanks for the pointer, seems interesting. here's what i could find on SOAR's IDE:
if you can send any more information about it, i can take a closer look

also check out jACT-R, a java imlementation of the ACT-R cognitive models:

Fluxus looks interesting...

If we can built something like that, that would be great.
Fluxus (written in C/C++) embeds its own LISP engine which is tightly integrated with an OpenGL draw loop.

JOGL provides a native OpenGL interface for Java.

in my latest commit i added a simple browser panel:


which shows facts and rules.  it uses different colors and font sizes to show the relative probability of each fact.

here is a screenshot running from YKY's latest test group:

1 comment:

  1. What's wrong with Emacs? Perhaps it's just a prejudice since I know only one side of the fence, but I believe that Emacs is more easily programmable and faster than Eclipse. You can tailor it to your needs.

    The standard Soar IDE is not the Eclipse plugin that you linked to, but part of the standard distribution to be found on http://sitemaker.umich.edu/soar/home . It provides project-oriented tools going beyond the Soar engine, like a form of type-checking (that rules conform to the schemas defined for the memory store).