By Kumar David –
A friendly introduction to Artificial Intelligence and Quantum Computing: Do you want a peek into sexy technology?
Though I am pretty sure the majority of my readers are normal folk, not pain-in-the-butt science and technology buffs, I am also sure they would like a peek into new-wave technologies that are taking the world by storm. I am taking a risk today in introducing two avant grade domains without dumbing down, while at the same time trying to keep it informative. AI has taken-off; it’s a big deal in medical diagnostics, defence, self-drive cars, code-breaking, language processing, computer vision and robotics. Quantum Computing (QC) is still is in its infancy and promises a colossal increase in speed but cannot solve problems intrinsically beyond the reach of ordinary computers. There are a few QCs in existence in research laboratories but none in real world scientific, industrial or commercial application.
A physician suspecting jaundice palpates a patient’s liver and feels its texture, he peers into the eyes and forms an opinion about how yellow the white of the eye (sclera) is. If that’s all the information available to him he uses his experience to arrive at an opinion (diagnosis). Stick with this simple example for the moment. The weighting (relative importance) he gives the two inputs is not the same, he weighs them in his mind, mulls them over and relies on experience to arrive at a conclusion. AI tries to reproduce this in a machine. Say the two inputs in Fig.1 are the texture and the colour, the thickness of the lines on the left represent the weight given to each “measurement” – its importance. Thick lines indicate larger weight, greater importance. Maybe palpation-texture gets a big weight, colour is given less importance. The “hidden layer” is an intermediate staging point in computer processing, it’s a mixing pot; it does not denote any known feature of human thinking. Intermediate “hidden” layer data is combined again (by weights denoted again by the thickness of the lines on the right) and added to give the “output” layer, the final opinion. If by some magic we get all the weights perfect this output layer result (opinion) will be the same as the doctor’s diagnosis (“I am 70% sure this guy has hepatitis”).
In the real world doctors work with not two, but dozens of inputs (CT scans, X-ray images, blood test reports and so on). Therefore the input layer consists of not two but numerous measurements turned into numbers by the physician (“This patent’s stomach pain is serious; in my opinion its significance is a 90 on a 0 to 100 scale of gravity). Fig. 2 shows seven data inputs to be taken into account.
The second and by far the bigger challenge is how to get the weights right (the way the inputs are combined) to arrive at the same conclusion as the expert. That is how to combine things in the same proportion as the expert. The way this is done is called learning or machine learning. Let’s start by setting all the weights at random. Obviously the output will be all wrong; it won’t be anything like what the expert opines. Ha, but now let’s modify the weights (arrow thickness) in the step by step way that a motor-mechanic tunes the timing of a motorcar engine to improve its performance.
These AI chaps don’t stop there, they take Inputs (data) and Outputs (diagnoses) from thousands of clinics and hundreds of doctors and keep “tuning” the weights till they get what the doctors (plural) say; that’s the best setting of all the weights considered together. This is not done at random, it is done by a systematic procedure called a learning algorithm which tells you which weights to adjust and by how much, in a step by step iterative procedure. You go round and round, systematically, till you get no further improvement. Then tuning the Artificial Neural Network (ANN) is said to have converged; the expert system has converged to what the doctors say. Fig.2 shows an ANN with seven inputs, three internal or hidden layers and twelve outputs (Hepatitis? What’s the cancer risk? Cirrhosis? Etc.). In some ways it’s better than a doctor because the ANN network stays consistent, always the same, it is unlikely to have gone out on a binge on Saturday night and acquired a debauched hangover. But it does not have bedside manner and needs to be reprogrammed regularly as medical expertise advances.
You can appreciate how the same concepts can be used in other fields. Hundreds of sensors and detectors feed data to the ANN of a self-driving car tuned to behave like a driver, including responding to glimpses seen through the corner of an eye. (In addition, self-drives have fast response emergency devices which are not part of the ANN). Intelligent networks can decide as soon as Kim fires a rocket whether it’s aimed at Trump’s Mar-a-Lago fleshpot and whether it’s nuclear tipped. From knowledge of a criminal’s past an ANN programme may be able to predict what he may do next. The applications are vast.
This is a bit more difficult because you must leave common sense behind and enter into a queer world of phantasmagoria. A world in which a cat can be dead and alive at the same time. No, no, not a sick cat; a sprightly lively and a dead as a doornail, at the same time, cat. Nuts! Don’t blame me, it’s the quantum chaps. This droll notion has a name, Schrodinger Wave Function – if you want to show off.
Computers (non-QC sensible ones) store information in a string of bits; each bit has a definite value of 0 or 1. Maybe 0 is a transistor off and 1 is when it is on; or maybe when a microscopic element is magnetised or not magnetised. It doesn’t matter whether it’s black-white, or male-female, as long as the states are clear and distinct. Imagine an array X consisting of two bits; so the array can read 00, 01, 10 or 11 but only one at a time. Let’s assign numerical meaning to these four states – say they stand for the three decimal numbers (ordinary numbers) 0, 1, 2 and 3. Now let’s get another two-bit array Y. Set array X to 01 and Y to 10. Now do a calculation; add X and Y and hey presto it reads 11. Recall our decimals number assignments of a moment ago; you have added 1 to 2 and got 3. Genius! You have designed and used your first digital computer.
In the topsy-turvy quantum world, cats are both dead and alive. Similarly quantum-bits (qubits) are both 0 and 1; they live with a probability of being 0 and at the same time a probability of being 1 (they also have in-between states but ignore that for simplicity). This is like having a single bit that behaves like both a 0 and a 1 at the same time. If you could find a way of using this you could do twice as many things simultaneously. Let’s push on, if you had an array of two qubits it can have four states as in the previous para, but all at the same time! If you could find a way to exploit this your computer would run four times faster. A 32-qubit array has 4.3 billion (232) simultaneous superposed states; the much used 64-bit array could be in 18.4 billion-billion (264) superposed states if all 64 were qubits. A quantum computer could run billions and billions of times faster than a classical computer (known as a Turing machine).
If only you could find a way of programming and manipulating all these “parallel computers” at once you would be running billions of computers, all at once, that is in parallel. That’s where quantum computing research is stuck now. Setting up qubits (with electrons or prosperous atoms) requires cooling to near absolute zero. Secondly, writing algorithms to address all superposed states at once is an unsolved problem. Worst of all, after all this you can’t retrieve the results. Though qubits carry a huge amount of information thanks to quantum superposition, the results that can be retrieved are the same as the boring “classical” amount. This is because of another bothersome thing about quantum, the collapse of the Wave Function. The aforesaid weird and wonderful things happen in the quantum world only if you don’t peer into it; only if you don’t look. That cat goes dead or alive the moment you look; it stays in superposition if and only if you don’t look. Then how the devil do we get our results out? They are trying to use a thing called entanglement but I won’t drive you and myself nuts talking about it today; and in any case it’s not working well.
Hence the state of play in quantum computing is depressing; it can potentially work billions of times faster than classical computing but it’s hopeless at letting you get your hands on the results. There is a thing called the Holevo Bound which says that though qubits carry lots of data thanks to superposition, the results that can be retrieved are no better than with classical computing – then what’s the point? Even worse, the Turing-Church hypothesis states that a numerical calculation can be done at all, if and only if it is computable on a Turing machine. Kurt Gödel puts it like this: “The correct definition of limits of computability was established beyond any doubt by Alan Turing”. Though quantum computers can go faster they can only solve problems that are also solvable on classical computers. Oh dear!
Did I enlighten the less technically nutty among you a bit? And apologies, I have simplified and taken liberties but have been careful not to distort or make gross errors.