Algorithms and Visualization

Algorithms and visualization are two distinct research fields within computer science. In many ways, these fields are complementary. For example, most visualizations require some graphical elements to be positioned, lines to be routed, etc. to meet certain design criteria, thus making a good visualization. Theoretic algorithms can be immensely useful to support such computations, resulting in provable guarantees about the performance and quality of a visualization system. Visualization can thus inspire algorithms research, to formulate and investigate interesting problems.

But at the same time, visualization can also support algorithms development, especially when working with actual implementations of theoretic algorithms. Visualizations of its performance help to analyze the improvement of the algorithm compared to existing ones, or visualizing and then analyzing the results of an algorithm help us to establish whether the implementation is correct – do the computed results indeed match to what we would expect from the algorithm? But finally, it helps us do another very important step: to validate that the theoretically modeled problem is indeed the right formulation if we’re interested in a certain visualization outcome.

That is, do the “best visualization” according to the model and the “best visualization” according to human judgment match?