How to teach AI to make smart mistakes

    The developers of computer games raised an interesting topic for discussion : how to increase the realism of artificial intelligence, which operates unmistakably. The problem is that in many computer games the right move or solution is calculated too simply for the most powerful processors of modern PCs. For example, in virtual billiards, the computer never makes a mistake and always calculates the ideal ball trajectory. The same deplorable situation in chess.

    The easiest way to stupid AI is to limit its computing resources. Of course, the program will immediately begin to play worse. For the same billiards, there is the following option: add a random error to the hit on the correct path. But the problem is that it reduces the realism of the game. In this case, the computer begins to make too stupid mistakes. So stupid that a man would never do.

    In other words, the usual deterioration in the quality of an AI game is not realistic enough. It does not give pleasure to the player.

    There is one way out of this situation. It is necessary to make the computer play at full strength, but at the same time hand over the game. As in sports, there are a number of seemingly small random miscalculationsthat lead to a loss or significantly increase the chances of the enemy. That is, AI must make smart, well-thought-out mistakes.

    “Errors” of this kind require significantly more computing resources than fair play at full strength, but a person will have a real chance to defeat a strong opponent. Game developers are required to show remarkable intelligence in order to create such “artificial stupidity".

    For example, in poker for AI, it would be logical for a big raise from a live player to fold a hand that has 75% to win, because weak human players do just that, they get scared of big raises. Or it would be logical to answer small raises with a weak hand that has not enough chance of success. Again, because weak human players do just that. All these are examples of intellectual, thoughtful stupidity, which makes the gameplay more fun and realistic.

    The creator of the game Steve Davis World Snooker, which was released 20 years ago, recalls how outraged gamers came to his office and still complained about a too good computer game, although serious errors were added to the calculation of AI at a weak level. People liked that the computer missed a lot. But they assured that the AI ​​had too good positional play.

    The paradox is that the position of the cue ball was never calculated. The program simply took the coordinates of the aiming ball, calculated the desired angle and struck with the force that was necessary in order to put the ball in the pocket. The position of the cue ball after collision with the aiming ball was completely random. Why did gamers consider AI too strong? The reason is that the computer could hammer the ball from any position, so that any position of the cue ball was always always beneficial for him - and the person understood this. So, this is where the potential lies for the manifestation of "intellectual stupidity", which makes the game more fun.

    For a snooker, it would be a good choice to calculate the position of the cue ball to the very end and sometimes to specially beat so that the cue ball in the end would occupy a clearly disadvantageous position to continue the series. That is, the computer sometimes has to drive itself into a corner. Again, as human players do (they only do it by chance).

    Summarizing all of the above, we can conclude. To make AI stupider, we, game developers, must not reduce the accuracy of the calculation, but rather increase it. We must count the moves in the game so far that the person does not even suspect a dirty trick. AI should be not just smarter than a person, but smarter by two heads in order to realistically succumb to it. It is necessary to predict a person several steps forward in order to fine-tune the ideal chance that he will use. Or not take advantage, but then lose. But we still have to give him a chance.

    via Gamasutra

    Also popular now: