Nucleus Decomposition Visualization

and Complex Function Plotter

Will Bolden

Deliverables

  1. Source code - Nucleus Decomposition Visualization
  2. Data (large) - Nucleus Decomposition Visualization
  3. Source code -
  4. Technical paper

Demos

  1. Nucleus Decomposition Visualization
  2. Complex Function Visualization

Nucleus Decomposition

Our nucelus decomposition visualization tool

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 tree of subgraphs that increase in density with depth. 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 are focusing on a pre-generated nucleus decomposition of citation data from the PhysRev journal.

The tool developed here was primarily developed to help us figure out what components of the nucleus decomposition are important, as further explained in the writeup, and will be a building block for as we continue to work towards a truly useful visualization for end users.

How to use

  1. Download the source code and data. It is not necessary to download aps-dataset-metadata-2013.zip if you don't want any paper information. If you do download this item, remember to unzip it.
  2. Load the visualisation by opening index.html in your browser, you may have to enable cross-origin requests if you get an error.
  3. Enter a minimum subgraph size in the size field and click update visual. The larger this number is the fewer subgraphs will appear in the vis and the faster it will run.
  4. You can search by selecting a search criteria, typing a query into the input field, and pressing the search button. By default we have disabled the word search option as it takes a significant ammount of time to build the search database. If you want to enable this feature open paperinfo.js and set the buildsearch variable to true near the top of the file.
  5. Entering intersection mode will allow you to hover over a subgraph to highlight all the subgraphs it intersects with.
  6. Clicking on a subgraph will load information on all the papers in that subgraph on the right side of your screen
  7. Hovering over a subgraph will display two numbers near the center of your screen, which are the size and density of the subgraph, respectively.
Author search functionality
Intersection view functionality functionality
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.

Overview of features: For more information on supported operations visit my CS160 page or click the (?) button inside the application.

Here are a few examples of images that can be created with this tool:

Mandelbrot set
Sine in the hyperbolic plane
Riemann surface for square root
Exponential function
Riemann Zeta function