Short review of Clerc and Kennedy 2002
I just finished reading Maurice Clerc and James Kennedy’s 2002 paper “The Particle Swarm: Explosion, Stability, and Convergence in a Multidimensional Complex Space”. And what a great paper it was! They quickly decompose the dynamic system to the interactions of velocity and distance from the “best” or optimum-to-date, and show that when these relationships are...
The first particle
In building the particle swarm, I chose to begin with a single particle operating in a one dimensional problem space, surfing the sinosoidal wave. This lets me implement the results of Clerc and Kennedy 2002, which augments the simplistic particle swarm model with a set of coefficients that can be tuned to affect individual particle trajectories. One of the things I found very intuitive about...
Simple parallel benchmark for ScalaCL
Curious to revisit an earlier post about computations over lists versus arrays in Scala, and examine how the environment handles more difficult floating point operations with OpenCL acceleration under the hood, I rigged together this very very simple benchmark on scalacl/0.2.Beta10: import scalacl._ import scala.math._ implicit val context = new ScalaCLContext def testLists(num: Int): Float =...
Return to Scala
Pure object oriented language: everything is an object. Pure functional language: functions are first class objects, similar to ML or Haskell Uniform object model, similar to Smalltalk and Ruby. Universal nesting: Any type of object can be nested in any other type of object. Uniform access principle for method invocation similar to Eiffel. Actor-based concurrency inspired by Erlang. Treats...
Scala in 60 Seconds
On OS X, Download Scala 2.8.1-final.tgz from http://www.scala-lang.org/downloads. Unpack it and place it in your ~/dev directory (or whatever structure you use for code projects) Add scala to your path: > vi .bash_profile ... PATH=$PATH:/Users/yourname/dev/scala-2.8.1.final/bin ... :wq! > bash > echo $PATH Type “sbaz” to see the options: > sbaz sbaz [ global_options......
A Glimpse Into the Hive Mind
PART I - INTRODUCTION This article is a brief introduction to Swarm Intelligence, aimed at the novice programmer or aspiring game developer. There are references at the end of the article that provide advanced programmers who are unfamiliar with swarm mechanics a foothold in this fascinating and beautiful subject. If you are completely unfamiliar with programming, it may interest you to know that...