Nucleus Decomposition Visualization

and Complex Function Plotter

Will Bolden
Nucleus Decomposition

The main focus of my project is visualizing the result of the Nucleus Decomposition of a graph. The Nucleus Decomposition operation is an algorithm developed by researchers at Sandia National Laboratories in conjunction with Professor Comandur here at UCSC. Nucleus Decomposition is a method of finding high density regions of a subgraph, where density is defined as |E|/(Max possible edges in the subgraph), which creates a number of subgraphs with density higher than the parent. Note that the Max possible edges in a subgraph is |V| choose 2, so removing a number of vertices that are not well connected can provide significant density improvements. At this stage of the project we will be focusing on a pre-generated nucleus decomposition of citation data from the PhysRev journal.

When beginning this project Professor Comandur laid out general goals for the quarter:

  1. Do some clean up to make the viz load faster.
  2. Make an interface to see metadata (paper names/authors) of nodes in a given set.
  3. Create alternative visualizations that focus on high density portions.
  4. Create alternative visualizations that highlight intersections between sets.
  5. Automatically classify subgraphs by field/author.
The first two goals for the project are functionally complete, though the interface is by no means complete. A student of Professor Comandur's, Ryan Tran, is also working on the project and could possibly accomplish these goals while I focus on the visualization task. As seen in the image below I have also implemented some basic classification, though it is not final and more intended as a quick visual aid while implementing other parts of the project.

My main focus in the immediate future, besides general quality improvements, will be working on visualizing the intersections between different subsets. When Nucleus Decomposition creates subgraphs the same vertex can appear in multiple of them. In our data this indicates that the paper references, or is referenced by, papers in two or more somewhat distinct research areas. It could thus be useful to pick out these connecting papers as visualize how the connect different high-density regions.

Ideally I will get a better idea of how best to implement these features as I continue to discuss the project with Professors Pang and Comandur, along with the researchers at Sandia, throughout the quarter.

Complex Function Plotter

A secondary topic that I worked on early in the quarter, and continue to work on when time allows, are improvements to my Complex Function Plotter project from CS160. I have greatly expanded the functionality of the project since its debut in CS160. The plotter now has support for visualizing functions, and their inverses, in 3D as Riemann surfaces. Complex functions can be though of as 4D as there are two dimensions of input and two dimensions of output, where the "3D" representation is created by projecting the full 4D surface down into 3D. Currently the only supported projection is complete dropping of the 4th dimension, though I want to add other methods of projection if time allows. In addition to this idea of representing the function as a surface, Professor Pang had other suggestions such as representing points on the surface as rotation quaternions, which I intend to implement if I have time.

Summary
Implemented: Possible work:

This project is entirely secondary to the Nucleus Decomposition visualization, so it is quite possible that no further work on Complex Function Plotter will be completed this quarter.