What if artificial intelligence was a natural outgrowth of the work we do all the time? what would happen would be that UI's would be programmed looser and looser over the years, slowly able to handle more and more variable input. It would be the natural way we organize software. Instead of making software tighter and tighter with validation rules and strong typing, the typing and validation would become more relaxed, there would be fewer and fewer types, or maybe as many types but they (types) would become more and more
complex and powerful.
It would start with parsers to handle numbers and dates in different formats, simple commands in many guises. For example, programs would allow 'bye', 'logout', 'quit', 'log out' and other forms of the program closing command. It would continue with richly embedded characterizations of words so that different programmers would add characterizations and use the ones they needed. Ways would be discovered to merge things rather than having them precisely separate.
Major projects would get going to use this foundation of variability tolerance to give programs an idea of what was going on, then after a while there would be projects focusing on various computer cognition design models. Various different models of cognition would be tried and the few that really worked well would be expanded on. People would expect some level of actual intelligence from programs. It wouldn't be human intelligence, it would be very much stronger in some areas and very much weaker in others. Artificial intelligence would be a day to day thing.
So why has this not happened? Well, for one thing, we as programmers want everything nailed down very tight, with specific objects, validation rules, and strong typing. second, we don't have a standardized way of merging concepts. For another most software is proprietary so the base of intelligence artifacts that would have been built up over the years is prevent. Another problem is no standardized way to combine intelligence artifacts.
The endeme data structure would solve some of these problems. It allows both definition of meanings and matchability between meanings. An endeme is a partcular instance of a combinable orderable list of meanings. For example the list of your three favorite colors in order is an endeme and color and shape are endeme sets. Figuring out how to stack endemes and relate endemes of different endeme sets is something I am still working on, but if thousands of programmers had been working with them for the last 30 years we would have figured it out.
My (half baked) proposal:
July 2010
April 2010
March 2010
February 2010
January 2010
August 2009
July 2009
June 2009
May 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
March 2008
February 2008
January 2008
November 2007
September 2007
August 2007
July 2007
March 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006