By definition, Artificial Intelligence is a branch of computer science concerned with the study and creation of computer systems that exhibit some form of intelligence; systems that learn new concepts and tasks; systems that can reason and draw useful conclusions about the world around us; systems that can understand a natural language or perceive and comprehend a visual scene; and systems that perform other types of feats that usually require human intelligence.
Humans are prone to making errors. It’s the way of life. It’s how we learn, survive and evolve. “Necessity is the mother of all inventions”, and how true this statement is. The main reason why the computer was invented is because humans took a lot of time to perform huge mathematical calculations! Computers were the first form, just the tip of the iceberg. Look at how far we have come in just a few decades.
AI, in it’s most simple sense is an automated way of doing a specific task in the way it needs to be done. More complex tasks would require an even more complex AI. In this modern day and age, AI is being used in numerous technologies. Cloud computing, PTP networks, Supercomputers are just a few examples. Currently, the closest thing we have to an actual AI is a computer called “Watson.” Watson is a natural language question answering computer system developed by IBM’s DeepQA Project. Watson has access to 200 million pages of structured and unstructured content consuming about 4 terrabytes of computer storage, including the full text of Wikipedia. It is so advanced that it is now being used to guide nurses to perform medical procedures! This is just one of it’s applications. Practically anything and everything can be made by the use of AI.
In the gaming world, technology has always played an important part. All the latest innovations and advancements pave the way for the creation of better games. Better in every way and not only graphical. Remember Mario? An example of AI can be seen in the game when the turtles move towards you. It isn’t a complex AI but at the time when the game was released, it was the first of it’s kind. Today, games have a learning curve. Thanks to their designers, games aren’t just meant for entertainment, for a few of us games are a way to learn new things, to experience an entirely new concept. Games like Assassins Creed, DOTA, Smite have a cult following. Consider Assassins Creed, when the guard sees you, he immediately starts following you until you are either out of sight or have killed him (obviously). This just goes to show the complexity of the AI in the game. In games, NPCs or Non Playable Characters are the result of AI. These npcs are programmed for interaction in a certain way. Now, imagine a game in which the npcs learn from the way the players behave, in a way try to mimic them. We still have a long road to travel to reach there. When talking about a game that has implemented an astounding AI, Black & White comes to mind. It is a God-game in which the player acts as a god and takes control over the villagers across several islands. Being a game released in the year 2001, it was way ahead in terms of it’s AI.
Right now, most AI in games use decision trees – simple flow chart of behavior, structured by hand. This is a very simple and computationally cheap method, but it is not robust. When you get to a situation that the flow chart creator didn’t plan for, you often get nonsensical behavior. How do you solve this? You design a learning mechanism for it. ANGELINA is a program developed by Michael Cook that can design games on its own! Check out the following video which is completely made by the program. Video
I regard programming of Artificial Intelligence as the hardest thing in the gaming world. Task specific applications are easier to create and maintain but what about applications that require them to make decisions? Programming the ability to judge in an application is easier said than done. Even harder than that is programming AI to imitate humans. Feelings are the one thing that make humans as we are now. Coding the feeling of love, hate, sadness, despair, desperation, is not without limitations. Add to that the subjectiveness of the programmer. What may feel like love to one may not be the same for the other. Then in reality, it all comes down to who is programming the AI? Right? Skynet alert.
How does it work? The key to programming AI is to understand the parameters that define a subject. It depends on it’s algorithm. For example, consider the zombies of Left 4 Dead. When you are in the scene, they all start rushing towards you and try to attack you but when you are not there, what happens then? They do not simply stand idle. The zombies are designed to sit down, lean against an object or wall, cough or vomit randomly and sometimes even fight amongst other zombies! The basic principle while designing AI is to take into account the factor of realism. How much reality does the AI depict inside the game? That’s the question you must aim for. Take another example, if I were to ask a computer to make me tea. The computer algorithm would probably look like the following:
Take a kettle. Pour water. Place on stove. Light the stove. Wait till it boils. Turn the stove off. Remove the kettle. Pour the water in different cups. Put tea bags for each. Serve.
Of course, this is a really simple algorithm and there are numerous loopholes in this. All the bases have to and must be covered for creating a proper AI.
We are still years behind at seeing a working AI. Maybe someday we all might have personal assistants like Jarvis in Iron-Man for real. Maybe iPhone users are closer to it in the form of Siri, although much simpler than Jarvis, it can still organize your calender properly. Or something like “Samantha” from the movie Her.
What are your thoughts on AI? What kind of a world would it be with AI? Maybe something like Matrix? Or perhaps something a little bit less sad like in A.I. Artificial Intelligence? Please let us know in the comments below!