Bisection or Binary logic is an example of a simple yet powerful idea in computer science that has today become an integral part of every computer scientist’s arsenal. It stands synonymous to logarithmic time complexity that is no less than music to a programmer’s ears. Yet, the technique never fails to surprise us with all the creative ways it has been put to use to solve some tricky programming problems. This blog-post will endeavour to acquaint you with a few such problems and their solutions to delight you and make you appreciate it’s ingenuity and efficacy. Continue reading
What kind of thoughts does the word ‘infinity’ evoke in your mind? Do you visualize a never-ending expanse that stretches in all directions? Or maybe a straight line extending in both directions beyond visual perception. Some of us may even think of an astronomical figure and conceptualize infinity to lie much beyond this number itself. Yet, how does mathematics treat infinity? How do we logically/formally make sense of this idea and put it to great use to further enrich our understanding of this universe?
Let’s explore and demystify what this rather abstract construct really conveys to us through the language of mathematics. Continue reading
Artificial Neural Networks (ANNs) are used everyday for tackling a broad spectrum of prediction and classification problems, and for scaling up applications which would otherwise require intractable amounts of data. ML has been witnessing a “Neural Revolution”1 since the mid 2000s, as ANNs found application in tools and technologies such as search engines, automatic translation, or video classification. Though structurally diverse, Convolutional Neural Networks (CNNs) stand out for their ubiquity of use, expanding the ANN domain of applicability from feature vectors to variable-length inputs.