Academic Profiles

google scholar google scholar [link]
or orcid [link]
dblp dblp [link]

Academic Journey

Education Research Positions Academic Services
Publications as Lead Author

Random Sampling

Data Summarisation Sparse Prefix Sums Multiobjective Shortest Path

Publications as Co-Author

Join Sampling

Image Similarity Search

Michael Shekelyan
Dr. Michael Shekelyan, Computer Science Researcher


I was born in Moscow, but I grew up in Hamburg and then later moved to Munich. I studied at the University of Munich, where I worked with Prof. Kriegel's (now Prof. Seidel's) database group. I did my PhD in Italy under the supervision of Prof. Johann Gamper (Free University of Bozen-Bolzano) and then went to the UK for postdoctoral research under Prof. Graham Cormode (University of Warwick) and Dr. Grigorios Loukides (King's College London).


My research focuses primarily on algorithms, data structures and summaries to manage very large or sensitive data. The overall goal is to build a full data pipeline that feeds end users with easily interpretable facts which provide novel insights and aid decision making processes. Reducing the data complexity either through sampling or summarisation plays a crucial role to support exploratory interactions with the data that involve a lot of probing, while still providing an intuitive approximation model of the data.

Query Processing

How to find all paths between two network nodes that could be best for some user preference (modelled as multiplicative weights)
Optimality for some linear scalarization
: How to compute sums over sub-tables for a very large table with numeric entries, most of which are equal to zero :

Multidimensional Data Summaries

How to build tiny data models that empirically tend to be good at approximate range counting
DigitHist summary of spatial data
(zoomed in on UK and Germany)
: How to build compact data models that are theoretically guaranteed to be good at approximate range counting (not just asymptotically!): How to approximate arbitrary rectangles with a few pre-selected rectangles :


How to collect a (weighted) random sample over a huge table that is only available as a set of smaller linked tables that need to be joined together :

How to directly iterate (in ascending order) over the selected positions of a simple random sample
Python code for sampling iterator

Publication Venues