I’ve been thinking what “perfect AI” could mean in games. I started thinking AI in terms of “how naturally it behaves compared to what humans would do”. I started thinking that there would be one crucial element that AI would need to have: the ability to make mistakes.
Making mistakes is natural to humans, but I believe making accidental mistakes isn’t typical to computer AI. When computers make mistakes in games, they are more often because of “lack of better move” rather than “humanly mistake”. Computer opponents in games are programmed to do wise moves, not to make mistakes.
So how would perfect AI play? I believe it would be a really tough opponent, but sometimes it could make small (even stupid) mistakes. Perhaps in FPS game the computer could make a stupid jump and end up in a lake (instead of the other side of the broken bridge). Or perhaps the computer could accidentally build wrong type structures in his base, and would need to re-build some of them. Or perhaps the computer could forget to heal some unit.
The problem with this type of behavior is that it would probably make AI look poor. I believe that players would think that the computer is crappy since it makes stupid mistakes. No matter how I turn this issue up-side down, it seems that it’s not possible to have a “perfect” AI.
Perfection would require imperfection. We humans make mistakes, so for a perfectly human AI, the computer would need to make mistakes. This imperfection – ability to make mistakes – might not look like “perfect AI”.
So, how could AI even be perfect after all?