Favourite Blogs
A couple of blogs I frequently visit that I’ll recommend can be found below
Scalable System Design
- 1024 Cores
- Psy Lob Saw
- Vanilla Java
- Gil Tene’s Blog
A couple of blogs I frequently visit that I’ll recommend can be found below
I’m always on the lookout for podcasts that I can add to my little library of good podcasts. With some very aggressive curation of what I subscribe to, the following podcasts never disappoints
The a16z Podcast discusses trends, news, and the future of a world being shaped by technology, especially as ‘software eats the world’. It features industry experts, business leaders, and other interesting thinkers and voices from around the world. This podcast is produced by Andreessen Horowitz (aka “a16z”), a Silicon Valley-based venture capital firm that invests in entrepreneurs building the next great consumer and enterprise companies. Multiple podcasts are released every week and sometimes on weekends; visit a16z.com for more details.
Host Stephen Dubner has surprising conversations that explore the riddles of everyday life and the weird wrinkles of human...
Steepest descent search will arrive at a local optimum. To escape, we need to allow some “bad” (not improving) moves. Tabu search seeks to control which “bad” moves are allowable and which are not. To escape from a local optimum, we need to move out of its “basin of attraction”.
Associated with any local optimum is a set of points which if we run steepest descent starting from any of these points, it’ll end up in that local optimum. This set is called the basin of attraction. The search space is partitioned by basins of attraction. We need to allow sufficient “bad moves” to go from a local optimum to a neighbouring basin.
To try to get this to happen, Tabu Search allows reversing moves (at least for a while) in the hope that this will move the search further away. For a search space of binary strings with Hamming-1 neighbourhood, this means keeping a list of bits that have been flipped...
Genetic algorithms use a population of points to search for good solutions. It is hoped that using a population will help solve the problem of local optima. It is based on an analogy with the evolution in the natural world
Darwin proposed that natural evolution was driven by the following principles
It is now known that such characteristics are encoded genetically (in DNA molecules) which are subject to variation which are introduced by
Biologists call the propensity to have children the “fitness” of an individual.
To create a genetic algorithm, we have a population of points in the search space. We encourage...
Differential Evolution(DE) is a population based algorithm whereby new points are created by taking a random member of the population, performing a “crossover” on it with a “partner”, and replacing it in the population if the result is better than the original.
The partner for crossover is generated as follows. Suppose we have chosen x for crossover.
a, b, c randomly from the population distinct from each other and distinct from x
v = a + F(b - c) where 0<F<1, note that F is not a function
v is the partner for x
That is, for each i = 1..n, vi = ai +F(bi - ci)To cross x with v
for i = 1 to n
if(random < CR)
yi = vi
else
yi = xi
CR is a crossover bias typically 0.5
x from the populationa,b,c from population distinct from each other and...This is mostly a collection of reference materials that I have read or regularly read on Haskell
Stephen Diel’s Blog
Oliver Charles’s Blog
Dan Pipponi’s Blog
Edward Kmett’s Blog
Over the years, I have read a fair amount of books and some of them have left a lasting impression on me for whatever reason. I’d rather not go into details about why I loved those books but instead just list them here in case anyone finds them interesting too