AI Expert Newsletter
AI - The art and science of making computers do interesting
things that are not in their nature.
Business Models for Deploying AI
There is no doubt of the benefit of various AI tools and techniques,
but, compared to conventional applications, there are additional
costs associated with using AI. In other words, deploying AI requires
a cost/benefit analysis just like everything else.
The major cost is acquiring the people with the necessary skills.
AI techniques are not that difficult to learn and use, but they
are different and take some time to learn and master. The benefits
of a potential AI application must outweigh the costs of dedicating
the people and training time necessary to get the job done right.
Last month's newsletter covered two models of favorable cost/benefit
analysis for deploying AI. Both involved large organizations with
1) the financial resources to invest in people with AI skills, and
2) a significant body of potential applications that made the investment
worthwhile. One was a large corporation, American Express, that
developed staff for internal development; the other was the Egyptian
Department of Agriculture, which used a cooperative effort between
government, academia and commercial agriculture.
This month covers a third cost/benefit model that does not require
large financial resources, but instead requires individuals willing
to take a risk in the free market. It is the small company using
AI to gain a competitive advantage in narrow application markets.
In these cases, the company's investment in AI will hopefully be
compensated for by multiple customers of that company's products
The key to success for this model is knowing how to market the
products. Typically, however, this is not that big a problem, as
the entrepreneurs involved understand the problems of the market
because of personal experience.
That is the case for the three examples which follow: a company
that knows the education market providing classroom scheduling;
individuals with experience in pharmaceutical research providing
data mining tools and services; and developers of sophisticated
military simulations moving into computer game software.
These three examples came from following threads of interest from
readers, so keep those e-mails coming.
Antinoos is a Greek company
with a handful of application products targeted at specific applications.
their school time table application. Scheduling applications, such
as school time tables, are notoriously difficult (see scheduling
link). Antinoos has implemented their own probabilistic weighted
search scheduling algorithm in the application, developed using
Borland's Delphi 3.
Antinoos and Orologio provide a perfect example of how a small,
technically-oriented company can make an investment in AI technology
and apply it to applications for users that have no interest in
how the application actually works. ("People want holes, not
drills." -- Black and Decker)
This model is more applicable today than ever, due to the Internet's
phenomenal potential to reach Global markets.
In the words of Haris Saravanos of Antinoos: "There are so
many fields to use AI and create software for real business, but
so little time. Of course, for some years markets (U.S. Market excluded)
were unable to follow. Thanks, basically to Internet, things have
changed. Nowadays we're in process of selling OROLOGIO in markets
such as BOTSWANA's !! Greek software (or any kind of product) in
Botswana was out of the question a couple of years ago."
Pharmaceutical, Biotech Data Mining
Pharmaceutical and biotech companies produce tremendous amounts
of experimental data. SciNova
Informatics is an Indian company that specializes in data mining
products and services that provide researchers with clearer insights
into that data.
They use a variety of techniques, including automatic rule induction,
neural networks and genetic algorithms. They provide both consulting
services and a commercial product, Prometheus.
Like Antinoos, they started their initial work with hospitals and
companies in India. They are branching out to Europe and the U.S.
Their product lines are developed in conjunction with their consulting
Stottle Henke Associates
is a growing company offering, among other products, tools for creating
intelligent agents in virtual world computer games. In their case
the products are a result of extensive contract work they did generating
intelligent tutors and training simulators for the military.
Like SciNova, their company provides both consulting/contract services
and products related to those services.
The gaming product is called SimBionic(TM). The product fits this
newsletter's general model of AI. There is an engine that implements
the agents, and a graphical development environment that lets game
developers easily create the agents and their behaviors. The graphical
development environment lets subject matter experts directly program
the behaviors without an intermediate programmer. The engine is
written in C++ with an API that let's it be easily integrated into
a larger gaming context.
If you haven't already read The Age of Spiritual Machines,
by Ray Kurzweil, I highly recommend it. I won't guarantee that you'll
like the book, although you might, but I will guarantee that it
will make you think. His thought-provoking prophecies of digital
circuitry eventually replacing human brains has triggered many different
responses, many of which are posted on Kurzweil's
Kurzweil has a tremendous resume of success. He got his start following
the entrepreneurial business model. He used his inventive genius
to create optical character recognition and speech synthesis tools,
and then his marketing genius to understand and reach the blind
market with his reading machine for the blind. This led to meeting
Stevie Wonder, which led to music synthesizers, which led to...
Well that whole story is in the book as well.
Without even looking to the future, his accounts of what is happening
in the present are fascinating, and well documented with extensive
references. And he lays out a blueprint on how to build a brain
It's simple. Just combine recursive problem solving with evolutionary
algorithms that optimize neural net topologies.
Interesting. That's kind of what the developers of programs to
play the game of go are doing.
Go and Computers
Go is considered by many who have played it to be the ultimate
board game. It has fascinated players for centuries, yet today it
has an added charm. The best computer go programs are only at beginner
levels. One can feel smug playing a game that artificial intelligence
cannot, at least for now, play.
Why is that? It's not for lack of trying. There is an ongoing assault
of very talented go players and programmers trying to create better
and better go programs.
One reason is simply the size of the board. It's played on a 19x19
grid so there are more moves to consider, which means standard alpha-beta
search algorithms have much more work to do.
But that's not the main reason. It's very difficult to assess how
good a move is. In fact, it is extremely difficult to simply write
a program that correctly determines the score at the end of a game,
a feat easily carried out by human go players.
How is that evaluation done? It's a pure and simple human brain
pattern-matching exercise. The complex interrelated patterns of
white and black stones hold the key to understanding the game.
Which is all kind of ironic. Chess programs started out looking
to emulate human pattern matching, and instead evolved into muscular
search programs that overwhelm human intelligence. Go programs are
going the other way. Search simply doesn't work, and developers
are looking to emulate human pattern matching, as Kurzweil describes.
When a computer finally does start playing reasonable go, it will
be doing so in a more human-like way than its chess playing cousins.
See the links for information about computer
Basketball Scheduling Experiences
A number of years ago I was contacted by the Atlantic Coast Conference
(ACC), one of the top collegiate athletic conferences in the U.S.,
with the problem of generating a "fair" basketball schedule.
It appears that college basketball, in the top conferences, is a
particularly difficult scheduling problem, due to a very compact
season and the desire of each team to not yield any competitive
scheduling advantage to other teams, like having less home games
on weekends and therefor fewer games with the advantage of a boisterous
I was told that a scheduling expert had told them the constraints
were impossible to satisfy, which had the effect of making it somewhat
of an obsession for me.
We did come up with a good schedule for the ACC that year, and
have since done other work for other conferences. The Big East Conference
men's basketball schedule is considered the most difficult, due
to complex arena constraints that other conferences don't have.
The individual responsible for the schedules is an avid chess player
who spends months manipulating tokens representing teams and games.
The ACC told the Big East about our program, but the Big East was
skeptical. So just like in the old folk song about John Henry competing
with the steel-driving machine, it became a head-to-head competition.
Well, I think it was a tie, but they liked the hand developed schedule
We still schedule the Big East women's basketball each year, which
doesn't have the arena constraints. But we've never truly gotten
a program that we like, so we keep changing it.
The first version of the program, written in Prolog, used a pure
depth-first search, and produced great schedules when the constraints
were solvable, after considerable searching. The order of the initial
list of games to be scheduled had a tremendous affect on the program's
success or failure. Given the wrong start, the program never converged,
but with a good start it might converge relatively quickly. This
immediately led to the "I'd rather be lucky than good"
rule that shuffled the input list and restarted the program after
it had run too long.
It also suggested genetic algorithms as an approach. The next version
of the program was a pure Java genetic scheduling algorithm. It
had the advantage of generating poor, but playable, schedules early
on and then gradually evolving better and better schedules. It worked,
and was less nerve-racking than the first version, but it never
found the really great schedules the first version did. And it also
took a long time.
The problem with genetic algorithms is that, despite a really cool
name, they are just hill-climbing algorithms. They incrementally
move a little higher in the evaluation function's space each time.
And like all hill-climbing algorithms, they might be going up a
minor summit, rather than Everest. And it appears the search space
of the basketball schedule is a very rugged irregular terrain. Again,
luck in the start turned out to be key.
Which makes one wonder about Kurzweil's vision. He has one sentence
in his book, where he notes that you need to have a good random
sample of starting points for evolutionary algorithms to work. Is
evolution really such a great means of finding solutions? Doesn't
it really just find some local summit near the starting point and
And what does this mean about human intelligence? Are we evolving
up some minor peak? Might not the reptiles have done better than
us mammalian types if they hadn't gotten in the way of a big meteor?
Back to this human intelligence wrestling with basketball schedules.
The latest and current version uses a combination of Prolog search
with C++ classes representing individual team schedules. The C++
code can quickly generate evaluation functions scoring each team's
schedule. That score becomes the single constraint driving the search.
Recursion repeats the scheduling process by using the last best
score as the single constraint for each succeeding schedule. And
it still shuffles the input stream each time looking for a bit of
It works better than the first two programs, but still takes a
long time. I haven't yet tried using any of the constraint-based
languages or tools. Maybe this year I'll have time to try out Mozart,
which has built-in constraint handling, and a classroom scheduling
Any and all reader feedback on this application is welcome.
Thanks again for your feedback. One reader pointed out that the
Saarland University is in Germany, not Denmark. My apologies, and
to think, a recent news article reports that on a simple geography
test, U.S. students are among the worst in the World. Sigh.
The Best of AI Expert
AI and Locomotion: Horse Kinematics [Jan 94 pg 18] - Patti Koenig
and George Bekey describe a University of Southern California research
project that lets a rider sit on a mock horse and control a virtual
horse for the complex gaits of dressage. Neural nets are used to
transmit the riders inputs to the horses movements, but unfortunately
aren't described in much detail. However the complexity of dressage,
which I never understood, is explained as well as the overall architecture
of the project.
Gravitating Towards Common Sense [Feb 94 pg 9] - Lance Elliot discusses
the advantages of including strategic metarules in a rule based
system. The metarules determine the best reasoning strategy the
system should use, based on the particular case being processed.
Given that different problem domains have both different specific
rules and different ways of strategically approaching a problem,
understanding a domain's metarules is often the key to successful
deployment of a rule based system.
Using Neural Nets to Manage Investments [Feb 94 pg 16] - Dean Barr
and Ganesh Mani describe the use of neural nets for forecasting
financial markets. This is an excellent introduction to the basic
problems and approaches used. The article also discusses ways to
deal with the major shortcoming of neural nets, which is their inability
to "explain" themselves. Sensitivity analysis is used
to determine the effects of various input parameters; rules are
then generated based on that analysis. Good stuff.
Review Of Job-Shop Scheduling Techniques - Anant Singh Jain
and Sheik Meeran provide a very technical review of scheduling techniques,
from the earliest systems to the most recent, covering techniques
such as Tabu Search, Genetic Algorithms and Simulated Annealing.
The job shop domain is used as a classic example for scheduling
bench marks. Read this article to get an appreciation for the difficulties
of scheduling applications and further pointers on research using
the various techniques.
- David Mechner's computer go page has two excellent articles on
the subject. The second one listed on the page is shorter, but the
first, All Systems Go, has more in depth analysis and interesting
rambles on one player's path towards excellence in go.
The American Go Association
- Has links and introductory material for those interested in learning
the game, including a number of sites that support online play.
Warning -- the online sites are addictive and contributed to this
newsletter missing its deadline.