/ 3 March 2004

Know your imitations

Computers like things precise: on or off, one or zero, yes or no. The real world is rarely precise or exact; information is partial and uncertain and people make judgement calls. Artificial intelligence (AI) is about making computers act more like humans and you might be surprised at how many places it is showing up — from cameras and fridges to spam filters and Microsoft’s forthcoming BizTalk Server 2004.

If AI makes you think of robots and artificial brains, think again. Researchers are still arguing about whether a computer could actually think or just respond as if it can, but the results of their research are too useful to stay in the lab.

Software can act in ways we think of as intelligent, can deliver results we’d only expect from a human and can let us work in ways that feel more natural. Most AI is used for very specific solutions. Computer games often use AI for opponents, or for modelling things that are easier to demonstrate than to explain — like driving a racing car. Many electronic devices use fuzzy logic for dealing with complex situations or values that aren’t quite one thing or the other: whether it’s light or dark, hot or cold, wet or dry.

Fuzzy logic controls the temperature in fridges and rice cookers, the braking system on the Tokyo bullet train and the focus and light metering in digital cameras. Neural networks let computer programs deal quickly with uncertain situations where there’s a lot of information and getting a good answer now is more important than getting the perfect answer too late — like the handwriting recognition in Tablet PCs.

Other traditional areas of AI have already become mainstream, like spell checking, e-mail rules and voice dialling. Not all the techniques are new.

Bayesian statistics were developed in the 17th century by an English minister called Thomas Bayes, who was either trying to prove the existence of God or find a way to cheat at cards. He came up with rules for combining probabilities; using new evidence to make your results more accurate.

Bayesian statistics drive the answer wizard in Office (and the much-loathed office assistant, Clippy), the search tool in Windows XP’s Help and Support Centre and the majority of commercial spam filters.

Microsoft’s Commerce Server 2000 uses them to suggest products you might like to buy based on what you’ve bought from the same website before, fast enough to include the list on the webpage without you noticing the wait.

Microsoft is also using Bayesian techniques for a notification system that will be able to decide whether to suggest that someone who wants to get in touch with you send an e-mail, pick up the phone or use an instant message, based on what it knows about where you are, what you’re doing, how you like to be contacted and how you’ve talked to them before.

And while the tools in the next version of BizTalk might look like more complex versions of the wizards that help you create rules to filter your e-mail into folders or build a smart playlist in iTunes, the flexibility that lets you describe exactly how you do things in your business owes a lot to AI.

When you get turned down for a new credit card or have to confirm you made a purchase, it’s an AI database called an expert system scoring you down or spotting what could be fraud. When you use software to prepare your tax return, AI-style rules work out which sections you need to fill in.

So far, building expert systems has only been worthwhile for the biggest businesses working in areas that are either esoteric enough that there aren’t many human experts available, or where decisions need to be made in high volumes in a hurry. But the tools in BizTalk make it much easier for you to build a system to automate something you’re the expert in — your own business.

Most businesses automated tasks that were easy to move to a computer years ago, but automating workflow has been harder. Not only are businesses’ processes complicated and poorly understood in many companies, but computerised systems can be very rigid with no room for coping when things don’t go to plan: if the credit card company accidentally includes your postcode twice in your address, a simplistic automatic checker won’t let your order through.

BizTalk splits the development up to make things more flexible. The Visio Orchestration Designer tools used to describe a business process are simple enough for the business analyst: you can use standard business terms such as creating a purchase order and waiting for your supplier. A developer can take that diagram and connect it up to the business systems that do the work and the XML schema that control the format of the data going back and forth.

The ways your business works don’t change very often, but the choices you make about them do: as the value of the dollar drops you might decide to set a larger minimum order value for dollar pricing.

Splitting those business rules out from the business process and the business applications give you the flexibility you need. And the orchestration engine at the heart of BizTalk is completely generalised; it doesn’t care whether you make hats or sell bananas: it just follows your rules so you can make it work in ways that make sense for people. — Â