The math portion of the entrance exam to Tokyo University is known for being particularly grueling, but even though no calculators or other electronics are allowed Japanese electronics giant Fujitsu plans to build a software ‘bot that can pass the exam alongside students. And while that might sound simple enough, it’s really not. The robot will have to learn to process text problems, geometric diagrams, and formulas, extract the actual mathematics problem from them, and then solve them at a level equal to that of Japan’s top mathematics students.
Reportedly, only about half of the problems on this exam can be solved by computer programs alone, even those running some pretty advanced algorithms. Many of the problems involve multiple steps, the evaluation and employment of visual drawings, and the application of equations and formulas that students must memorize beforehand. In other words, the exam is difficult enough for humans, but for a program it presents a whole different set of theoretical and practical problems.
While it’s easy to think that computers can do these kinds of things easily, in reality it’s not so simple for a program to think on the fly. Normally a robot is programmed to do specific things based on a set of inputs. In this case, those inputs are huge variables. Computer vision capabilities capable of assessing diagrams and geometry problems will be difficult enough to develop, but that’s only the beginning. In order to succeed the machine will have to define what questions are being asked (and extract the correct, meaningful data from long blocks of running text), solve them without making mistakes or integrating any extraneous “noise” into the calculations, and do it all very quickly.
Fujitsu hopes to develop an AI that can do this relatively well by 2016, and one that can actually gain entrance to the university by 2021. And while this is something of a publicity stunt–these exams are extremely important in Japanese culture, so the idea of a robot participating in and passing them would create quite a stir there–it’s not purely novelty. The over-arching idea is to create a program that is self-evaluating; an intelligent system that can analyze itself and its environment for purposes of self-optimization.