Robot Vs Turing

robotIn one of my previous blog posts, we discussed about measuring computer’s intelligence and how we can use the Turing test for it. After Turing proposed that test, a lot of people realized its importance and started working on it. People really wanted to believe that machines are indeed capable of thinking. We need a way to determine if a computer is thinking on its own. The biggest obstacle here is that this is a very subjective topic. Given the knowledge that something is indeed a machine, how do we ascertain that the machine is capable of thinking?   Continue reading

The Genesis Of Genetic Algorithms

genetic algo dna styleLet’s say you have a function and you want to optimize it. In real life, this function can take many forms like choosing the right set of features for your car while keep the price low, picking the best possible apartment considering all the different factors like location, rent, closeness to stores etc, making a business plan, and many other things. In fact, we continuously use optimization in our everyday life without even realizing it. The interesting thing to note is that we don’t get the most optimal answer every time. We just look around for a while and stop when we get a good enough answer. More often than not, these answers are sub-optimal, mostly depending on the initial point we chose. So how do we get to the best answer? There might be billions of options, do we need check all of them to get to this global optimum?   Continue reading

How To Build A Web Crawler?

webI was reading an article the other day and I came across the term “web crawler”. The context in which it was used got me a little curious about the design of a web crawler. A web crawler is a simple program that scans or “crawls” through web pages to create an index of the data it’s looking for. There are several uses for the program, perhaps the most popular being search engines using it to provide web surfers with relevant websites. Google has perfected the art of crawling over the years! A web crawler can pretty much be used by anyone who is trying to search for information on the Internet in an organized manner. It is referred to by different names like web spider, bot, indexer etc. Anyway, that article got me thinking about building a web crawler. I just wanted to fiddle with it and see how much time it will take to get something working on my machine. It turned out to be quite easy!   Continue reading

Dynamic Programming

Most of the techies have come across this concept one time or the other. People know that it’s really good and very useful, but not a lot of them know how exactly it works and why it works in the first place! Let’s say you are presented with a big box of precious stones with different sizes and weights. You have a bag with you which can only hold a limited weight. So obviously you can’t take everything. In particular, you’re constrained to take only what your bag can hold. Let’s say it can only hold W pounds. You also know the market value for each of those stones. Given that you can only carry W pounds, what stones should you pick in order to maximize your profit?   Continue reading

The Magic Of Reverse Image Search

Are you familiar with the images shown above? What if you want to find out what these images contain? For those of you who are not familiar with Google reverse image search, do the following: Go to Google Images and click on the camera icon towards the right end of the search bar.   Continue reading