
Visualizing Algorithms - callum85
http://bost.ocks.org/mike/algorithms/
======
mbostock
Author here, ask me anything. And don’t miss the related work section at the
end — there’s a ton of links there to inspiring work.

~~~
cs702
Have you ever considered visualizing artificial neural networks in training or
in operation?

Speaking purely from a selfish standpoint, it would be _awesome_ to SEE what
back-propagation "looks like" with different neuronal activation functions, or
what feature learning by restricted Boltzmann machines "looks like," or how
dropout causes networks to generalize better -- to name just a few
possibilities.

If _anyone_ can visualize neural network algorithms in a way that is intuitive
and beautiful, it's you!

~~~
Osmium
Seconded. I was recently trying to find a good resource to simply and
concisely explain (or at least give a 'feel' for) artificial neural networks
to someone and came up blank. Everything I found was either assumed too much
domain-specific knowledge or was too long.

~~~
reader5000
Is there a "feel" to neural networks? You define a bunch of hidden/latent
variables connected in an array (or multiple arrays), then perform a heuristic
search of the weight state space to minimize some error/energy function.
Sometimes it works, often not.

~~~
c0g
I love how you're getting downvoted when the truth is NNs work well _only_
when you have a team of specialists to select their hyperparameters. There's a
rich vein of research for AutoML to automatically learn the hyps.

------
prezjordan
Off-topic: Why isn't my macbook a jet engine right now? I've read plenty of
blogs with nothing but a parallax scroll at the top and my computer fan goes
insane.

But, on this blog, TONS of dynamic code running and not a peep.

~~~
_pmf_
> Why isn't my macbook a jet engine right now? I've read plenty of blogs with
> nothing but a parallax scroll at the top and my computer fan goes insane

Ah, the beauty of Javascript!

~~~
zedadex
Fits right in with my rapid-temperature-rise-based workflow!

~~~
andrewchoi
Obligatory: [http://xkcd.com/1172/](http://xkcd.com/1172/)

------
domdip
Funny thing about that random comparator shuffle - Microsoft used it for their
browser selection screen (part of the EU antitrust settlement). Oops!

[http://www.robweir.com/blog/2010/02/microsoft-random-
browser...](http://www.robweir.com/blog/2010/02/microsoft-random-browser-
ballot.html)

------
resu
Breathtaking work!

Found a ton more interesting examples here:
[http://bl.ocks.org/mbostock](http://bl.ocks.org/mbostock)

~~~
talles
This one is so beautiful:
[http://bl.ocks.org/mbostock/d8e15a0ab7f85818a5bd](http://bl.ocks.org/mbostock/d8e15a0ab7f85818a5bd)

------
jqm
This was really great.

Especially maze turning into spanning tree. That one was truly mind blowing.

~~~
jmt7les
I could watch that for hours straight.

------
VMG
This one is also interesting (requires WebGL)
[http://ottoallmendinger.github.io/js-
quickhull3d/](http://ottoallmendinger.github.io/js-quickhull3d/)

------
yazinsai
+1 if you didn't understand a thing but kept scrolling for the sweet, sweet
animations

------
prestonbriggs
Here're are a couple of papers you'll probably enjoy:

Design and implementation of the UW Illustrated compiler by Andrews, Henry,
and Yamamoto PLDI '88

and

The University of Washington illustrating compiler by Henry, Whaley, and
Forstall PLDI '90

~~~
DalekBaldwin
I can't find any copies of these papers that aren't behind a paywall. Is there
any record of what the visualizations looked like?

------
Artemis2
Great piece of work!

I've seen in the piece of code corresponding to the Fisher-Yates algorithm
this snippet: "n-- | 0". Has the "| 0" any importance?

~~~
abbeyj
x | 0 will truncate a floating point x to an integer. The multiplication
happens first so the overall expression acts like i = (Math.random() * n--) |
0.

~~~
TD-Linux
This is actually the only way to do integer arithmetic in Javascript (without
the array types introduced by WebGL). It's how asm.js signals integer math as
well:
[https://en.wikipedia.org/wiki/Asm.js#Examples](https://en.wikipedia.org/wiki/Asm.js#Examples)

------
goblin89
Anyone interested will probably also enjoy Mike's talk “Design is a search
problem” from Openvis conference:
[http://www.youtube.com/watch?v=fThhbt23SGM](http://www.youtube.com/watch?v=fThhbt23SGM)

------
mu_killnine
This is incredible. As a non-CS major, it's been truly a fascinating read!

------
reader5000
Really is interesting how proper visualization allows you to see very subtle
probabilistic distinctions that probably only a phd in stochastic processes
would understand intuitively.

------
idibidiart
I wonder about visualizing the algorithms that visualize the algorithms. Being
serious and curious here.

~~~
milroc
[http://bost.ocks.org/mike/join/](http://bost.ocks.org/mike/join/)

------
appreneur
Beautiful...just to understand that algorithms also paint beautifully
...visualising algorithms awesome!

------
sys32768
How did you people learn these things _without_ visualizations?

------
gadgetdevil
The web is truly the new <canvas> for the artist.

~~~
hamxiaoz
I'm thinking the same thing.

------
joaomoreno
Great job, this both reads and looks great!

------
johnsteve
well this excites me now. can anyone help me master the basics or suggest any
good book?

------
mellisarob
please recommend a good book that would assist me with the basics.

------
lpwaterhouse
Hug of death?

------
ilovecookies
How many times has this been on HN..

[https://news.ycombinator.com/item?id=7822983](https://news.ycombinator.com/item?id=7822983)
[https://news.ycombinator.com/item?id=7652333](https://news.ycombinator.com/item?id=7652333)

I know it's more times but I haven't found those threads..

