Tuesday, January 29, 2008

Dryad: An Insight on Multidimensional Space Plotting?

GreyThumb recently posted a link to this article on Dryad, an application where you design trees simply by traversing the space of all possible trees.

What I find particularly inspiring about Dryad is its solution to graphically representing the problem space. On pattern recognition we often have training sets with dozens of input features, and we struggle to build visual representations for them: Cartesian plots are only good as long as you have no more than two input features – three, if you use color to represent the class. But here we have an application cramming a 100-dimension space into a user-friendly 3D visualization!

Perhaps we could adapt Dryad's approach to build a general-purpose multi-dimensional plot application? For example, a problem space could be displayed as a 3D world filled with geometric objects, each representing a data point. In addition to color and position in the world, features could be represented by different forms (pyramids, cubes, spheres, etc.), size, translucency, additional features (e.g. spikes) and a number of other options.

And perhaps the best part, programming such a plotting tool would not be hard; an undergraduate computer graphics student could prototype it in OpenGL, perhaps as a class assignment (I certainly would have preferred it to that silly flight simulator ^_~). I may even try my hand at it – but between my lack of time and rusty OpenGL skills, I make no guarantees. Otherwise, here's hope that someone else gives the idea a shot.