Paper Review: Mastering the game of Go without human knowledge

This paper was published by DeepMind to describe how its AI-powered Go program AlphaGo Zero has evolved from its predecessor AlphaGo Lee which was explained in "Mastering the Game of Go With Deep Neural Networks and Tree Search" published in 2016. AlphaGo was already able to beat several human players in the past. For example, … Continue reading Paper Review: Mastering the game of Go without human knowledge

Design Principle #2: Consider using the builder pattern when there are many constructor arguments

Before jumping on to builder pattern, let's talk about telescoping constructor (anti)-pattern and JavaBeans pattern. In Java, it is not possible to set default values for constructor parameters. This is where the telescoping constructor pattern comes handy. A class has multiple constructors, where each constructor calls a more specific constructor in the hierarchy, which has … Continue reading Design Principle #2: Consider using the builder pattern when there are many constructor arguments

Design Principle #1: Consider static factory method pattern instead of constructors

In some scenarios, instead of having a constructor, it is better to have a public static factory method that returns an instance of that class. For example, the below method returns an instance of the Boolean object when given boolean primitive type. public static Boolean valueOf(boolean val) { return b?Boolean.TRUE:Boolean.FALSE; } This method has the … Continue reading Design Principle #1: Consider static factory method pattern instead of constructors

Paper Review: Efficient Coflow Scheduling Without Prior Knowledge

In this paper, the authors have given an approach to solve the problem of efficient coflow scheduling without prior knowledge.  Inter-coflow scheduling improves application-level communication performance in data-parallel clusters. However, existing efficient schedulers require prior coflow information which limits their applicability. Schedulers without prior knowledge compromise on performance to avoid head-of-line blocking. The paper discusses … Continue reading Paper Review: Efficient Coflow Scheduling Without Prior Knowledge

Paper Review: Dominant Resource Fairness: Fair Allocation of Multiple Resource Types

The motivation behind writing this paper is to solve the problem of fairly sharing multiple resources when users have heterogeneous demands in them i.e. each user may have different demand for each resource. The authors propose Dominant Resource Fairness (DRF), a generalization of max-min fairness approach to multiple resource types. The most widely used allocation … Continue reading Paper Review: Dominant Resource Fairness: Fair Allocation of Multiple Resource Types