department of computer science, university of california, irvine site visit for uc irvine kd-d...
TRANSCRIPT
![Page 1: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/1.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
The Java Universal Network/Graph Framework (JUNG):
A Brief Tour
Danyel FisherPhD Candidate
Department of InformaticsSchool of Information and Computer Science
with Joshua O’Madadhain and Scott White
![Page 2: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/2.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Network Stories
SUNBELT 2000• 270 People & Structural Holes• Database to UCINET to Pajek to MAGE• “I still use UCINET IV from 1992”SOCNET LIST• “I need a new algorithm”• “How does this algorithm do it?”• Reworking it all for a Java applet
![Page 3: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/3.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Programmatic Solution
• ProgrammableMake it easy to do the same thing again
• LibraryCan be a server, a client, or a small part of a larger
application
• ExtensibleIf you need a new routine, you can put it in yourself
• Open SourceTake it apart and put it together some other way
![Page 4: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/4.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
JUNG
General framework for graph modeling, analysis, and visualization
object-oriented framework for many graphs easy visualization rich attribute structure complex filtering dynamic graphs
Target audience is Java programmers with interest (but not expertise) in graphs
![Page 5: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/5.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Overview
• Creating a graph• Annotating with data• Filters• Graph drawing• Algorithms• Demonstration
![Page 6: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/6.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Creating a graph
• Load from a file– Pajek– GraphML (XML)
• Build from scratch– Create vertices individually
graph.add( new SparseVertex() );
– Specify edgesgraph.add( new DirectedEdge( v1, v2) );
– (Combine to create SQL or other format reader)
• Use a graph generator– Small-world graphs– Power-law graphs
![Page 7: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/7.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Adding user-defined data
key-value pairs associated withgraphs, edges, vertices
easy to write algorithms that operate on relational data
String name = vertex.getUserDatum(NAME);edge.setUserDatum(DATE, new Date());
Decorator infrastructure allows graph to be tagged with standard weights labels indices
![Page 8: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/8.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Using graph filters
• Extract sub-graphs of vertices and edges– All edges with user-data “weight” > 0.2– All nodes whose “location” is “California”– All nodes with degree > 1
• Chain filters together– All nodes with “weight” > 0.2
and location is “California” with degree > 1
• Automate complex graph transformations
acceptVertex( Vertex v )acceptEdge( Edge e )
![Page 9: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/9.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Simple Graph Display
Quick to display an existing graph.
gd = new GraphDraw(g);jpanel.add(gd);
Renderers draw vertices and edges.
paintEdge( g, Edge, x1, y1, x2, y2 )
paintVertex( g,Vertex, x, y )
![Page 10: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/10.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Visualizing graphs
Basic layout algorithms:– Fruchterman-Rheingold– Kamada-Kawaii– Eades– Self-Organizing Maps– Circle
Plug and play architecture- Drop in your favorite renderer, layout
Provided rendering engine is Swing-based - (but layouts are generic)
![Page 11: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/11.jpg)
![Page 12: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/12.jpg)
![Page 13: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/13.jpg)
![Page 14: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/14.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
![Page 15: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/15.jpg)
![Page 16: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/16.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Algorithms
clustering (k neighborhood)
connectivitymaximum flownetwork distancesstructural equivalence
centralitybetweennessmarkov
network importance metrics page rankhubs and authorities
![Page 17: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/17.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Graph types
now– self-loops, parallel edges– bipartite and k-partite graphs– hypergraphs– mixed graphs (graphs with directed & undirected edges)
coming soon– graph animation
![Page 18: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/18.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Statistical Analysis
• Graph measures:– Degree distributions– Average shortest paths– Clustering coefficients
• can use existing Java statistical packages– CERN Colt Scientific Library– Visual Numeric’s JMSL for Java
![Page 19: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/19.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Demo
![Page 20: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/20.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Conclusion
• Provides a common language for graphs• Complements rather than replaces other graph
packages/network tools• A powerful framework for working with graphs with rich
attribute structure• Ideally suited for building tools/applications related to
network exploration and data mining
![Page 21: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/21.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Adoption
• 4000 downloads since August• 200 messages in the forums• Users are writing
– social network analyses– games– animated graph views– trust metrics
![Page 22: Department of Computer Science, University of California, Irvine Site Visit for UC Irvine KD-D Project, April 21 st 2004 The Java Universal Network/Graph](https://reader030.vdocument.in/reader030/viewer/2022033106/56649dc75503460f94abcb86/html5/thumbnails/22.jpg)
Department of Computer Science, University of California, Irvine
Site Visit for UC Irvine KD-D Project, April 21st 2004
Thanks
http://jung.sourceforge.net
Several demos onlineActive collaboration is welcome.