Tuesday, June 5, 2012

Experimental programming

A major portion of AI (and computer science in general) is experimental programming.  It's surprising then that there is no good monograph on the subject. (There is chapter 6, Towards a Discipline of Exploratory Programming, in Partridge's book Engineering Artificial Intelligence Software, Intellect, 1992.)  One could at least write a history of what's been done in the past.  This might suggest some paths forward.  Such a history might include:

experiments with various algorithms
specialized languages like:  LISP
                                             PROLOG    ---    and logics
                                            OPS 5/CLIPS   ---   rule based systems
                                            NIAL   ---   diagrammatic and spatial reasoning
IDEs
parallel computing efforts
networks
flowcharts  ---   UML
various architectures
search of various sorts
incremental software development

One can obviously experiment by:

changing architecture
changing algorithms
changing language used  (which language is best for which task? what features of each
language are important for what?)
adding pieces, functionality (incremental development)

The KADS methodology is one source of information about what architecture or algorithm to use for what task.

No comments:

Post a Comment