Jordan Thayer, PhD

AI Practice Lead

Recent Articles

Distributing Depth First Search to the Masses

Last Time Last time we talked about techniques for exchanging processor (and developer) time for reduced will clock time in heuristic search.  In other words, we talked about how to use multiple cores on a single machine to solve a problem faster.  That worked pretty well, but we noticed that it couldn’t scale beyond the […]
Read Full Post

Parallel Problem Solving

Last Time Previously, we looked at a technique for reducing the memory footprint of a heuristic search. We talked about why it was important to reduce the memory consumed by a search.  Even if we move heaven and earth to reduce memory consumption, heuristic search is still prohibitively expensive in terms of time. Learning Goals This […]
Read Full Post

Trying Deltas For A Change

Last Time Last time we took a look at how improved bounds computation and child ordering can improve the performance of heuristic search algorithms.  In particular, we saw how those techniques improved the performance of depth first search (or depth first branch & bound if you prefer) when applied to the TSP.  Even though we […]
Read Full Post

The Importance of Consuming Search Results, Pancakes

Last Time Last time we looked at depth first search and how it could be applied to a simple optimization problem, the pancake problem.  We decomposed the pancake stacking problem into some components are very important if you want to apply heuristic search: A goal test States Actions to move between states We then looked […]
Read Full Post

Flipping Flapjacks, Pruning Pancakes, and Depth First Steps

In the previous post in this series I spent some time trying to convince you that toy problems are worthy of your attention. In particular, I tried to sell you on the notion that the pancake problem was worthy of your attention.  It isn’t necessarily because flipping flapjacks is in of itself fascinating.  It’s because […]
Read Full Post

Ridiculous Problems, Real Applications

Life is filled with compromises. Generally, we just don’t have the resources, be they time, money or and so on, to do the things we want to do as well as we’d like.  While I can’t solve that problem entirely or generally, I can help you intelligently trade time for improved solutions to problems that […]
Read Full Post

Machine Learning for Classifying Turbine Engine Performance

Introduction Machine learning is at least as old as Arthur Samuel’s attempts to improve his checkers playing programs back in the 1950s (Some Studies in Machine Learning Using the Game of Checkers), if not older still.  Despite being around for decades, machine learning has received intense interest recently from the public, the scientific community, and […]
Read Full Post