The old joke in the Artificial Intelligence community was that there was no such thing as AI, because as soon as you had solved some really difficult problem, folks would look at it and say, “Hey, that’s not Artificial Intelligence, it’s just a programming trick…” (I really was never quite sure what else they were expecting to find inside a computer program, but hey…) The community eventually decided to shrug its collective shoulders and live with the realization that, well, maybe it was harder to define AI than to just do it.
A nice anecdote, but I really didn’t lure you here promising to explain Artificial Intelligence just to turn around and say “sorry, can’t be done, but check in next week when we blog about cupcakes.”
So here goes….
A lot of what is considered AI* shares the property that it incorporates massive amounts of search — search with the goal of homing in on a solution — because an algorithmic solution to solve the problem either can’t be easily created, or because an algorithmic solution might require years (not a typo) of computation time.
Contrast that with a problem that yields to an algorithmic solution — a clearly defined set of instructions where you toss in the data and crank through the steps and an answer pops out the bottom. That’s the kind of stuff that computers are really, really good at — IF you find a programmer who’s really, really good at what she does. But a process that contains nuance, ambiguity, trade-offs? Not so much.
Too abstract? OK, by the description offered above, a program that performs arithmetic would not need AI, but one that generates proofs to geometry problems would.
Hopefully that kind of makes sense. Look at it this way: the old-time calculators were literally mechanical devices with fixed gears that could add and subtract numbers and made a satisfying ka-chunk when you pulled the handle. But to generate proofs in geometry, you would have to “teach” a system the basics (stuff like supplemental angles, complementary angles, the ratio of a circles’ circumference to its diameter, the fact that the sum of the angles of a triangle equals 180o, etc.). And then you have to provide it with the ability to search through all the facts of geometry, somehow find the ones that apply in any arbitrary case, and then figure out how to link them in a sequence that transforms the starting point step by step into the desired end result.
Now we’re getting somewhere – instead of providing the rote instructions that will always generate a solution, we’re providing disconnected facts and a method to utilize them to search for a solution. Is the computer thinking? Nah, it’s just a programming trick.
Ok, then, let me be a little more precise. There are two interesting categories of search that come up a lot in AI. The first is a search through a universe of potential solutions that is so vast that you can’t just use brute force to evaluate all possible solutions – such as exhaustively searching through every axiom and previous proof in Geometry in order to find the right ones to apply to a given problem. The second type of search is used where there may actually not be one single best answer. This would be a problem with, for example, multiple competing goals, where compromises have to be made, and where there is no “mechanical” algorithmic process that can be used to generate the best answer. And sometimes (these are the really tough problems) you need to utilize both types of search.
Healthcare is full of these types of situations. Not just on the clinical side, like IBM’s Watson – the Jeopardy champion that is being applied to medical diagnosis (the technology is impressive, but the application is obviously controversial), but also on the patient flow and logistics side. Ask any OR charge nurse or lead Radiology Tech: You start the day with a nice neat and tidy schedule, and then, as the bumper stick says, “Stuff Happens”. You want to get to the highest priority cases first, but you also want to minimize patient delays; you’d rather not bump the outpatient who took off work to come in for their procedure, but the req for Mr. Smith on 4 North came in this morning and he still hasn’t been down for his procedure; some equipment is dedicated to a room, some can move, but you only have two C-arms; you need to rule out a stroke in CT, STAT, but if you delay patient Jones, that will mess up the surgery schedule, and oh yeah – you just learned that a helicopter is landing on the roof with a trauma patient in 10 minutes…
Believe it or not, the AI technology to solve those types of problems already exists — the technology to repair schedules in real-time, as conditions change (and change is constant in healthcare delivery). There are hospitals that are using AI to solve these problems as we speak, and they are getting value from it every single day.
This is the area of AI that I work in, and there will be lots more to say about this in future blogs.
FULL DISCLOSURE – I have a commercial interest in this application of AI. I started a company that builds and sells a product that does just what I described above.
A final note — I really am looking for feedback on these blogs, brickbats as well as bouquets. Leave a comment and let me know if this stuff leaves you yawning, whether you can parse through all my semi-technical stuff, and especially whether it’s of any interest.
Looking forward to hearing from you.
*UPDATE: October 2018
What I described above is now quaintly referred to as “good old fasioned AI”. That’s because, with the more recent availability of massive compute power in the cloud, combined with the availablility of large data sets, “machine learning” has come of age. We’ve had the component theoretical advances since the mid 1980’s, but we’ve had to wait for the compute side of things to catch up.
So after a long hiatus, stay tuned for, “What is this Machine Learning Stuff Anyway”