Understanding AI

Reading Time: 3 minutes

By definition, Artificial intelligence is the creation of agents which would perform well in a given environment. This serves as an introduction to AI. So, what does an agent mean?

Intelligent Agent

An agent is an entity which would take an action based on the input and the environment in which it is operating. For example, when you tell the iRobot roomba to clean the kitchen then it is an agent which is taking action on the basis of your input and accessing the environment to do its job.

How do we get to the creation of the agent. This is a 4 step process.

AI definition

Defining AI

There are 4 quadrants in which we break the AI definition.

  1. Acting like humans – This is the part where the agent is supposed to behave like humans. Robotics, where the machine would be able to assemble a car would fall in this category. Machine learning where the machine would be able to act like a human would also fall here. This is a step in which we try the agent to pass the Turing test. Machine learning, NLP, automated reasoning are done as a part of this step.
  2. Thinking like humans – The agent tries to solve problems like humans. It learns and retains information like humans and solves problems on the basis of its learnings. This is the part which is referred to as Cognitive Science.
  3. Thinking rationally – This is the part of creating connections and inferences on the basis of information that is already available. For example a logic like Animal eats food, Man is an animal hence Man eats food. This is a part of rational thinking. The caveat is that rational thinking might not always lead to results on which an action can be taken in the given environment.
  4. Acting rationally – Is the part where everything converges together. This is the part where the intelligent agent, acts. It does the right thing, produces the best possible outcome given the environmental constraints. This is the ideal part where the action should represent ideal state and complete rationality. However, the constraints might force the agent to take an action on the basis of limited rationality.

Through all the other stages, our AI system should be able to reach a point where we are able to build an intelligent agent. This agent which would be acting within limited rationality given the constraints.


Hence on the basis of the above, would we call a bar code scanner an AI system? Possibly not because though it satisfies the criteria of may be acting like a human where it can read a code and map it to the price. However, it does have the capability to think, correlate information or act rationally.

A voice recognition for a menu based for airline reservation might be more satisfying the criteria of AI. It not only does it need to act like humans but also it needs to think and correlate like humans based on various kinds of voices and accents and way of speaking. Someone might pause for a long time and another person might just ramble.

Areas like spam fighting programs or auto-completion of mails on gmail are more AI based approaches. They act like humans within the limited rationality constraints.

Science or Engineering?

So would we rather classify AI as science or engineering? The “human” side of AI is clearly an empirical science, called cognitive. It involves psychological experiments designed out to find out how human cognition actually works. However, if we view it as studying the abstract relationship among an arbitrary task environment, a computing device, and the program for that computing device that yields the best performance in the task environment. Then the rational side of AI is really mathematics and engineering. Hence it is a strong combination of science and engineering.

Written by 

Vikas is the CEO and Co-Founder of Knoldus Inc. Knoldus does niche Reactive and Big Data product development on Scala, Spark, and Functional Java. Knoldus has a strong focus on software craftsmanship which ensures high-quality software development. It partners with the best in the industry like Lightbend (Scala Ecosystem), Databricks (Spark Ecosystem), Confluent (Kafka) and Datastax (Cassandra). Vikas has been working in the cutting edge tech industry for 20+ years. He was an ardent fan of Java with multiple high load enterprise systems to boast of till he met Scala. His current passions include utilizing the power of Scala, Akka and Play to make Reactive and Big Data systems for niche startups and enterprises who would like to change the way software is developed. To know more, send a mail to hello@knoldus.com or visit www.knoldus.com