animating graph theory david anderson edgecase @eymiha mighty 52
TRANSCRIPT
AnimatingGraph Theory
David AndersonEdgeCase
@eymiha
Mighty 52
*some disclaimers
I write software for a living.
I like Math.
I am a rank amateur.
Math is about Visualization
It all started with comparison
Math is about Visualization
It all started with comparison
amount
Math is about Visualization
It all started with comparison
ç√ç√ ç√ç√
amount proximity
Graph Theory is about Connectivity
Reasoning with Circles and Arrows
Graph Theory is about Connectivity
Reasoning with Circles and Arrows
organization
Graph Theory is about Connectivity
Reasoning with Circles and Arrows
organization flow
Graph Theory is Easy
Circles and Arrows make intuitive sense!
AA BB
Graph Theory is Hard
Reasoning is best left to professionals
Graph Theory is Hard
Reasoning is best left to professionals
But it seems like it should be easy.
Graph Theory is Hard
Reasoning is best left to professionals
But it seems like it should be easy. Dammit.
Graph Theory is Magic
Any sufficiently advanced technology is indistinguishable from magic.
- Arthur C. Clarke
The Path of Learning
BeginnerBeginner
NoviceNovice
ExpertExpert
“awesome!”
“hmmm...”
“that make sense.”
How Do Normal People Become Adept
BeginnerBeginner
NoviceNovice
ExpertExpert
“wtf?!”
“if you say so...”
“that make sense.”
The Education ProblemHow do we
more effectively getmore beginners to the novice
stage and
more novices to the expert stage?
*another disclaimer
My actual educational experience is limited to the student side of the room.
people think with their
EYES
Seeing is believing.
The Mind’s Eye.
Paying attention to what’s behind the curtain.
people understand
MECHANISMS
Rube Goldberg was a freaking genius.
Step-by-step thinking.
Mechanisms are what’s behind the curtain.
Mathematics is Expressed
MechanicallyThrough Algorithms
Quantify - calculating values
Qualify - classifying results
Transform - rewriting forms
Mathematics is Expressed
MechanicallyThrough Algorithms
Quantify - calculating values
Qualify - classifying results
Transform - rewriting forms
as is Graph Theory
Ubiquitous Information
Today, isn’t it just incredible to be able to get information about
everything you find interesting on your
desktop, laptop, pad or phone?
Ubiquitous Information
Today, isn’t it just incredible to be able to get information about
everything you find interesting on your
desktop, laptop, pad or phone?
No, I’m not talkingabout CAT PICTURES!
Ubiquitous Information
Why can’t I get information on Graph Theory Algorithms on the
Web?
Ubiquitous Information
Why can’t I get information on Graph Theory Algorithms on the
Web?
Well, these days you can.
Ubiquitous Information
Why can’t I get information on Graph Theory Algorithms on the
Web?
Well, these days you can.
Why can’t I run Graph Theory Algorithms on the Web?
Ubiquitous Information
Why can’t I get information on Graph Theory Algorithms on the
Web?
Well, these days you can.
Why can’t I run Graph Theory Algorithms on the Web?
Yeah, that would be so sweet.
Animated AlgorithmsThey show you how things work!
Vision is the highest bandwidth sense for conveying non-sensory information.
You get the feel for how things work by watching them work.
We finally get Math books with moving pictures.
Playback control - step by step, rewind, fast forward, etc.
Animation on the Web
We’re not talking aboutpre-recorded video...
Animation on the Web
We’re not talking aboutpre-recorded video...
We’re talking about programmatically generated
graphics!
Animation on the Web
So, let’s borrow back from programmers...
We’re not talking aboutpre-recorded video...
We’re talking about programmatically generated
graphics!
Programming
Software is just Mathematicsexecuted in finite speed
with finite memory.
*a claimer
I guess I am sort of a mathematician...
The Technology Needed To See Graph
Theory Algorithms Run On Web-Enabled
Devices Is Readily Available Today.
Animation on the Web
JavaScript Runs native in every web browser enabling complete ubiquity.
A dynamic object-oriented language based on prototypal inheritance.
A rich base of well-tested code exists that developers have written to do animation.
d3.js
Efficient manipulation of documents based on data.
Extremely small and fast.
Bind data to the DOM and spply data-driven transformations.
Brainchild of Mike Bostock(@mbostock, http://bost.ocks.org/mike/)
Let’s see some simple animations...
Next Steps
Build a DSL for expressing Graph Theory Algorithms and Animations.
Build a web-based system for creating, storing and Graph Theory animations.
Build it all in open source.
Make it freely available.
Guiding Lights
Graph Theorists can publish their work in a ubiquitous form.
They can review and test each other’s work more quickly and easily.
They can build on the work of others.
They can more quickly understand how new developments in Graph Theory work.