Tags: google

Google open sources it’s machine learning system

I am a huge proponent of open source technologies and having worked predominantly in various web technologies in the course of my career, I mostly work exclusively with open source stacks.

In the recent past I have been very keen to try and wrap my head around Artificial Intelligence and more specifically Machine Learning, although I am still barely even scratching the surface of the nitty-gritty’s of the field, especially the mathematical underpinnings, this is still a huge deal!

Google open sourced it’s second generation machine learning system TensorFlow!

It is a production ready library which has support for running numerical computations using data flow graphs on multiple CPUs, GPUs or mobile devices! Data Flow graphs as explained here represent mathematical computations described using directed graphs where each node corresponds to a certain numerical computation whereas the edges connecting the nodes represent the data communicated between them.

The documentation looks really impressive, with lots of examples. I am really keen on trying something out with this in the near future.

Considering that this is open source, I strongly believe this will give rise to a lot of innovative & creative applications and from the looks of it bring down the entry barrier drastically of solving real-life problems where this can be applied and made use of to make intelligent systems!

The fact that it also provides portability to work on mobile devices sounds like a game changer that should definitely drive a lot of adoption within the machine learning community & we should see a lot of interesting applications leveraging mobile devices which are packed with loads of sensors collecting all kinds of data from our day to day life!

Source: TensorFlow

Google Code Jam 2014 Qualifiers

Google Code Jam has always been a competition I have cherished, simply because the problems they post are brilliant and the closest to reality as compared to problems of other competitions. They’re always fun to read, disect & solve, more often than not, the solutions are reasonably trivial (especially for the qualifiers) yet extremely subtle & deceptive.

Today I want to share the solutions of 3 problems I was able to solve, the code should pretty much speak for itself because none of it is very complex.

  1. Magic Trick

    This one was the easiest of all, more of a warmup I suppose. Here’s the solution :

  2. Cookie Clicker Alpha

    Based on Cookie Clicker game developed by Orteil, this one was slightly trickier, and required a little bit of math. I solved it with a recursive algorithm first, then optimized it into an iterative one to pass for the large input. Here’s my solution with both recursive and iterative parts :

  3. Deceitful War

    This one was really subtle, easy enough to understand but hard to implement. It took me a while to put my understanding of how much being deceitful at the game called War translated to my points. Here too I solved both the normal game War and Deceitful War recursively first (it’s just easier to think recursively thanks to Lisp), then translated those to their iterative counterparts. Here is my solution with both recursive & iterative parts :