I started Reading Stuart J. Russell and Peter Norvig’s ARTIFICIAL INTELLIGENCE : A MODERN APPROACH

Artificial Intelligence , huh? Quite a topic which aspires you to dig deeper into it. Like every beginner , even I was enthusiastic about how machines behave more like humans. The journey begun when I entered IIT Roorkee , met some wonderful seniors who introduced me to this topic and now I am into it too 🙂 !

I would like to dedicate my blog to a wonderful start of my path towards Artificial Intelligence. I heard about the book “ARTIFICIAL INTELLIGENCE : A MODERN APPROACH” , popularly known as AIMA, from a senior of mine. It covers every such topic which serves as “a must” to explore deeper into AI. And hence …. here is what i have learned so far (although I am in the third chapter only 😛 )

SO WHAT IS ARTIFICIAL INTELLIGENCE (AI)?

Artificial Intelligence has many dimensions based on which it can be explained, some are concerned with the thought processes and reasoning whereas some are concerned with behaviour. According to AIMA, some of the definitions of AI are as follows:

AIdefn

A human centred approach must be involving observations and hypotheses about human behaviour whereas a rationalist approach involves a combination of mathematics and engineering.

EVER HEARD OF “THE TURING TEST”?

This is the test which verifies the “Acting Humanly” definition for an Artificially Intelligent program.

“The Turing Test, proposed by Alan Turing (1950), was designed to provide a satisfactory operational definition of intelligence. A computer passes the test if a human interrogator , after posing some written questions, cannot tell whether the written responses come from a person or from a computer .”
Stuart Russell, Artificial Intelligence: A Modern Approach

For a program to pass this test it must possess the following capabilities:

natural language processing to enable it to communicate successfully in English;             • knowledge representation to store what it knows or hears;
automated reasoning to use the stored information to answer questions and to draw          new conclusions;
machine learning to adapt to new circumstances and to detect and extrapolate                 patterns.

The program also needs :

computer vision to perceive objects, and
robotics to manipulate objects and move about.

to complete the test fully.

 

Other domains of defining AI include :

  • Thinking humanly , which is the cognitive modeling approach.
  • Thinking rationally, i.e. the “laws of thought” approach which were supposed to govern the operation of the mind; their study initiated the field called logic.
  • Acting rationally which is the rational agent approach. An agent is just something that acts in a much trivial sense and a rational agent is one which acts so as to achieve the best outcome or, when there is uncertainty, the best expected outcome.

APPLICATIONS IN VARIOUS FIELDS:

Currently , AI is finding applications in almost every sector of work.

  • Robotics and Robotic Vehicles , or in more trivial sense driverless cars or autonomous systems.
  • Speech Recognition systems
  • Autonomous planning and scheduling
  • Game playing through reinforcement learning
  • Spam fighting i.e. protecting your email feed
  • Computer Vision , Image and Video processing

Are some of the widely used applications.

WHAT ABOUT ARTIFICIAL INTELLIGENT AGENTS NOW ?

Well, at first let me describe , what is an agent? In a much trivial sense , agent is anything that perceives its environment through sensors and acting upon it through actuators. Percepts are used to denote the perpetual inputs to the agent at any given instant and sequence of such inputs is termed as a percept sequence . All this concepts are extremely useful in creating a base for learning deeper into the topic . This agent has an agent function which maps the percept sequence to a particular desired action . This function is implemented with the help of an agent program!!  Logically it is : (as per AIMA)

ActionPercept1

CONCEPT OF RATIONALITY , OMNISCIENCE AND TASK ENVIRONMENT!!

So what is rationality? Briefly speaking it is the quality of being based on or in accordance with reason or logic. Similarly, A rational agent is one that does the right thing—conceptually speaking, every entry in the table for the agent function is filled out correctly.  Thus, a rational agent must have the following properties:

The performance measure that defines the criterion of success, by evaluating any given sequence of environment states.
• The agent’s prior knowledge of the environment.
• The actions that the agent can perform.
• The agent’s percept sequence to date.

This concludes the concept of rational agents. 🙂

Now talking of omniscience, what comes to your mind at the first point? THE ALMIGHTY GOD right? Yes, even i was caught by that thought, and positively that is what it is meant here. An omniscient agent knows the actual outcome of its actions and can act accordingly; but omniscience is impossible in reality, as we all know.

Let us come to the last subtopic i.e. task environment which plays a very vital role in deciding the actions that our agents take. These are basically the “problems” for which agents are the “solutions”. For the acronymically minded, to specify an environment, we call this the PEAS (Performance, Environment, Actuators, Sensors) description. Example as follows :

peas

Next description includes the environment properties which enlists the various observability , number of agents required, whether determinable , episodic , static, discrete or knowing criterion . Example as follows :

taskenv

STRUCTURE OF AGENTS:

Agents are mathematically denoted as sum of agent program(discussed earlier) and architecture i.e. the physical structure which comprises of the sensors and actuators.

agent = program + architecture

Described below is a list of various types of agents (assuming the fact that you are now already familiar with the terms used to describe agents, environments and actions) :

  • AGENT PROGRAMS :  As described earlier , they take the current percept as input from the sensors and return an action to the actuators. The agent program takes just the current percept as input because nothing more is available from the environment.

agentprog

  • SIMPLE REPLEX AGENTS :  They are the simplest kind of agent is the simple reflex agent. These agents select actions on the basis of the current percept, ignoring the rest of the percept history. A connection is seen to have established in complex environments which leads to an action based on certain conditions. This is simply called the “condition-action rule”.

simplereflex

  • MODEL BASED REFLEX AGENTS : Now when it comes to handle partial observability , the best method is to keep track of the part of the world it can’t see now . That is, the agent should maintain some sort of internal state that depends on the percept history and thereby reflects at least some of the unobserved aspects of the current state. Updating this internal state information as time goes by requires two kinds of knowledge to be encoded in the agent program. First, we need some information about how the world evolves independently of the agent and Secondly , we need some information about how the agent’s own actions affect the world . This knowledge is also known as “model” of the world.

modelreflex

  • GOAL BASED AGENTS : Knowledge about the current state of the environment is not always enough to decide an action , sometimes description of a goal condition is also important. Sometimes this approach  is very straightforward whereas sometimes its very tricky and that’s when we need Searching and Planning algorithms of AI.

goalbased

  • UTILITY BASED AGENTS : Goals and current state percepts may lead to destination in variety of different paths , but they are not of the same quality. To determine that our agent chooses a high quality path, utility comes into play . An agent’s utility function is essentially an internalization of the performance measure. If the internal utility function and the external performance measure are in agreement, then an agent that chooses actions to maximize its utility will be rational according to the external performance measure.

utilitybased

  • LEARNING AGENTS :

A learning agent can be divided into four conceptual components. The most important distinction is between the learning element, which is responsible for making improvements, and the performance element, which is responsible for selecting external actions. The performance element is what we have previously considered to be the entire agent: it takes in percepts and decides on actions. The learning element uses feedback from the critic on how the agent is doing and determines how the performance element should be modified to do better in the future. The last component of the learning agent is the problem generator. It is responsible for suggesting actions that will lead to new and informative experiences.

learningbased

 

With this , I would like to end up my blog for today . I hope , reading about the topics discussed above would help you gain interest in them . Although, I am a beginner too and thus am open to any suggestions on how to approach further . I would be thankful if I get ideas to improve my blog too !!

 

Thanks for spending time to read and give value to my work . 🙂

 

 

 

Leave a comment