Paul Burkhardt. May 19, 2016

Similar documents
Visual Traffic Jam Analysis Based on Trajectory Data

The Cooperative Cleaners Case Study: Modelling and Analysis in Real-Time ABS

Introduction to Parallelism in CASTEP

Optimizing Cyclist Parking in a Closed System

MWGen: A Mini World Generator

Safety Assessment of Installing Traffic Signals at High-Speed Expressway Intersections

Problem Solving as Search - I

ENHANCED PARKWAY STUDY: PHASE 2 CONTINUOUS FLOW INTERSECTIONS. Final Report

The Evolution of Transport Planning

Exploring the NFL. Introduction. Data. Analysis. Overview. Alison Smith <alison dot smith dot m at gmail dot com>

Waves. harmonic wave wave equation one dimensional wave equation principle of wave fronts plane waves law of reflection

Artificial Intelligence for the EChO Mission Scheduler

DESIGN AND ANALYSIS OF ALGORITHMS (DAA 2017)

Uncovering Anomalous Usage of Medical Records via Social Network Analysis

Application of Bayesian Networks to Shopping Assistance

Combined impacts of configurational and compositional properties of street network on vehicular flow

Using Spatio-Temporal Data To Create A Shot Probability Model

GRAPH-BASED SPORTS RANKINGS

arxiv: v1 [math.co] 16 Sep 2016

#19 MONITORING AND PREDICTING PEDESTRIAN BEHAVIOR USING TRAFFIC CAMERAS

The Regional Power Grid Team

CSE 3401: Intro to AI & LP Uninformed Search II

Fast Floating Point Compression on the Cell BE Processor

Mathematics. Leaving Certificate Examination Paper 1 Higher Level Friday 10 th June Afternoon 2:00 4:30

Decision Trees. Nicholas Ruozzi University of Texas at Dallas. Based on the slides of Vibhav Gogate and David Sontag

VGI for mapping change in bike ridership

CMPUT680 - Winter 2001

Analysis of Run-Off-Road Crashes in Relation to Roadway Features and Driver Behavior

GOLOMB Compression Technique For FPGA Configuration

SIDDHARTH INSTITUTE OF ENGINEERING & TECHNOLOGY :: PUTTUR (AUTONOMOUS) Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE)

NHL & NHLPA Future Goals Program Hockey Scholar TM

EE 364B: Wind Farm Layout Optimization via Sequential Convex Programming

knn & Naïve Bayes Hongning Wang

The effect of cognitive intervention on stroke distance in age-group swimmers

6/16/2010 DAG Execu>on Model, Work and Depth 1 DAG EXECUTION MODEL, WORK AND DEPTH

CT PET-2018 Part - B Phd COMPUTER APPLICATION Sample Question Paper

CAM Final Report John Scheele Advisor: Paul Ohmann I. Introduction

In memory of Dr. Kevin P. Granata, my graduate advisor, who was killed protecting others on the morning of April 16, 2007.

Webinar: Development of a Pedestrian Demand Estimation Tool

Investigation of Suction Process of Scroll Compressors

Parsimonious Linear Fingerprinting for Time Series

Neural Networks II. Chen Gao. Virginia Tech Spring 2019 ECE-5424G / CS-5824

Spatio-temporal analysis of team sports Joachim Gudmundsson

SHOT ON GOAL. Name: Football scoring a goal and trigonometry Ian Edwards Luther College Teachers Teaching with Technology

Mixture Models & EM. Nicholas Ruozzi University of Texas at Dallas. based on the slides of Vibhav Gogate

Effect of Implementing Three-Phase Flow Characteristics and Capillary Pressure in Simulation of Immiscible WAG

Hockey Scholar Curriculum Guide

Cycle Analysis and Construction of Protographs for QC LDPC Codes With Girth Larger Than 12 ½

Chapter 2 Ventilation Network Analysis

Algorithms and Data Structures

CSE 3402: Intro to Artificial Intelligence Uninformed Search II

Analyzing Soccer Strategies Using Network Theory

A Hare-Lynx Simulation Model

Queue analysis for the toll station of the Öresund fixed link. Pontus Matstoms *

Research Article Research on Path Planning Method of Coal Mine Robot to Avoid Obstacle in Gas Distribution Area

Seismic Survey Designs for Converted Waves

Application of Dijkstra s Algorithm in the Evacuation System Utilizing Exit Signs

Computational Challenges in Cold QCD. Bálint Joó, Jefferson Lab Computational Nuclear Physics Workshop SURA Washington, DC July 23-24, 2012

Product Decomposition in Supply Chain Planning

The system design must obey these constraints. The system is to have the minimum cost (capital plus operating) while meeting the constraints.

How to measure the average pedestrian access of a place to a group of important locations?

Climate Warming Rates of Salmon and Trout Rivers in the West

Hierarchical ORAM Revisited, and Applications to Asymptotically Efficient ORAM and OPRAM. Hubert Chan, Yue Guo, Wei-Kai Lin, Elaine Shi 2017/12/5

Cuneiform. A Functional Workflow Language Implementation in Erlang. Jörgen Brandt Humboldt-Universität zu Berlin

Vibration Analysis and Test of Backup Roll in Temper Mill

Modeling Planned and Unplanned Store Stops for the Scenario Based Simulation of Pedestrian Activity in City Centers

Case Study. PayPal s Sparkline Case Study. About Sparkline

CITTT CLUB PLAY SYSTEM

Practical Approach to Evacuation Planning Via Network Flow and Deep Learning

Breaking Up is Hard to Do: An Investigation of Decomposition for Assume-Guarantee Reasoning

LESSONS FROM THE GREEN LANES: EVALUATING PROTECTED BIKE LANES IN THE U.S.

EE582 Physical Design Automation of VLSI Circuits and Systems

An approach for optimising railway traffic flow on high speed lines with differing signalling systems

Open Research Online The Open University s repository of research publications and other research outputs

RUGBY is a dynamic, evasive, and highly possessionoriented

9.2 Waves at Media Boundaries

Ocean Fishing Fleet Scheduling Path Optimization Model Research. Based On Improved Ant Colony Algorithm

Out-of-Core Cholesky Factorization Algorithm on GPU and the Intel MIC Co-processors

Emerging Crash Trend Analysis. Mark Logan Department of Main Roads, Queensland. Patrick McShane Queensland Transport

Urban OR: Quiz 2 Solutions (2003) ( 1 ρ 1 )( 1 ρ 1 ρ 2 ) ( 1 12 )( ) σ S ] 24 [ 2 = 60, 2 2 ] ( 2 ) 3

Pedestrian Dynamics: Models of Pedestrian Behaviour

21st ECMI Modelling Week Final Report

CENG 466 Artificial Intelligence. Lecture 4 Solving Problems by Searching (II)

A Pyramid of Crunchkins

1.1 The size of the search space Modeling the problem Change over time Constraints... 21

Currents measurements in the coast of Montevideo, Uruguay

Two Special Right Triangles

The Safety Case. The safety case

Opleiding Informatica

Density of Individual Airborne Wind Energy Systems in AWES Farms

Rochester Area Bike Sharing Program Study

Unit 6, Lesson 1: Organizing Data

Advanced Test Equipment Rentals ATEC (2832) OMS 600

2 When Some or All Labels are Missing: The EM Algorithm

Inlet Swirl on Turbocharger Compressor Performance

Using an Adaptive Thresholding Algorithm to Detect CA1 Hippocampal Sharp Wave Ripples. Jay Patel. Michigan State University

Ammonia Synthesis with Aspen Plus V8.0

Petacat: Applying ideas from Copycat to image understanding

Product Technical Bulletin #48

Autodesk Moldflow Communicator Process settings

Transcription:

GraphEx Symposium 2016 U.S. National Security Agency Research Directorate May 19, 2016

Graphs are everywhere! Why graph? Graph-theoretic approaches are appealing to many fields simple data abstraction binary relationships nodes and links powerful algorithmic approaches

The expanding field of graph research Results from Google Scholar The number of articles containing graph, algorithm and vertex or edge has more than tripled in the last ten years! 576,000 articles through 2006 2,020,000 articles through today

The expanding field of graph research Results from Google Scholar The number of articles containing graph, algorithm and vertex or edge has more than tripled in the last ten years! 576,000 articles through 2006 2,020,000 articles through today Google Scholar results for the following terms added to first query Up to four-fold increase across non-traditional disciplines neuroscience 4 increase: 227 1,020 biology 4 increase: 2,000 7,720 chemistry 3 increase: 1570 4,580

Graphs in Biology Pathways in Protein-Protein Interaction (PPI) networks Finding signaling pathways in yeast is analogous to finding k-length simple paths in graphs [6] simple path has no repeated vertices Comparing PPI networks Comparing yeast and fly protein interaction networks [8] find the maximum common subgraph (subgraph isomorphism)

Graphs in Chemistry Chemical reactions Identify routes in chemical reactions [9] cyclic subgraphs route of reaction Dissociation pathways Lowest-cost pathway for six-dimensional free energy surface of 1 million grid points [10] Dijkstra s shortest-path N-body interactions Enumerate n-body intramolecular interactions using line graphs [5]

Graphs in Neuroscience Conscious awareness Awareness is linked to the brain s functional connectivity [2] decreased modularity (functional segregation) increase in connectivity across modules, i.e. functional regions

Graphs in Neuroscience Conscious awareness Awareness is linked to the brain s functional connectivity [2] decreased modularity (functional segregation) increase in connectivity across modules, i.e. functional regions Schizophrenia Schizophrenia brain is less small world and more random graph [4, 1] decreased modularity (functional segregation) increase in connectivity across modules, i.e. functional regions lower probability of hubs (high degree centrality)

Graphs in Neuroscience Conscious awareness Awareness is linked to the brain s functional connectivity [2] decreased modularity (functional segregation) increase in connectivity across modules, i.e. functional regions Schizophrenia Schizophrenia brain is less small world and more random graph [4, 1] decreased modularity (functional segregation) increase in connectivity across modules, i.e. functional regions lower probability of hubs (high degree centrality)

Graphs in Neuroscience Conscious awareness Awareness is linked to the brain s functional connectivity [2] decreased modularity (functional segregation) increase in connectivity across modules, i.e. functional regions Schizophrenia Schizophrenia brain is less small world and more random graph [4, 1] decreased modularity (functional segregation) increase in connectivity across modules, i.e. functional regions lower probability of hubs (high degree centrality) Greater self-awareness in Schizophrenia?

Graphs in Neuroscience Alzheimer s disease (AD) Alzheimer s disease (AD) exhibit aberrant brain network [3] longer shortest-paths (less effective information transfer) largest connected-component is smaller in AD patients

Technology shift Google Scholar results for the following terms added to first query gpu 13 increase: 1,990 25,600 database 6 increase: 78,100 497,000 rdf 5 increase: 2,500 13,800

Technology shift Google Scholar results for the following terms added to first query gpu 13 increase: 1,990 25,600 database 6 increase: 78,100 497,000 rdf 5 increase: 2,500 13,800 Graphs on GPUs Graph algorithms expressed in the language of linear algebra... sparse matrix products are natural for GPU acceleration

Technology shift Google Scholar results for the following terms added to first query gpu 13 increase: 1,990 25,600 database 6 increase: 78,100 497,000 rdf 5 increase: 2,500 13,800 Graphs on GPUs Graph algorithms expressed in the language of linear algebra... sparse matrix products are natural for GPU acceleration Graph DB Graphs are becoming the new relational model! graph databases semantic graphs

Who needs Big Graphs? Graph500 scale 16 If only 64k vertices was more than anyone needed... Source: Graph500 November 2015 List # of vertices 64k 16k 256 1 77th 157th 185th 200th Ranking

Who needs Big Graphs? Graph500 scale 16 If only 64k vertices was more than anyone needed... Source: Graph500 November 2015 List # of vertices 64k 16k 256 1 77th 157th 185th 200th Ranking The 77 th ranked competitor can assign one thread to each vertex! Intel Xeon E5-2670 128 cores 256 threads with simultaneous multithreading (SMT)

More focus on increasing graph sizes The challenge is with Big Graphs Increasing data and problem sizes lead to bigger graphs... everything gets harder with increasing scale Google Scholar results for the following terms added to first query distributed 60 increase: 17,400 1,150,000 parallel 14 increase: 74,100 1,030,000 scalable 7 increase: 19,100 134,000

The need for graph analytics! Trending The increase in graph analysis across different domains can be due in part to simple and compact representation of complex data practical but powerful algorithms many of which are easy to implement Data as a graph A graph is simple but not all data looks like a graph... some datasets are a natural fit, e.g. human brain other data has to be mapped...

Graph algorithms need a graph Is your data a graph? Your data may not appear as a network...

Graph algorithms need a graph Is your data a graph? Your data may not appear as a network... But any pairwise collection of data points is a graph!

Graph algorithms need a graph Is your data a graph? Your data may not appear as a network... But any pairwise collection of data points is a graph! Let s play a game!

Graphing the Game of Darts Example Go to nearest pub and find a dartboard...

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard 2 draw lines to split dartboard into quadrants

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard 2 draw lines to split dartboard into quadrants

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard 2 draw lines to split dartboard into quadrants 3 all darts in the same quadrant are neighbors; they form a clique

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard 2 draw lines to split dartboard into quadrants 3 all darts in the same quadrant are neighbors; they form a clique

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard 2 draw lines to split dartboard into quadrants 3 all darts in the same quadrant are neighbors; they form a clique 4 a dart on the line separating two quadrants is a neighbor of the nearest dart in each quadrant

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard 2 draw lines to split dartboard into quadrants 3 all darts in the same quadrant are neighbors; they form a clique 4 a dart on the line separating two quadrants is a neighbor of the nearest dart in each quadrant

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard 2 draw lines to split dartboard into quadrants 3 all darts in the same quadrant are neighbors; they form a clique 4 a dart on the line separating two quadrants is a neighbor of the nearest dart in each quadrant 5 a dart in the bulls-eye is a neighbor to the nearest dart in all quadrants

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard 2 draw lines to split dartboard into quadrants 3 all darts in the same quadrant are neighbors; they form a clique 4 a dart on the line separating two quadrants is a neighbor of the nearest dart in each quadrant 5 a dart in the bulls-eye is a neighbor to the nearest dart in all quadrants

Graphing the Game of Darts Example Go to nearest pub and find a dartboard... 1 throw darts at a dartboard 2 draw lines to split dartboard into quadrants 3 all darts in the same quadrant are neighbors; they form a clique 4 a dart on the line separating two quadrants is a neighbor of the nearest dart in each quadrant 5 a dart in the bulls-eye is a neighbor to the nearest dart in all quadrants

Dart Graph Simple graph generator Our game was a simple graph generator... not unlike other generators we created some recognizable structures... cycles, cliques, cores, components, clusters...

Now analyze the graph Graph analysis What can we learn from simple graph analysis?

Now analyze the graph Graph analysis What can we learn from simple graph analysis? I m not very good at darts?

Now analyze the graph Graph analysis What can we learn from simple graph analysis? I m not very good at darts? Much more we can identify structure and cohesiveness

Now analyze the graph Graph analysis What can we learn from simple graph analysis? I m not very good at darts? Much more we can identify structure and cohesiveness connected components

Now analyze the graph Graph analysis What can we learn from simple graph analysis? I m not very good at darts? Much more we can identify structure and cohesiveness connected components cores

Now analyze the graph Graph analysis What can we learn from simple graph analysis? I m not very good at darts? Much more we can identify structure and cohesiveness connected components cores But we ll do this at a larger scale and under hard constraints...

Now analyze the graph Graph analysis What can we learn from simple graph analysis? I m not very good at darts? Much more we can identify structure and cohesiveness connected components cores But we ll do this at a larger scale and under hard constraints... New algorithms We ll describe our easy algorithms under hard constraints

Graph data is hard... really hard! Real-world graphs represent irregular data topology is irregular thus... difficult to leverage computer memory hierarchy leading to... increasing latency and bandwidth costs and... high degree vertices cause hot-spots

Hard constraints for graph algorithms Big Data constraints Constraints commonly encountered with Big Data. graph does not fit in memory share nothing (no globally-shared data) no random access Harder constraints... For good measure we ll add the following constraints state-less tasks cannot save local information between steps constant-memory tasks have fixed memory with respect to input data-stream tasks cannot re-read input within the same step

Hardest constraint of all!

Hardest constraint of all! We ll design the algorithms in MapReduce!

MapReduce for Graphs Results from Google Scholar 100-fold increase in MapReduce graph algorithm articles in the last ten years! spike is common in early phase of new technology... but still an active research area 10000 8000 Source: Google Scholar Cumulative article count query: mapreduce graph algorithm vertex OR edge 8360 6000 5690 4000 2000 84 234 903 2540 2006 2008 2010 2012 2014 2016 Year

Why MapReduce? Benefits The MapReduce computational model provides many benefits distributed computation compute migration overlap of communication with computation not memory-bound fault-tolerant... Growing research interest improvements in theoretical model of computation increase in algorithm development

Exercising constraint Limitations for a gain... In this exercise the hard constraints will limit algorithm design choices but help to maximize scalability improve parallelism conserve compute resources support streaming computation

Terms and Definitions For a simple, undirected graph G = (V, E) with n = V vertices and m = E edges where... A R n n is the adjacency matrix of G; A T = A N(v) = {u V (v, u) E} is the neighborhood of v d(v) = N(v) is the degree of v d max = max{d(v) v V } is the maximum degree d(u, v) is the distance, i.e. shortest-path, from u to v D(G) is the diameter of G, i.e. longest shortest-path in G

Connected Components in graphs Group by connectivity Group vertices that are reachable by a path, albeit not necessarily mutually reachable. How many components do you see?

Connected Components in graphs Group by connectivity Group vertices that are reachable by a path, albeit not necessarily mutually reachable. How many components do you see? Is it 2 or 5?

Strongly Connected Component Definition A connected component in which a path exists between every pair of vertices. Trivial path... A singleton vertex is a connected component because it is trivially connected to itself; d(v, v) = 0

Connected Components in Undirected Graphs Strongly connected Paths are symmetric in an undirected graph, thus a connected component in an undirected graph is strongly connected. Undirected G... The remainder of this presentation will focus on undirected graphs.

Easy Connected Components under hard constraints Theorem 1 Given an edge list of G and a list L then the algorithm in Listing 1 takes O(m log 2 n) time. Proof. The edges are sorted so (v, w) is first where w is the minimum vertex ID for all endpoints of v. The time to sort all edges is O`X v d v log d v O(m log dmax ) O(m log n) There are O(m) tests for each edge in L, and all other operations including inserts into L take O(1) time where L is a temporary list. The time for each step is then O(m + m log n) O(m log n). Every vertex v with a neighbor u, where u v, will receive the minimum from N(u). This contracts the graph by half after each step. Thus the overall time for O(log n) steps is O(m log 2 n)! Listing 1: Label propagation Connected Components L sorted E count 1 while count > 0 do count 0 create new list L last for all (v, u) L do if v last then w u last v if w < v then add (v, w), (w, v) to L end if else if w < v then add (u, w) to L count count + 1 end if end for sort L L L end while

Connected components under hard constraints... Benefits does not re-read the entire graph at each step fast drop-off in output size neighborhood of a vertex is ignored if the vertex ID is less than the minimum of all neighbors... completes in O(log n) rounds

MapReduce Connected Components Connected Components algorithm N[v] is the sorted set of neighbors of v Constant, O(1), working memory Round 1..O(log n) Map: Ordered vertex pair for secondary-sort v, u (v, u), u Reduce: Values are sorted so the first value, w, is the minimum v, {u N[v]} v, w, w, v, { u, w } w v, w = min N[v] Final Round Map: Organize (v, u) pairs v, u v u, u v u

Cores in Graphs (loose) Definition A core is a maximal subgraph in which vertices are well-connected Cores are cohesive networks Significant number of vertices must be removed for the core to become disconnected... cliques are maximally connected

Recall the definition of a clique... Definition A clique is a graph in which all pairs of vertices are connected, e.g. triangle Completeness A n-clique is a maximally complete graph of order n all degrees = n-1 graph diameter = 1 number of edges = n(n-1)/2

Cores are a relaxation of cliques Cores are more loose then cliques... Less strict in degree, connectivity, reachability, etc. Types of cores k-plex each vertex is not connected to at most k-1 other vertices k-club diameter is at most k γ-quasi-clique density is at least γ k-core each vertex has degree at least k k-truss endpoints of each edge share at least k-2 neighbors

Reviewing the k-core Introduced by Stephen B. Seidman in 1983 [7] A k-core is a maximal connected subgraph with minimum degree k. Hierarchy of k-cores A k-core is a subset of the [1..(k 1)]-cores k-core (k-1)-core (k-2)-core... 1-core

Easy k-core under hard constraints Listing 2: k-core algorithm Theorem 2 Given a sorted edge list of G, a list L, and k O( m), then the k-core algorithm in Listing 2 is possible in O(md max ) time, and if d max is constant the time is O(m). Proof. At each step, all operations take O(1) time including inserting an edge into the temporary list T v and inserting T v into the temporary list L. Therefore the first pass takes O(m) time, leaving at most O(m/k) vertices remaining with O( m dmax ) edges. All O(m/k) k passes take no more than O( m k ( m k dmax )) O(( m k )2 d max ) time, and if k O( m) then the time is O(md max ). Thus the total time is, O(m + md max ) O(md max ) If d max O(1) then the time complexity is O(m). L sorted edges count 1 while count 0 do count 0; degree 0 create new L for all (v, u) L do if done with edges for a v then if degree k then add T v to L else count count + 1 end if create new T v degree 0 else add (u, v) to T v degree degree + 1 end if end for L = L L remains locally sorted end while

MapReduce k-core algorithm Round 1 given (v, (u, d u)) input Map: Identity v, (u, du) v, (u, d u) Reduce: Output reverse edges v, {(u, du) u N(v)} u, v d v, d u k Rounds [2..O(n)] Map: Identity v, u v, u Reduce: Output reverse edges v, {u u N(v)} u, v dv k Evaluation of degree Evaluating d v k is possible in O(1) memory by using a k-element buffer reducer reads u values into buffer if buffer is filled then d v is at least k so... output the u already in the buffer and then output all remaining u

Preliminary exercise Experiment Test the easy MapReduce algorithms on real datasets Datasets Stanford Network Analysis Project (SNAP) as-skitter Autonomous Systems Internet topology graph com-orkut Orkut online social network com-friendster Friendster online social network Hadoop Yarn Cluster 1200 nodes 32 cores per node 128 GB RAM per node

Connected Component Benchmarks on SNAP datasets SNAP Graphs (undirected) n (vertices) 2m (edges) # of concom Skitter 1,696,415 22,190,596 756 Orkut 3,072,441 234,370,166 1 Friendster 65,608,366 3,612,134,270 1 Edge Count (millions) 10000 friendster 1000 orkut 100 skitter 10 1 10 Time (minutes) time (minutes) rounds Skitter 1.82 10 Orkut 1.78 7 Friendster 8.90 10 A post-step to organize labels is included

k-core Benchmarks on SNAP datasets SNAP Graphs (undirected) n (vertices) 2m (edges) # of concom Skitter 1,696,415 22,190,596 756 Orkut 3,072,441 234,370,166 1 Friendster 65,608,366 3,612,134,270 1 Skitter Orkut Friendster 3-core 2.65 2.25 11.35 9-core 4.00 4.25 10.03 27-core 4.37 6.90 27.37 42-core 3.12 12.87 105.95 Time (minutes) Time (minutes) 1000 100 10 skitter orkut friendster Skitter Orkut Friendster 3-core 11 6 17 9-core 18 11 15 27-core 22 18 41 42-core 16 37 172 1 3 9 27 42 k-core A pre-step round for degree annotation is included # of rounds

Conclusion Results Demonstrated very easy algorithms under hard constraints. no part of the graph is stored in memory data access per step is single-pass and sequential no saved state either globally or locally tasks perish after each step very minimal memory per task simple implementations room for improvement

Bibliography I [1] A. F. Alexander-Bloch, N. Gogtay, et al. Disrupted modularity and local connectivity of brain functional networks in childhood-onset schizophrenia. Frontiers in Systems Neuroscience, 4(147), 2010. [2] D. Godwin, R. L. Barry, and R. Marois. Breakdown of the brain s functional network modularity with awareness. PNAS, 112(12):3799 3804, March 2015. [3] Y. He, Z. Chen, and A. Evans. Structural insights into aberrant topological patterns of large-scale cortical networks in alzheimer s disease. The Journal of Neuroscience, 28(18):4756 4766, 2008. [4] M.-E. Lynall, D. S. Bassett, R. Kerwin, et al. Funtional connectivity and brain networks in schizophrenia. The Journal of Neuroscience, 30(29):9447 9487, 2010. [5] R. Penfold and P. J. Wilde. Enumerating and indexing many-body intramolecular interactions: a graph theoretic approach. Journal of mathematical chemistry, 53(7):1634 1648, 2015. [6] J. Scott, T. Ideker, and R. M. Karp. Efficient algorithms for detecting signaling pathways in protein interaction networks. Journal of Computational Biology, 13(2):133 144, 2006. [7] S. B. Seidman. Network structure and minimum degree. Social Networks, 5:269 287, 1983. [8] R. Singh, J. Xu, and B. Berger. Pairwise global alignment of protein interaction networks by matching neighborhood topology. In Proceedings of the 11th annual international conference on research in computational molecular biology, RECOMB 07, pages 16 31. Springer-Verlag, 2007.

Bibliography II [9] S. Spivak, A. Ismagilova, and I. Khamitova. Graph-theoretical method for determining routes of complex chemical reactions. In Doklady Physical Chemistry, volume 434, pages 169 171. Springer, 2010. [10] L. Wang, B. Stumm, and V. Helms. Graph-theoretical identification of dissociation pathways on free energy landscapes of biomolecular interaction. Journal of computational chemistry, 31(4):847 854, 2010.