Tuesday, September 25, 2012

Why study of algorithms are still very important in computing

Algorithms is the mother of computing science(If Mathematics is the father!!). The very first concept of computing was the algorithm on which depended the first simple operations and all that followed.
             Yes, it was algorithms which preceded all the fancy big and small systems and electronics that has enabled us to visualize  all the fascinating results it yields according to it. 
Derived from the name of Al Khwarizmi, the great mathematician who invented algebra, it lays down the basic step of realizing the solution to any problem being dealt. One great thing about it is that it involves all the mathematical details of the problem and gives a worthy information about its speed and space complexity. And hence, it provides a summative look on how the problem is going to be solved and all its estimates for the operation.
A great thing one might want to know is that "Good algorithms are better than  Supercomputers".
 It may seem rather dubious but the fact is it holds true. Over the last 5 decades many new techniques and theories have been playing around, like we have better than ever memory chips and processors, yet, a good algorithm can make a turnaround and make a simple PC do what a supercomputer can do. So its a thing of millions of dollars and work hours a good algorithm can reduce and make it happen. A simple example, the Quicksort can do sorting in an instant for a billion counts in a PC of what it would take years with Selection sort in a Supercomputer.
This is the beauty of a good algorithm and the miracle it can cause.

And again we may say that "Good algorithms are better than bad algorithms". This is obvious to follow as it changes a lot from all the space and  time complexity from one algorithms which has quadratic complexity to the one with logarithmic complexity. 

Study of good algorithms is very essential in computing sciences. It affects the design of efficient code which is a must ingredient for any good application. 


Saturday, September 22, 2012

How to compete online programming competitions

It so happened to me this month that I broke the final barrier of not being a rated member of Codechef and Codeforces. 
It has been a bit of time since I registered at both the reputed online programming platforms. Though I have been practicing some problems, still it didn't occur to me to make it a point when it came to the contests on this two sites- The coveted Long and Short contest of Codechef and regular contest for Codeforces.
About how I did....Nothing so extra ordinary because all it needed was just one thought and determination that "I had to do it this all cost". It paid off and now I am rated in both the platforms. Its a small step yet it is a big leap because it makes me motivated in all that I do now and  yes, I can say that I am more confident now than I was and this will help me in doing better.

If there is anyone still not being a part of these things, I sincerely invite you to it. Not just that we can improve our skills but that it makes us motivated and learn a great deal which would otherwise take a lot more time and devotion. 

I would like to tell that all we need are:
>> Firm and solid knowledge of a programming language.
>> If not, then not stopping to learn one of it.
>> Never say die spirit, this will keep us moving and reach us to our goal.
>> Being interactive and active in all participations.
>> Just give a try...come it..and you can(Believe this!!)

                To anyone with  passion of coding, it brings the joy of accomplishment and fire to burn for more as one goes on. Coding is not just about ending in a company. One who has the command over it knows it certainly well of what it is capable of and where it can take. One is never born without limitations or nor with all the trophies. Needless to say that hardwork pays.
 So happy coding!!!

Thursday, September 13, 2012

Machine Learning: Creating Efficient Intelligence

Advent of Machine Learning
 Artificial Intelligence has been used extensively in many applications over the last 3 decades. Areas of prime importance such as manufacturing, research, healthcare,finances and banking has been using AI on an extensive and intensive basis. 
    Over the recent years, researches has been conducted on the sidelines of AI to make its application much more productive. Things such as Data Mining popped up following the internet explosion and took a very pleasing growth proving its use in industrial scale applications. 
    One question has though  been asked since its inception:"Whether the machine themselves can be made to learn on its own?". This lead the researchers to conceive the idea of "Machine Learning",where the machine itself will learn from its own experience and derive appropriate action for a thing in future based on this, without having to write any program necessarily for the same. This almost seems to conjunct with the quest for building the ultimate the human-intelligent machine, but speculations are far from achieving that. 
Yet it may be said numerous application of machine learning has sprouted up today, powering many startups and giving invaluable services to many firms which would have been otherwise financially so burdening and time consuming.
Start ups like Predilytics are using machine learning algorithms to help the healthcare industry with its large data dynamics. Not just that, even more fancier applications can be made with this technique to the extent of multiple voice recognition and individual partition. Recently a Forbes column wrote of using machine learning algorithms to automatically generate contents of a book. 
Powered by Moore's law obedient,ever increasing memory power industry and the advancement in the processing techonology makes Machine Learning a potent technology of the future. The demand end has also been impressive with todays industries involving a lot of analysis and planning, it could make its growth quickly as anticipated.
Where career is concerned, Machine learning has indeed been 
listed as top skill in demand of the current times(computer world).