AI, Heuristics, KBS, Social Media Analytics..

The power of Social Media Analytics and Data Science …

I’m told a famous cricket commentator is off the air since the last couple of years or so. I am not a Cricket buff and can’t vouch for the authenticity of this fact. But what has transpired it seems that about three/four years ago, a famous actor in a tweet had criticized this commentator about showering lavish praises on foreign cricketers while being not too kind when it came to Indian players. This generated a storm among twitterati with things gradually snowballing into such negativity for this commentator that he was axed from his job. His disappearance from all Sports channel is a consequence of this.

Here lies the power of social media and social media analytics. How do you think the rates of celebrities endorsing an ad on TV for a few seconds determined? One of the prime determinants would be the kind of followers the stars have on social media sites and the number of likes and re-tweets that they generate …

As long as social networking would continue to grow, data science would remain a challenging discipline …


AI and C programming

I was having a chat with a friend of mine who have been working in software projects in Europe for a while now.  Currently, he has been handling projects that make use of AI. As part of AI programming, one would require to write scripts. My friend informed me that most of these scripts (as well as other recent programming languages) uses concepts and structures borrowed from C language. So there, folks, never underestimate the importance of learning C language in your programming class. The profound impact Dennis Ritchie has had on modern computer science have been greatly undervalued till now, what do you think? ….

(Dec 3, 2017)


Q1. Which subjects have influenced developments in ArtificiaI Intelligence?

Some of the influences in AI came from diverse fields such as

(i)               Logic

(ii)             Pattern Recognition

(iii)           Neuroscience

(iv)           Cognitive Science

(v)             Philosophy

(vi)           Building Fast computers

(vii)         Mathematics, Probability and Statistics

(viii)       Linguistics

(ix)          Algorithms

(x)            Control Theory

(xi)          Databases

(xii)        Data mining

(xiii)      Data warehousing

(xiv)      Advances in data acquisition devices and technologies (wearable computing etc.)

(xv)        Internet (web data)

(xvi)      Swarm Intelligence

(xvii)    Bio Inspired Computation

(xviii)  Data Structures

(xix)     Combinatorics

(xx)       Optimization


Q2. How do we know whether a system is intelligent or not?         

The answer to the question is to be found in the famous Turing Test named after the great Computer Scientist Alan Turing. Turing devised a mechanism in which a human interrogator is kept in a separate adjacent room from a person and a computer. The walls of separation wouldn’t enable the interrogator to peep inside the other room housing the person and the machine. If the computer manages to converse/answer intelligently fooling the interrogator making him unable to vouch convincingly whether the replies has come from the computer or the person, then we can say that the computer has passed the Turing Test, and that it qualifies as an Intelligent system. 

Q3. What is an agent? Explain with an example 

An agent is something that can perceive the environment by sensors and act upon it through actuators e.g., a vacuum cleaner agent – as soon as it senses dirt in the environment, it performs the cleaning action by sucking through its pump (actuators).  

 Q4. What is searching? Why are searching techniques required? Explain with an example

Searching means to find the required item/data from a store of data containing relevant and irrelevant data… searching techniques are the techniques used by us to search the same. Searching techniques are needed to make the searching process efficient and time saving due to large amount of availability of data. Searching techniques are of two types:

(i)               Uninformed or blind search – Breadth First Search, Depth First Search …

(ii)             Informed Search – (Heuristic based ) Best First Search, AO* …  

Q5. What is meant by Natural Language Processing? Give an example of an NLP system    

Natural language processing means that the computer is able to understand, analyze and act upon the environment passed to it through human speech, text or video in normal human languages such as English e.g., a robotic waiter that is able to understand orders given to it by the customer in different human languages.   


What are Knowledge Based Systems (KBS)? How does KBS differ from AI?

These days several institutes run courses naming them as KNOWLEDGE BASED SYSTEM DESIGN, INTELLIGENT SYSTEMS or plainly ARTIFICIAL INTELLIGENCE (AI). There is great overlap in the content of these courses. So, the question that begs to be asked “Does KBS and AI mean one and the same thing?”
KBS draws from a repository of knowledge kept in knowledge bases for inference and guiding solutions of complex real-life applications towards a near accurate and acceptable one. An example would be Expert Systems which are computer programs for non-deterministic problem solving which provide expertise of a human expert during his non-availability or in situations where knowledge from several experts and domains need be incorporated. Expert Systems like MYCIN in medical domain is an example of KBS.

On the other hand, the goal of AI is to make a machine behave like a human, even incorporating human traits of ineptitude (like taking sufficient time like a human for solving mathematical calculations involving big numbers). KBS has no such restrictions of human like behavior, it draws upon human expert knowledge and builds upon it for better performance in real-life problem solving. In a sense, KBS may be viewed as an application area of AI.


Some definitions/pioneering thoughts on Artificial Intelligence

In Computer Science, work termed “AI” has traditionally focused on the high-level problem; on imparting high-level abilities to “use language, form abstractions and concepts” and to “solve kinds of problems now reserved for humans” (McCarthy et al. 1955)

AI is the science of making computers do things that require intelligence like humans (Minsky)

The automation of activities that we associate with human thinking, activities such as decision making, problem solving, learning … (Bellman, 1978)

Physicists ask what kind of place this Universe is and seek to characterize its behavior systematically. Biologists ask what it means for a physical system to be living. We (in AI) wonder what kind of information processing system can ask such questions – Avron Barr and Edward Feigenbaum (1981)

The fundamental goal of this research is not merely to mimic intelligence or produce some clever fake. “AI” wants the genuine article; machines with minds – John Haugeland (1985)

AI is the study of mental faculties through the use of computational models – Eugene Charnaik and Drew McDermott (1985)

We call programs ‘intelligent’ if they exhibit behaviors that would be regarded intelligent if they were exhibited by human beings – Herbert Simon

AI is the study of techniques for solving exponentially hard problems in polynomial time by exploiting knowledge about the problem domain – Elaine Rich

The art of creating machines that perform functions that require intelligence when performed by people (Kurzweil, 1990)

The study of the computation that make it possible to perceive, reason and act (Winston, 1992)

AI … is concerned with intelligent behavior in artifacts (Nilsson, 1998)

Computational Intelligence is the study of the design of intelligent agents (Poole et al., 1998)

AI 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 require human types of intelligence (Dan W. Patterson)



1. Deepak Khemani, A first course in AI, Mcgraw Hill Education

2. Stuart Russell and Peter Norvig, AI: a modern approach, Second Edition, Pearson


4. Dan W. Patterson, Introduction to Artificial Intelligence and Expert Systems, PHI ISBN-978-81-203-0777-3

Q. What are Knowledge Based Systems?

Knowledge Based systems are systems that contain a good amount of knowledge to perform difficult tasks. In his seminal 1977 paper at the Joint International Conference on Artificial Intelligence (IJCAI), Edward Feigenbaum emphasized that the real power of an expert system comes from the knowledge it possesses rather than the particular inference schemes and other formalisms it employs [1].
Much of the work in AI has been related to Knowledge Based systems, which includes work in Expert Systems, Natural Language Understanding, Vision and others.
Knowledge based systems derive their power from the knowledge base. The knowledge base is a repository of facts, rules, heuristics and procedures. The knowledge base is segregated from the control and inferencing components enabling it to add additional knowledge or refine existing knowledge independently.
1.      Dan W. Patterson, Introduction to AI and Expert Systems, PHI, ISBN-978-81-203-0777-3

Q. What is Knowledge Engineering?

Knowledge Engineering is a skill-set expected in a Knowledge Engineer. A knowledge engineer is responsible for designing and building a KBS (Knowledge based systems). For this, a knowledge engineer has to interact with human experts (domain knowledge) and incorporate the knowledge using Knowledge Representation schemes (rules, frames & others) into a knowledge base. Once appropriate knowledge have been encoded, a KBS system can be useful for discovery of knowledge to be made use of in real-life applications such as Robotics, Tele Medicine or in Traffic Control.

The success of Knowledge Engineering would depend on the ability of the Knowledge Engineer to extract expert knowledge from the minds of human experts and other informative sources from relevant domains.

The AI scientist Edward Feigenbaum describes the knowledge engineer in the following words “The Knowledge Engineer practices the art of bringing the principles and tools of AI research to bear on difficult application problems requiring experts’ knowledge for their solution. The technical issues of acquiring this knowledge, representing it, and using it appropriately to construct and explain lines-of-reasoning, are important problems in the design of knowledge-based systems … The art of constructing intelligent agents is both a part of and an extension of the programming art. It is the art of building complex computer programs that represent and reason with knowledge of the world (Feigenbaum, 1977, p. 1015)” [1]
1.      George M. Marakas, Decision Support Systems in the 21st Century, PHI ISBN-978-81-203-2376-6
Q. What is a Heuristic? Justify how heuristics can be effective to solve problems?

A heuristic is an intelligent guess used in problem solving. It is an approximation done to reduce the search space. A heuristic function defines a state in terms of a number and this number is used for decision making in the search problems. Heuristics are employed when
Ø The perfect solution to the problem is not known
Ø The best solution is not computationally feasible
Example – In a best first search algorithm the heuristic used is the distance of the node from the goal state. In the 8 tile problem, hamming distance and Manhattan distance are used as heuristics
Effectiveness of heuristics – Heuristics are effective to solve search problems because they drastically reduce the search space because each time the alternatives are explored one out of them is chosen which is further expanded, so we do not have to traverse all nodes.

More By  :  Subhajit Ghosh

  • Views: 2393
  • Comments: 0

Name *
Email ID
 (will not be published)
Verification Code*

Can't read? Reload

Please fill the above code for verification.