what is the difference between AlphaGo’s success at Go and computer’s dominance in chess?

Go is a game quadrillions of orders of magnitude more complex than chess, and AlphaGo mastered it using learning techniques closer to the way that human brains work instead of raw computational power 

AlphaGo’s win over Lee Sedol, a world class Go player, is a major milestone in Computer Science. It would be easy to compare this to Gary Kasparov’s defeat to Deep Blue in 1997 and the subsequent dominance of computers at chess, but the merit of this even should not be understated. To illustrate, let’s examine some of the key differences between computer chess and AlphaGo:

Complexity: it has been estimated that the possible number of positions in chess is about 10^50 (a 1 followed by 50 zeroes), while Go’s is 2×10^170 (a 2 followed by 170 zeroes). This means Go can not be evaluated through pure computational power as of today. Furthermore, computers are not 2×10^120 times more powerful than they were in 1997 to make up for the difference in complexity.

Evaluation: traditional algorithms in chess usually score positions based on complex formulas, which measure the value of the pieces and reward certain attributes of a position (like pawn structure, king safety, bishop colors, etc). They take these values and create decision trees that are aggressively pruned in order to reach ever greater depths. Furthermore, chess has been fully solved for all instances where 6 or less pieces remain in the board. This information is stored in databases that chess programs can access and use to improve their evaluation trees.

Go on the other hand, is a more spatial and abstract game. Oftentimes, independent battles occur in different parts of the board, which at one point converge in one outcome. Since decision trees can not be practically developed for a game of such complexity, humans have relied in intuition and pattern recognition. Basic patterns do exist, but they are very local and tactical. AlphaGo managed to abstract and mimic these cognitive techniques into algorithms that can be constantly improved.

Learning: Chess computers decide on openings and endings from databases, and “improve” their game by storing previous calculations into yet more databases (or “hash files”), so that if the position occurs again they leverage those results to go deeper in their calculations. Many hobbyists analyze certain positions to great depths outside games to provide their computers with this extra information and develop and edge over their opponents.

AlphaGo has reached its current level of proficiency by analyzing thousands of high quality games and “learning” from them by modifying its own evaluation through the use neural networks. In addition, AlphaGo took those games and played millions of variations (through Monte Carlo analysis) to further feed its learning process. As a result, it is able to play moves that humans would have never considered, but proved to be correct and strong.

Computation: the current state of chess software can only leverage a limited number of computational resources, which with very few exceptions must be local and tightly managed. The current algorithms are unable to leverage very high scale parallelization, preventing them from leveraging GPUs and even a very high count of CPUs. AlphaGo is able to make efficient use of distributed resources which include both CPU and GPUs.

In summary, AlphaGo’s achievement is a much larger win in many different categories of Computer Science than chess was. More importantly some of these advances create fundamental capabilities that support learning and decision making, with direct and practical applications in our daily lives.

running philosophy

Running must be one of the most productive activities a human can engage on. Not only is a great form of exercise, but one can listen or dictate a book, meditate, solve a problem, catch up with the news, consume a podcast, explore a city, talk with a friend…. or even better, do nothing at all but to let the mind go and allow getting lost in the joy of true freedom. 

Al Gore @ TED2016: the case for optimism on climate change

“After the final ‘no,’ there comes a ‘yes,’ and on that ‘yes’, the future world depends.” – Wallace Stevens

In this talk, Al Gore presents 3 questions on our stance towards climate change:

  1. Do we really need to change? The answer takes most of the talk. It is for the most part the same tone about the brutal consequences of human activity. Three statements caught my attention:
    • The energy trapped due to the greenhouse effect is equivalent to 400,000 Hiroshima bombs every 24 hours (2:00)
    • The Syrian drought in 2006-2010 destroyed 60% of their farms. 1.5 million people had to move to the cities at the same time another 1.5 million moved in as refugees from the Iraq War, with catastrophic geopolitical consequences (8.00)
    • On December 29, 2015 the north pole was 50 degrees warmer than average and above the freezing point causing a partial thaw (9.55)
  2. Can we change? Here his tone changes to one of hope, offering many examples of exponential growth in utilization of renewable energy across the world. He discussed the economics of the change and the key role of the private sector.
  3. Will we change? As soon as the question is presented (17:57), Al Gore starts to transform, increasing the energy of his delivery that climaxes starting at 19:56 with one of the best closings I have seen.

“When any great moral challenge is ultimately resolved into a binary choice between what is right and what is wrong, the outcome is fore-ordained because of who we are as human beings.” – Al Gore

In less than 90 seconds he changed everything into a moral issue for every single person in the room, told us how our basic nature would make the decision a natural one, and gave us a call for action and the energy to execute it. 

This is, in my opinion, what public speaking is truly about.

computer and correspondence chess

chess-king-1372062558ApoSince very young, I always liked chess. I played vs friends and later computers, always in an informal and spontaneous way.

I discovered correspondence chess in 2010, and it seemed like a great thing to get into. I felt it would not only give me a chance to play a game I liked, but would also create the opportunity to interact with people from all over the world and possibly make new acquaintances.

On top of that, it would connect my interest in chess, computers, software and books. I built a reasonably powerful computer, started a chess engine collection, and accumulated several million games from different sources which I painstakingly curated and analyzed. I had found the ideal hobby.

After several tournaments I reached an ICCF (international correspondence chess federation) rating of over 2300 (beginners are 1700 and world champions 2650). I developed a good process to analyze and make decisions, and even won a few mini tournaments.

However, I had failed to produce a single pen pal from all the people I played. I realized that after the initial exchange at the start of the game, very few people were interested in maintaining a conversation. The social aspect was being fulfilled by specialized internet forums where one could have casual, yet very high quality, games and discussions.

But then, two things happened that started to take the joy away from the hobby. First, the top game engine at the time was accused of plagiarizing other engines. The ensuing discussion turned most forums into unbearably toxic spaces where people from both camps relentlessly attacked each other.

Second, and this had become clear to me as unavoidable by 2012, technology ended up taking most of the fun out of the game. Toolsets became less and more sophisticated, deep computer analysis had exhausted most opening lines, and everybody was reaching the same conclusions and decisions. Given the opportunity, a hobbyist had very high probability to draw a game vs a world champion.

By 2014, the interest was gone. I decided to retire once I finished my ongoing tournaments. In early 2015, I completed my last game. I now only visit the discussion forums once every 5-6 months. The drama and fights are gone, but so is most of the people. Some top players are retiring for the same reasons I did. The hobby changed into something I am not keen on.

I do miss the challenge that some games brought, and the satisfaction of seeing your analysis prevail. I have dabbled in shogi, go, and some chess variants, but these are all too niche for somebody in North America. Perhaps one day a new form of playing will surface that will bring the game back for me. I certainly hope so.

app roundup march 2016 – iphone edition

image1When it comes to apps on my computers and devices, I tend to be selective and minimalist. I am always in the hunt for better options, but very seldom find a good reason to change. Having said that, the following are the apps currently installed on my iphone (sorted from most to least used):

  • Evernote: an essential app for capturing and organizing all information I come across on a daily basis, which I later catalog, manage and purge from a computer.
  • Overcast: best podcast application in my opinion. Playing list is very easy to manage and comes with advanced features like SmartSpeed (where the app reduces the pauses between phrases/words to save play time in a way that one can not notice) that can not be found in other players.
  • Microsoft Outlook: I use this for all my non-corporate email and calendars. I like how easy is to archive/delete email, switch accounts and folders, and that the app does a pretty good job cleaning up after itself, never taking too much space as others (like Facebook).
  • Various bank applications
  • Yoga Studio: best yoga app I have found, comes with many preconfigured sessions and one can create its own, which would be played back in a video as if designed by the developer
  • YouTube: needs no explanation
  • MapMyRun: I use this to plan routes and track all my workouts. Watch app is easy to interface with and gives me all the information I need
  • iCountTimer: perfect for interval training, I use it to manage my run/walk cycles in ultra running. Compatible with apple Watch, it even includes complications.
  • Starbucks: for payment and online ordering. Compatible with Watch, I can now pay from my wrist.
  • Whatsapp: for voice calls with those not on an iOS device.
  • IBM Chat: for corporate instant messaging. Perfect when away from the computer
  • Concur: for corporate travel and expense reports. Has saved me from needing a full time assistant
  • Remote: to control the appleTV
  • Battery Doctor: great app for cleaning up orphan data on the phone, it also advises the right charging cycles to maximize battery life. A must have.
  • shomi: for media consumption. Netflix is better and more current, but this service comes included with my internet contract.
  • T-Zero: multiple countdown. I have all upcoming races and trips recorded. Has not kept up with iOS updates, so it has become somewhat unstable.
  • PayByPhone: to pay for parking and have it charged to my credit card. Watch app lets me know how much time I have remaining.
  • Chromecast: to manage the chromecasts and stream to the TV where no appleTV is installed.
  • AirPort Utility: to manage my Airport Extreme and Time Capsules

I have a few additional applications installed that are not listed, mostly to enable connectivity to corporate networks. I doubt those would be of any use to anyone that doesn’t have to connect to the same infrastructure I interface with.

book review: a factory of one

applying lean principles to banish waste and improve your personal performance

– Daniel Markovitz –

A-Factory-of-One-Daniel-MarkovitzA short book that can be consumed in one sitting, “a factory of one” is a pragmatic presentation of key principles of lean philosophy to our everyday life. Chapters are all equally structured, offering a “next steps” section with simple exercises applicable to daily activities, and a “notes” section with additional references.

Chapter 1: “what is your job” explores the concepts of value added and non value added activities, waste and gemba. It offers the value map and the time-tracking log as the key tools.

Chapter 2: “spotting value, spotting waste” centers on 5S, an organizational and visual management system used as the basis for spotting waste and visualize flow. This system is typical of manufacturing workspaces, but the book presents a useful translation to office and information-based environments.

Chapter 3: “flow” delves on the different types of waste, the 4D’s of work processing (do, delegate, designate, discard) and the application of the concept of flow in creative work.

Chapter 4: “visual management” continues where chapter 2 left off and introduces Kanban as a work management system.

Chapter 5: “from bad to good and from good to great” is about continuous improvement (kaizen). It explains standard work and the PDCA (plan-do-check-act) cycle as its basis, and the 5-whys and A3 thinking as problem solving tools.

A factory of one is a must read for anyone wishing to learn the basic principles of Lean Thinking in a way that is concise, simple to understand and actionable.