October 05, 2019

Creating a simulation but not an Artificial Intelligence

A common understanding of Artificial Intelligence is, that a certain type of software is able to control robots. This kind of software is referenced as neural networks or a cognitive agent. Unfortunately, it's unclear how to use a certain framework the right way, so the attempt of building an AI fails. But what is, if AI isn't the result of an algorithm but it can be build as a simulator? Let us make a small though experiment. The idea is to program a self-driving car. We are doing so not with AI frameworks, but the only allowed tool is by creating a simulation.

The first step is to program a car simulator. That means, we are modelling the sourinding of a self-driving car with the help of an object oriented programming language. A class is created for the road, a second for the path on the road, a third class for other cars, another class for pedastrians, a class for the traffic light and so on. In short, it has to do with programming a car simulator game.

There is no need, that the simulator can act by it's own, it's enough to provide the environment in which the human user can press on buttons. After a while, a realistic simulation was created. But the original problem of building an AI remains unsolved. What we have done is to formalize the domain in a computer simulation. In the next step, the simulation gets improved. Instead of creating an AI character in the given simulation the idea is, that the simulation is not realistic enough. So the programmer has to think how to improve the car simulation game.

Most existing simulation games can be improved by high level simulation layers. In case of a car game a high level layer can simulate a crash. That means, if the driver leaves it's own section of the road, the simulator shows a warning text message. It's interesting to know that this warning message is not the result of sophisticated Artificial Intelligence, but it's part of the simulator. Another option is, to show visually, that the speed of the car is too high. The resulting improved simulation game looks like a driver school. On the screen a car simulation but a virtual teacher is visualized at the same time.

The working hypothesis is, that an AI character can be replaced by a highly realistic simulation. If more details are included into the game, no AI at all is needed. The sad news is, that it's complicate the program a realistic simulator for complex domains. Creating a car simulator which includes all the elements of real traffic is a large scale software project. From a technical perspective, it's known how to realize such a project, but it needs a large amount of manpower.