From CS294-10 Visualization Sp11
- Matt Can
In computer science, we often visualize relationships and structured objects with graphs. When we want to analyze several structures for their similarities and differences, we can reduce this to the problem of graph comparison. The goal of this project is to develop novel visualization techniques and accompanying algorithms to facilitate graph comparison.
To help motivate this problem, here are some examples of the kinds of objects we would like to compare:
- Social Networks - We take the social networks of two individuals (at some fixed depth) and want to know which groups of friends they share. Naturally, we encode these as graphs, which we want to compare.
- Recipes - There exist many recipes for chocolate chip cookies, and we want to know how these compare. One approach is to encode the recipes as graphs, where nodes represent ingredients and actions, and edges represent ingredient flows. This creates DAGs from the recipes, and now we want to compare them. This example generalizes from recipes to any process that can be represented by a DAG.
- Parse Trees - We want to visualize how syntactically similar two sentences are, so we compare their parse trees.
This project builds on previous work in dynamic graph visualization, the problem of visualizing the changes in graphs over time, as nodes and edges are added and removed. Dynamic graph visualization is related to graph comparison, and some techniques developed for it may transfer over. But with graph comparison, the focus is on highlighting shared substructure among two or more objects, not tracking the structural changes of a single object over time.
Evaluate against existing methods