Skip to content

cvrac/graph-shortest-paths

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SIGMOD PROGRAMMING CONTEST 2016 - Software Development Project 2016-2017

Team:

  • Ioannis Papatsoris
  • Christos Vrachas

In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is minimized. This is a fundamental and well-studied combinatorial optimization problem with many practical uses: from GPS navigation to routing schemes in computer networks; search engines apply solutions to this problem on website interconnectivity graphs and social networks apply them on graphs of peoples' relationships.

In this contest, the task is to answer shortest path queries on a changing graph, as quickly as possible. We will provide an initial graph which you may process and index in any way you deem necessary. Once this is done, we will begin issuing a workload consisting of a series of sequential operation batches. Each operation is either a graph modification (insertion or removal) or a query about the shortest path between two nodes in the graph. Your program is expected to correctly answer all queries as if all operations had been executed in the order they were given.

The graphs (static/dynamic) are directed and unweighted. Input to your program will be provided via standard input, and the output must appear on the standard output.

http://dsg.uwaterloo.ca/sigmod16contest/task.html

Installation

  • mkdir build ; cd build
  • cmake ..
  • make

Run

  • build/gsp <NUM_THREADS>
  • build/gsp <NUM_THREADS> < inputGraph.txt < inputWorkload.txt

datasets directory contains several possible input datasets

About

Efficient shortest path queries over large static/dynamic graphs

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published