Category Archives: artificial intelligence

What is Pattern Recognition? How is it useful?

Pattern Recognition is a technique of sensing a repetitive occurrence in any situation. It can be very useful in problem solving.
Say we want to count the number of x in the following diagram
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
We see there is a pattern in the way the ‘x’ is placed – uniformly across all columns in every row. What would an intelligent person do? Would he count all the singleton ‘x’ beginning from the first row and ending with the last? The answer, as you have rightly guessed, is NO. The person would count the number of ‘x’ in any row and multiply it with the number of rows. In our above figure, it should be 10 (number of x in each row) multiplied by 5 (number of rows) which gives the number of x to be equal to 50.
For problems of much larger sizes and complexity, detecting patterns can help in finding solution faster making it an efficient one. That is why Pattern Recognition is so useful in Computational problem solving.


Leave a comment

Filed under artificial intelligence, Data Science and Analytics

Constraint Satisfaction problem with example


In real life problem solving and applications, we are asked to provide the best solution keeping certain constraints in mind. Let us consider an example. Each year the National Film Awards jury has to pick a certain film as the best film of that year. How would the assessing Jury arrive at a reasonably good judgement? Do they have to watch each and every single film that year? Simple logic says that if the Jury members decide to watch three films per day it will take them the whole year (India makes over a thousand films each year) to view all of them. How does one handle such a solution demanding situation?

As with all complex problems, we need to use good heuristics in this case because evaluation of all possible entity is simply infeasible. Let us say that at the outset the National Jury need to be provided a list of best fifty films that year which can possible make the final grade. Depending on the size of various regional film industries, the selection number from that industry can be fixed and local film critics/Local Jury member can allocate scores/grades and select the best from that industry. A criteria could be set that LFSR (Local Film Score Rating) should be 0.6 and above on a scale of 1.

Similarly the apex film jury can allocate NFSR (National Film Score Rating) and based on summative score of LFSR & NFSR the best film can be chosen. We may further set additional criteria that NFSR >0.7 and LFSR+NFSR>0.8. These criteria becomes essential to filter and set standards so that the winning film is worthy of the prestigious honor.

Let us assume that the decision is arrived at through the opinion of ten jury members, five at local level represented by LJ1, LJ2, LJ3, LJ4, LJ5 and five at National levels are represented by NJ1, NJ2, NJ3, NJ4 & NJ5 …

So, now we basically have to compute the following:

Maximize (LFSR+NFSR)   where   LJ1+LJ2+LJ3+LJ4+LJ5= LFSR

&      NJ1+NJ2+NJ3+NJ4+NJ5= NFSR

Subject to       (LFSR/5)> 0.6

(NFSR/5)> 0.7


Leave a comment

Filed under Articles, artificial intelligence

Basics about Search

  1. Why are Searching and Searching algorithms important in AI?

The operation of an AI system can be characterised as a search process in which rules are tried until some sequence is found that produces the desired solution. While selecting a sequence of operations to determine an exact solution of a problem, an AI system has to face a large number of alternatives all of which are not at all equally promising for achieving the solution. Individual evaluation of all these alternatives even with the fastest available computer requires very long time which may exceed the entire lifetime of a human being depending on the complexity of the problem.

2. What is a Search Space?

A node is a discrete point and possible goal in the solution path. The set of all nodes is the search space

3. What are Blind Searches? Why do we need to know about blind searches?

A blind search (also called an uninformed search) is a search that has no information about its domain. The only capability of blind search is its ability to distinguish a non-goal state from the goal state. Blind searches have no preferences as to which nodes it should explore first. Examples of uninformed searches are Breadth First Search and Depth First Search.

One needs to know about uninformed search as they form the basis for some of the intelligent searches.

4. What is a Heuristic?

A heuristic is the 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 used when

  • The solution path for the problem is not known
  • The perfect solution is not computationally feasible

In Best First Search algorithm, the heuristic used is the distance of the node from the goal node

5. List some applications of Heuristic search

The application of Heuristic Search fall into three general classes

  • Path finding problems
  • Two player games
  • Constraint Satisfaction problem                                                                                                                                                                                                                              6.  What is an Informed Search?

Informed Search is a heuristic search in which there is a domain specific knowledge of the search. The heuristics are used in informed search to reduce the search space. Some of the informed searches are Best First Search and Hill Climbing.


Leave a comment

Filed under artificial intelligence

What is an AI technique?

AI problem solving involves complexity. To handle complex problems, the techniques need to have the capability to deliver acceptable solutions. Some of the common AI techniques in use are the following:

  1. Learning – Learning enables to perform correctly and efficiently an already encountered problem in the past that have been solved. In a game of chess between a human and a computer, if the computer encounters a similar board position and a move by the player which led to its defeat, the computer would have learnt from its mistake and try to circumvent the situation by playing a different game so as not to repeat his failure.
  2. Heuristics – Heuristics are intelligent guesses. When an AI chess program is your opponent in a game of chess, the intelligent program must be able to infer correctly (intelligent guess) the move that you would make …
  3. Decision making under uncertainty – Driving requires reasoning/decision making under uncertain situations by the driver. A driverless car should be equipped with similar capabilities to move on the roads. AI techniques such as Fuzzy logic are often used for arriving at decisions under uncertain situations.
  4. Natural Language Processing (NLP) – Text Mining and Analytics techniques, Sentiment Analysis and NLP techniques at word, sentence, paragraph and document level, the interpretation of unstructured text data at syntax and semantic level, effective speech recognition and synthesis methodology are essential for AI systems.
  5. Embed Common Sense– Humans have an innate ability of logical reasoning. If an individual is a Ph. D. it is common sense that the person possesses an under-graduate and post-graduate degree. Embedding machines with common sense reasoning is a non-trivial task.
  6. Knowledge Based (Logic) Reasoning – Deriving knowledge / inference from a given set of facts. Feeding parametric values of a patient into medical Expert Systems may result in proper diagnosis of the ailment and enable right prescription of drugs.
  7. Swarm intelligence – For combinatorial problems i.e., problems having a large number of possible alternatives, collective intelligence in the bird and animal kingdom such as ants (ant colony optimization) and birds (particle swarm optimization) for arriving at optimized values need be incorporated for problem solving by AI systems.
  8. Case Based Reasoning (CBR) – CBR systems make use of knowledge/experience gained in the past for current problem solving.
  9. Predictive ability – Neural Networks, Statistical techniques like Regression and K-Nearest Neighbor, Bayesian Classification enable good prediction and has wide applications …
  10. Soft Computing – The ability to perform computation with imprecise data using Genetic Algorithms, Fuzzy Logic and Neural Networks or a combination of them forming hybrid techniques are widely used in several AI problems …
  11. Fault Tolerance – In many situations, humans are able to interpret intelligently even from wrong answers. As an example, India has many linguistic groups with similar surnames. There have been instances when people kept referring to ‘Mr. Das’ and ‘Mr. Bose’ and I had to infer that they were actually referring to me – Ghosh. The three surnames are mostly seen in the Bengali community and others tend to err while addressing… such capabilities need to be incorporated into AI systems…

The above non-exhaustive listing is a pointer to the widely used AI methods and techniques in recent times…

Leave a comment

Filed under Articles, artificial intelligence

How technology is changing our lives? – I

Yesterday Ma (Mother) made a request. She wanted me to buy a ‘Get well soon’ card for her sister who underwent an operation in Kolkata. Trying to comply I went into the Gift shop in our colony. It was reasonably big in terms of space and crowd and availability of items. I looked around for the Recovery card, but to my discovery I couldn’t see a ‘single card’ anywhere in the shop. I asked the owner and he informed me that since last three years he has stopped keeping them since there are no buyers and he incurs a big loss in stocking them…not surprising since with the advent of the Internet, there are dime a dozen sites where one can send greetings for gratis. Only a fool would spend money on them. Very much like the way email has reduced our cost in sending postal mails …

I returned and told Ma about what had transpired… Cards were a part of my growing up years and the thrill of receiving one after a ‘year long wait’ for Birthdays and New Years can’t be calibrated with any yardstick…

A passing thought engulfed me. All of us want to live in a better society. A truly evolved society need to emphasize upon the importance of human relationships. Ironically, Technology that has the capacity to make lives better (and has delivered benefits beyond comprehension) has also contributed immeasurably towards its decline …even though AI is trying to map every human emotion with their machine counterpart, I am not someone who believes that all of it can be captured effectively …


Leave a comment

Filed under Articles, artificial intelligence, Technology: Boon or bane?

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 …

Leave a comment

Filed under Articles, artificial intelligence, Data Mining, Data Science and Analytics

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? ….

Leave a comment

Filed under Articles, artificial intelligence