Shahbaz Khan

Shahbaz Khan
Indian Institute of Technology Roorkee | University of Roorkee · Department of Computer Science and Engineering

Doctor of Philosophy
Assistant Professor at IIT Roorkee

About

36
Publications
2,794
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
120
Citations
Introduction
My research area is broadly Algorithms and Data Structures, where I focus on Theoretical and Experimental Algorithms, and Bioinformatics
Additional affiliations
December 2021 - present
Indian Institute of Technology Roorkee
Position
  • Professor (Assistant)
Description
  • Theoretical Algorithms, Experimental Algorithms and Bioinformatics
February 2020 - December 2021
University of Helsinki
Position
  • PostDoc Position
Description
  • Graph Algorithms Team of the Algorithmic Bioinformatics Group
July 2017 - October 2018
University of Vienna
Position
  • PostDoc Position
Description
  • Theoretical and Experimental Dynamic Graph Algorithms
Education
July 2013 - June 2017
Indian Institute of Technology Kanpur
Field of study
  • Computer Science and Engineering
July 2011 - May 2013
Indian Institute of Technology Kanpur
Field of study
  • Computer Science and Engineering
July 2007 - May 2011
Aligarh Muslim University
Field of study
  • Computer Engineering

Publications

Publications (36)
Preprint
Minimum flow decomposition (MFD) is the NP-hard problem of finding a smallest decomposition of a network flow $X$ on directed graph $G$ into weighted source-to-sink paths whose superposition equals $X$. We focus on a common formulation of the problem where the path weights must be non-negative integers and also on a new variant where these weights...
Article
Full-text available
Given a directed graph G and a pair of nodes s and t , an s - t bridge of G is an edge whose removal breaks all s - t paths of G (and thus appears in all s - t paths). Computing all s - t bridges of G is a basic graph problem, solvable in linear time. In this paper, we consider a natural generalisation of this problem, with the notion of “safety” f...
Preprint
Full-text available
Decomposing a network flow into weighted paths has numerous applications. Some applications require any decomposition that is optimal w.r.t. some property such as number of paths, robustness, or length. Many bioinformatic applications require a specific decomposition where the paths correspond to some underlying data that generated the flow. For re...
Preprint
Full-text available
Kmer-based methods are widely used in bioinformatics, which raises the question of what is the smallest practically usable representation (i.e. plain text) of a set of kmers. We propose a polynomial algorithm computing a minimum such representation (which was previously posed as a potentially NP-hard open problem), as well as an efficient near-mini...
Article
Given a directed graph G and a pair of nodes s and t, an s-t bridge of G is an edge whose removal breaks all s-t paths of G. Similarly, an s-t articulation point of G is a node whose removal breaks all s-t paths of G. Computing the sequence of all s-t bridges of G (as well as the s-t articulation points) is a basic graph problem, solvable in linear...
Conference Paper
Full-text available
Genome assembly is a fundamental problem in Bioinformatics, where for a given set of overlapping substrings of a genome, the aim is to reconstruct the source genome. The classical approaches to solving this problem use assembly graphs, such as de Bruijn graphs or overlap graphs, which maintain partial information about such overlaps. For genome ass...
Presentation
Full-text available
Conference Presentation
Preprint
Full-text available
Network flows are one of the most studied combinatorial optimization problems with innumerable applications. Any flow on a directed acyclic graph (DAG) $G$ having $n$ vertices and $m$ edges can be decomposed into a set of $O(m)$ paths, with applications from network routing to assembly of biological sequences. In some applications, the flow decompo...
Preprint
Full-text available
Genome assembly is a fundamental problem in Bioinformatics, where for a given set of overlapping substrings of a genome, the aim is to reconstruct the source genome. The classical approaches to solving this problem use assembly graphs, such as de Bruijn graphs or overlap graphs, which maintain partial information about such overlaps. For genome ass...
Preprint
Full-text available
Genome assembly is a fundamental problem in Bioinformatics, requiring to reconstruct a source genome from an assembly graph built from a set of reads (short strings sequenced from the genome). A notion of genome assembly solution is that of an arc-covering walk of the graph. Since assembly graphs admit many solutions, the goal is to find what is de...
Preprint
Full-text available
Given a directed graph $G$ and a pair of nodes $s$ and $t$, an \emph{$s$-$t$ bridge} of $G$ is an edge whose removal breaks all $s$-$t$ paths of $G$ (and thus appears in all $s$-$t$ paths). Computing all $s$-$t$ bridges of $G$ is a basic graph problem, solvable in linear time. In this paper, we consider a natural generalisation of this problem, wit...
Preprint
Full-text available
Given a directed graph $G$ and a pair of nodes $s$ and $t$, an $s$-$t$ bridge of $G$ is an edge whose removal breaks all $s$-$t$ paths of $G$. Similarly, an $s$-$t$ articulation point of $G$ is a node whose removal breaks all $s$-$t$ paths of $G$. Computing the sequence of all $s$-$t$ bridges of $G$ (as well as the $s$-$t$ articulation points) is a...
Preprint
Full-text available
In recent years, significant advances have been made in the design and analysis of fully dynamic maximal matching algorithms. However, these theoretical results have received very little attention from the practical perspective. Few of the algorithms are implemented and tested on real datasets, and their practical potential is far from understood....
Article
Full-text available
Depth first search (DFS) tree is a fundamental data structure for solving various graph problems. The classical algorithm [54] for building a DFS tree requires O(m+n) time for a given undirected graph G having n vertices and m edges. Recently, Baswana et al. [5] presented a simple algorithm for updating the DFS tree of an undirected graph after an...
Conference Paper
Full-text available
Depth first search (DFS) tree is a fundamental data structure for solving various graph problems. The classical algorithm for building a DFS tree requires O(m + n) time for a given undirected graph G having n vertices and m edges. In the streaming model, an algorithm is allowed several passes (preferably single) over the input graph having a restri...
Preprint
Depth first search (DFS) tree is a fundamental data structure for solving various graph problems. The classical DFS algorithm requires $O(m+n)$ time for a graph having $n$ vertices and $m$ edges. In the streaming model, an algorithm is allowed several passes (preferably single) over the input graph having a restriction on the size of local space us...
Preprint
Full-text available
We study three fundamental graph problems in the dynamic setting, namely, Maximal Independent Set (MIS), Maximum Matching and Maximum Flows. We report surprisingly simple and efficient algorithms for them in different dynamic settings. For MIS we improve the state of the art upper bounds, whereas for incremental Maximum Matching and incremental uni...
Conference Paper
Full-text available
Depth first search (DFS) tree is a fundamental data structure for solving various graph problems. The classical algorithm [SIAMCOMP74] for building a DFS tree requires O(m+n) time for a given undirected graph G having n vertices and m edges. Recently, Baswana et al. [SODA16] presented a simple algorithm for updating the DFS tree of an undirected gr...
Conference Paper
Full-text available
Let $G=(V,E)$ be a graph with $n$ vertices and $m$ edges, with a designated set of $\sigma$ sources $S\subseteq V$. The fault tolerant subgraph for any graph problem maintains a sparse subgraph $H$ of $G$, such that for any set $F$ of $k$ failures, the solution for the graph problem on $G\setminus F$ is maintained in $H\setminus F$. We address the...
Article
Depth First Search (DFS) tree is a fundamental data structure for solving graph problems. The DFS tree of a graph $G$ with $n$ vertices and $m$ edges can be built in $O(m+n)$ time. Till date, only a few algorithms have been designed for maintaining incremental DFS. For undirected graphs, the two algorithms, namely, ADFS1 and ADFS2 [ICALP14] achieve...
Article
Depth First Search (DFS) tree is a fundamental data structure for graphs used in solving various algorithmic problems. However, very few results are known for maintaining DFS tree in a dynamic environment—insertion or deletion of edges. We present the first algorithm for maintaining a DFS tree for an undirected graph under insertion of edges. For p...
Conference Paper
Full-text available
Depth first search tree is a fundamental data structure for solving various problems in graphs. It is well known that it takes $O(m+n)$ time to build a DFS tree for a given undirected graph $G=(V,E)$ on $n$ vertices and $m$ edges. We address the problem of maintaining a DFS tree when the graph is undergoing updates (insertion or deletion of vertice...
Conference Paper
Full-text available
Depth First Search (DFS) tree is a fundamental data structure for graphs used in solving various algorithmic problems. However, very few results are known for maintaining DFS tree in a dynamic environment - insertion or deletion of edges. The only non-trivial result for this problem is by Franciosa et al. [4]. They showed that, for a directed acycl...

Network

Cited By

Projects

Projects (2)
Project
Solve problems in Bioinformatics using their graph formulations.