About

About #

About Me #

Jason Brownlee

Hi, I’m Jason Brownlee, Ph.D.

Contact me any time, or let’s connect on LinkedIn and Twitter.

Clever Algorithms #

I love learning about and developing implementations of algorithms, specifically algorithms from the fields of computational intelligence and metaheuristics.

I’ve been reading about and coding algorithms for 20+ years.

Some past projects include:

  • Masters degree on on Niching Genetic Algorithms (circa 2004).
  • Weka plugin for many neural net and immune system algorithms called WEKA Classification Algorithms (circa 2003-2006).
  • A Java optimization algorithm library called Optimization Algorithm Toolkit (circa 2007).
  • PhD on Clonal Selection Algorithms (circa 2005-2008).
  • Book of 45+ algorithm descriptions titled Clever Algorithms (circa 2011).
  • 20+ books and 1,000+ tutorials on machine learning for Machine Learning Mastery (sold 2021).

Algorithm Love #

Computational intelligence algorithms are out of favor these days, in preference for neural nets.

Deep learning is great! LLMs are great!

Nevertheless, I still think that computational intelligence optimization algorithms are a lot of fun. Especially for students and early career developers that love! Love! LOVE! coding things up.

Coding up a genetic algorithm and watching it solve a problem for the very first time is thrilling. More students and early career developers need to experience this. The thrill may also rekindle the geeky love of algorithms in more experienced developers.

Algorithm Afternoon #

Algorithm Afternoon is a project that continues in the vein of prior projects and actively promotes computational intelligence and metaheuristics algorithms to developers (a less academic audience).

The goal is to provide a large number of algorithm descriptions that developers may then use to learn about, get excited by, and implement the algorithms.

It is also an experiment in the effective usage of LLMs (chatgpt4 and claude3) to design, develop, and apply a standardized template to describe computational intelligence algorithms.

I built this site using Hugo and Book Theme hosted on github pages. I’m new to this stack and I’m open to ideas on how to make this site cooler.

Algorithm Descriptions #

Each individual algorithm description includes the sections:

  • Name: abbreviations.
  • Taxonomy: relationship to fields and other algorithms.
  • Strategy: a human-readable description of the algorithm.
  • Procedure: algorithm steps, data structures, and parameters.
  • Considerations: pros and cons.
  • Heuristics: rules of thumb to configure and use.

Algorithm descriptions intentionally do not include code, math, equations, references, history, links, authors, etc.

The descriptions are intentionally terse. The focus is on a human readable description of the method that you can interpret and implement.

If you need more help when implementing an algorithm, see Help.

If you find an error in an algorithm description, contact me.