Wednesday, December 30, 2009

Monkeys, Queens and Cats

Greetings:

[Short rant]

I have been doing AI type work since the late 80's (seems like only yesterday) and, like most who start in AI work or any kind of programming, we start with very simple problems. The first is always the ubiquitous "Hello World" program. The second, if you are learning inheritance or something of that nature, is checking to see if a child is a grandchild of another person or object or checking to see if this object or person is human or a toad and therefore has five fingers on each hand. Something like that.

For most who use rulebase tools we learn (or were supposed to have learned) the problem of how to help direct a monkey to find bananas to satisfy its hunger OR we learn how to solve the constraint problem of four, eight or sixteen queens on a chess board so that they none can capture the other one. The other one (thanks to the Monday night CBS TV series of "The Big Bang") is Schrodinger's cats. I really do think that these are excellent problems for initial learning experience in our little world of AI or its subset of rulebased systems.

Also, I consider MAB the best teaching tools for AI that we have - but it is, after all, a teaching tool for AI geeks, not something that the normal person outside of AI would ever consider. My Daddy used to say that people who do things like that are Educated Idiots or just Book Smart - meaning that they could solve complex problems in class but couldn't hammer a nail into a board nor saw a straight line and, therefore, useless in the real world.

The objection with continuing to solve and/or teach these problems is that once we have done them in class we tend to use them over and over and over in more advanced discussions as though we could not think beyond the beginner level of thought. Whenever we have to explain something outside of our close circle of friends and workmates, we always run back to our "comfort zone" and show "Hello World" or MAB. Also, to those outside of AI, who have never had to solve anything more complex than balancing their checkbooks, these problems seem rather silly and beyond the ken of the ordinary mortal and therefore not something for every day life.

PLEASE! Let's try and bring something to the table that (1) the ordinary mortal can understand and (2) that possibly has some real-world application(s). For example, what if we (a) had a problem in forecasting, or (b) a problem of finding a terrorist in L.A. or (c) how to process fluid flow in a petro-chemical plant so that we ensure that it will not blow up [and what to do if there is that possibility] or (d) complex shift scheduling or maintenance crew assignment or (e) complex resource assignment in a large manufacturing plant or (f) how to configure specialty helicopters?

OK, these are just thoughts. But if we, the AI community, can begin to establish some better examples then maybe we can be accepted and assimilated into the mainstream river of human thought. Maybe...

SDG
jco

Sunday, December 6, 2009

Sunday Ramblings

Greetings:

I just went to the following link that was sent to me by a friend:

http://java.sun.com/developer/media/deepdivejavawarehouse.jsp

It is, indeed, refreshing to see the older guys teaching the younger guys in a Sun-sponsored video. Having children (anyone less than 30) teaching a class should be an anomaly, not a normal thing. While we older troops should be enjoying our advancing years, at the same time we should recognize that we have something to contribute back to those same "children" who are still struggling with undocumented code, insufficient requirements and poorly constructed architecture. When they become frustrated with these daily problems, we can help them to understand those problems and show them how to deal with each one in the appropriate manner.

I think that as we deal with old age in our every day life, so then we learn to deal with death when it finally arrives. Some of us feel that we are still young, 20-year-old studs that have become trapped in in old man's body that is heir to all of the aches and pains of advancing years. I have come to think of that as God's way of preparing us for the end of life so that we welcome Death as a friend who has come to take us home and not as a protagonist against whom we have to fight.

But, so long as we stay alert and up to date on changes in the industry, do our own research, analyze our own data and prepare our own reports, then we will continue to amass knowledge and we can filter that new knowledge through the years of the pain of working with those who always "take the easy way out." This would be those programmers and scientists who don't try to understand the underlying principles of the art and science of their industry that is sometimes so elusive and seemingly unavailable to those who have had only a few years trying to make things work the right way when using apparently insufficient material. Nevertheless, having worked with younger programmers most of my life, I have found that if I can show them something new or a better way to do things, then I am usually accepted by my cohorts as just another geek trying to make sense out of senseless requirements.

So, to the older, more experienced technical personnel I say this; keep on learning. Never give up on a problem and turn it over to someone else just to make life easier. It is that very struggle, this exercise of the brain, to solve complex problems that makes us who we are. This struggle that gives us strength is much like a butterfly coming out of a cocoon that gives it the strength to fly away. The daily solving of those complex problems gives us the strength and the courage to manage smaller problems of everyday life.

SDG
jco