# Enlightened By Randomness

Weeks ago I read the book Fooled by Randomness. Besides the interesting stories on financial trading and risk management, the core message of the book is the fallibility of human knowledge. The fallacies that we often make are: 1. Overly associative. As my favorite quote in the book states, “Symbolism is the child of our inability and unwillingness to accept randomness.” We human like to assign meanings to anything, even when there are none. Religious people look at a Jesus-looking […]

# Language Processing By the Human Brain

Today I came across the above image. It is amazing how the human brain can process words even when the letters are misordered. What makes it more interesting is that I should not have a gene that corrects English words as my ancestors are Chinese. This ability to auto-correct English words must be caused by a more general error-tolerant communication mechanism in the brain. This reminds me of the complexity of the mathematics in signal processing, noise filtering, and error […]

# Robocode – Predictive Targeting Implementation

When I was building my bot, the most interesting aspect is implementing predictive targeting.   To tackle this problem, I first define two aspects I can use for prediction:  Velocity Change and Angular Change per turn. Here is how I capture these two parameters: angularChange = (targetHeading – lastTargetHeading) / turnsElapsed; velocityChange = (targetVelocity – lastTargetVelocity) / turnsElapsed; After capturing these two values, I can calculate an angle in addition to the current bearing such that the bullet shot from that […]

# On Robocode & Strategy

Days ago I’ve stumpled upon a programming game called Robocode while I was reading up AI.   Basically it is a platform for programming intelligent tanks that fight with each other.  http://robocode.sourceforge.net/ After playing with it for a while, I discover the following to be true for heads-up battles: 1. It is always better to move around, this avoids targets. 2. It is always better to predict the movement of the enemy and shoot accordingly. 3. It is always better to […]