Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Making of “Introduction to A*” (redblobgames.com)
107 points by phenylene on Oct 12, 2014 | hide | past | favorite | 12 comments


"A* " may be one of the most un-Google-able algorithm names I've come across, since the {asterisk} is used as a wildcard too. (Edit: and is significant for formatting here too.)

As of this post, Googling "A* algorithm" gives more relevant hits about the algorithm than the experience I had many years ago when I tried to learn about it, but it still uses * as a wildcard so you get various other algorithm pages mixed in there too. Trying "A\* algorithm" seems to yield even worse results, which is counterintuitive to the programmers who are most likely to try escaping metacharacters in queries...


It was first published in 1968 (not sure if the name was established then, didn't read the paper) but there's a paper with "A*" in the title from 1985 too. I'm pretty sure "being easy to Google" wasn't a goal with naming things, back then. :)


The name was established in 1968. The relevant wiki page is:

http://en.wikipedia.org/wiki/A*_search_algorithm

Peter Hart (one of the three co-authors of the paper) discusses naming on the talk page, to wit:

> In response to this question about why it's called A* : The notation is borrowed from the statistical literature. Statisticians use a hat (also called a circumflex) to indicate an estimate for a quantity, and often use a star to indicate an estimate that's optimal with respect to a stated criterion (like, say, a minimum variance criterion). When I (Peter E. Hart) was developing this algorithm and especially the theory behind it with my colleagues Nils Nilsson and Bertram Raphael, we adopted this traditional notation. We used hats to indicate estimates of heuristic functions, and went on to compare any other algorithm, call it A, with our provably-optimal (by the criterion of number of nodes expanded) A*. Hart 02:16, 7 March 2006 (UTC)


Search phonetically, "A star", even better include "search" and "algorithm"!


Great work. Reminds me of Choc, an implementation of Bret Victor's Learnable Programming: http://www.fullstack.io/choc/

I'm really interested in solutions for visually explaining what an algorithm does. Anyone have any other resources they like?


This came up on HN a couple of weeks back - http://www.algomation.com/

A few sorting algorithms - http://www.sorting-algorithms.com/

Visualization of Path-Finding Algorithms - http://qiao.github.io/PathFinding.js/visual/

Lastly, Mike Bostock (creator of D3) has a really cool bunch of algorithms over at his blog - http://bost.ocks.org/mike/


I like Cortesi's take on algorithm visualization: http://corte.si/posts/code/visualisingsorting/index.html

My sense is that animated visualizations are good at giving an intuitive sense about performance, but static visualizations are better for understanding how an algorithm works. If I was implementing a sorting algorithm I'd rather have one of Cortesi's visualizations on hand.


VisuAlgo is also very nice. http://www.comp.nus.edu.sg/~stevenha/visualization/index.htm...

A friend posted this funny video series of sorting algorithms interpreted through eastern european folk dance today I just have to share! https://www.youtube.com/user/AlgoRythmics/videos


http://www.algomation.com/ has a lot of algorithms explained visually.

I also maintain a playlist with interactive explanations, which might be of your interest: https://gibbon.co/Steven/interactive-math-for-lasting-insigh...


Very cool list, thanks for sharing.


You might recognize this as being similar to the Stanford page but a slightly different header:

http://theory.stanford.edu/~amitp/GameProgramming/AStarCompa...

The Stanford page links to a redblobgames e-mail so it's probably the same person


There is the repository here also : https://github.com/enjalot/algovis




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: