Rasmus Pagh

Last updated
Rasmus Pagh
Born6 February 1975 (1975-02-06) (age 49)
Denmark
Alma mater
Awards
  • WWW Best Paper Award (2014)
  • ESA Test-of-Time Award (2020)
Scientific career
Fields
Institutions
Thesis Hashing, randomness and dictionaries
Doctoral advisor Peter Bro Miltersen
Website rasmuspagh.net

Rasmus Pagh is a Danish computer scientist and a professor of computer science at the University of Copenhagen. His main work is in algorithms and data structures, and he is particularly known for the cuckoo hashing algorithm and for co-founding the Basic Algorithms Research Center, BARC, in Copenhagen.

Contents

Early life and education

Rasmus Pagh was born in Copenhagen, [1] but soon after his family moved to Esbjerg in western Denmark. He went to high school at Rødkilde Amtsgymnasium where he participated in the "JP Forsker" science competition, and in the "Georg Mohr" mathematics competition. After graduating in 1994, he went to study mathematics and computer science at Aarhus University. In 1998 he started his PhD with Peter Bro Miltersen and started writing articles about hashing and efficient dictionaries, culminating in his work on cuckoo hashing. Soon after his thesis defence was in the fall of 2002 he became an assistant professor at the recently founded IT University of Copenhagen.

Career

In 2007, Rasmus founded the Scalable Query Evaluation for Reliable Databases (SQERD) project. The project aimed at applying modern algorithmic techniques to problems arising in database management systems in connection with the evaluation of queries. From 2011-2015, he ran the MaDaMS project, which partnered with Demetra A/S, Aarhus University and Apptus AB at finding more efficient approaches to data mining. [2]

Rasmus Pagh was made full professor at ITU with his Inaugural Lecture in 2013. [3] In 2014, he received an ERC Consolidator Grant for a project on Scalable Similarity Search. [4] [5] The project resulted in many new algorithms, including a way to prevent false negatives in high dimensional search. [6] In 2017 Pagh co-founded the Basic Algorithms Research Center, BARC, in Copenhagen [7] with Mikkel Thorup, Thore Husfeldt and Stephen Alstrup. Soon thereafter he took a sabbatical to join the Simons Institute at University of California, Berkeley [8] and become a Google visiting scholar. [9]

In 2019, Rasmus Pagh became an Associate Editor of the SIAM Journal on Computing . [10]

Recognition

In 2020, Rasmus Pagh received the European Symposium on Algorithms Test-of-Time award for his 2001 work on cuckoo hashing with Flemming Friche Rodler. [11] He was named as an ACM Fellow, in the 2024 class of fellows, "for contributions to the theory and practice of randomized algorithms". [12]

See also

Related Research Articles

<span class="mw-page-title-main">Hash table</span> Associative array for storing key-value pairs

In computer science, a hash table is a data structure that implements an associative array, also called a dictionary or simply map; an associative array is an abstract data type that maps keys to values. A hash table uses a hash function to compute an index, also called a hash code, into an array of buckets or slots, from which the desired value can be found. During lookup, the key is hashed and the resulting hash indicates where the corresponding value is stored. A map implemented by a hash table is called a hash map.

<span class="mw-page-title-main">Perfect hash function</span> Hash function without any collisions

In computer science, a perfect hash functionh for a set S is a hash function that maps distinct elements in S to a set of m integers, with no collisions. In mathematical terms, it is an injective function.

In computing, a Bloom filter is a space-efficient probabilistic data structure, conceived by Burton Howard Bloom in 1970, that is used to test whether an element is a member of a set. False positive matches are possible, but false negatives are not – in other words, a query returns either "possibly in set" or "definitely not in set". Elements can be added to the set, but not removed ; the more items added, the larger the probability of false positives.

In computer programming, primary clustering is a phenomenon that causes performance degradation in linear-probing hash tables. The phenomenon states that, as elements are added to a linear probing hash table, they have a tendency to cluster together into long runs. If the hash table is at a load factor of for some parameter , then the expected length of the run containing a given element is . This causes insertions and negative queries to take expected time in a linear-probing hash table.

<span class="mw-page-title-main">Jeffrey Vitter</span> American computer scientist

Jeffrey Scott Vitter is a U.S. computer scientist and academic administrator. Born in 1955 in New Orleans, Vitter has served in several senior higher education administration posts. He is a former chancellor of the University of Mississippi. He assumed the chancellor position on January 1, 2016. His formal investiture to the chancellorship took place on November 10, 2016, at the University of Mississippi's Oxford Campus.

<span class="mw-page-title-main">Andrei Broder</span> American computer scientist

Andrei Zary Broder is a distinguished scientist at Google. Previously, he was a research fellow and vice president of computational advertising for Yahoo!, and before that, the vice president of research for AltaVista. He has also worked for IBM Research as a distinguished engineer and was CTO of IBM's Institute for Search and Text Analysis.

<span class="mw-page-title-main">Cuckoo hashing</span> Data structure hashing scheme

Cuckoo hashing is a scheme in computer programming for resolving hash collisions of values of hash functions in a table, with worst-case constant lookup time. The name derives from the behavior of some species of cuckoo, where the cuckoo chick pushes the other eggs or young out of the nest when it hatches in a variation of the behavior referred to as brood parasitism; analogously, inserting a new key into a cuckoo hashing table may push an older key to a different location in the table.

Ivan Bjerre Damgård is a Danish cryptographer and currently a professor at the Department of Computer Science, Aarhus University, Denmark.

In computer science, a succinct data structure is a data structure which uses an amount of space that is "close" to the information-theoretic lower bound, but still allows for efficient query operations. The concept was originally introduced by Jacobson to encode bit vectors, (unlabeled) trees, and planar graphs. Unlike general lossless data compression algorithms, succinct data structures retain the ability to use them in-place, without decompressing them first. A related notion is that of a compressed data structure, insofar as the size of the stored or encoded data similarly depends upon the specific content of the data itself.

<span class="mw-page-title-main">Mihalis Yannakakis</span> Greek-American computer scientist

Mihalis Yannakakis is a professor of computer science at Columbia University. He is noted for his work in computational complexity, databases, and other related fields. He won the Donald E. Knuth Prize in 2005.

<span class="mw-page-title-main">Ronald Fagin</span> American mathematician and computer scientist

Ronald Fagin is an American mathematician and computer scientist, and IBM Fellow at the IBM Almaden Research Center. He is known for his work in database theory, finite model theory, and reasoning about knowledge.

<span class="mw-page-title-main">Georg Gottlob</span> Austrian computer scientist

Georg Gottlob FRS is an Austrian-Italian computer scientist who works in the areas of database theory, logic, and artificial intelligence and is Professor of Informatics at the University of Calabria. He was Professor at the University of Oxford.

Piotr Indyk is Thomas D. and Virginia W. Cabot Professor in the Theory of Computation Group at the Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology.

Michael David Mitzenmacher is an American computer scientist working in algorithms. He is Professor of Computer Science at the Harvard John A. Paulson School of Engineering and Applied Sciences and was area dean of computer science July 2010 to June 2013. He also runs My Biased Coin, a blog about theoretical computer science.

In computer science, a family of hash functions is said to be k-independent, k-wise independent or k-universal if selecting a function at random from the family guarantees that the hash codes of any designated k keys are independent random variables. Such families allow good average case performance in randomized algorithms or data structures, even if the input data is chosen by an adversary. The trade-offs between the degree of independence and the efficiency of evaluating the hash function are well studied, and many k-independent families have been proposed.

In computer science, tabulation hashing is a method for constructing universal families of hash functions by combining table lookup with exclusive or operations. It was first studied in the form of Zobrist hashing for computer games; later work by Carter and Wegman extended this method to arbitrary fixed-length keys. Generalizations of tabulation hashing have also been developed that can handle variable-length keys such as text strings.

<span class="mw-page-title-main">Anna Karlin</span> American computer scientist

Anna R. Karlin is an American computer scientist, the Microsoft Professor of Computer Science & Engineering at the University of Washington.

Mikkel Thorup is a Danish computer scientist working at University of Copenhagen. He completed his undergraduate education at Technical University of Denmark and his doctoral studies at Oxford University in 1993. From 1993 to 1998, he was at University of Copenhagen and from 1998 to 2013 he was at AT&T Labs-Research in New Jersey. Since 2013 he has been at the University of Copenhagen as a Professor and Head of Center for Efficient Algorithms and Data Structures (EADS).

A cuckoo filter is a space-efficient probabilistic data structure that is used to test whether an element is a member of a set, like a Bloom filter does. False positive matches are possible, but false negatives are not – in other words, a query returns either "possibly in set" or "definitely not in set". A cuckoo filter can also delete existing items, which is not supported by Bloom filters. In addition, for applications that store many items and target moderately low false positive rates, cuckoo filters can achieve lower space overhead than space-optimized Bloom filters.

In computer science, a retrieval data structure, also known as static function, is a space-efficient dictionary-like data type composed of a collection of pairs that allows the following operations:

References

  1. "About Rasmus". www.itu.dk.
  2. "MaDaMS". sites.google.com.
  3. Pagh, Rasmus (13 September 2013). "Inaugural Lecture" (PDF). itu.dk.
  4. "On a mission to save search engines". 2014-03-12.
  5. "Scalable Similarity Search".
  6. "Søgning efter sorte huller".
  7. "NYT københavnsk kraftcenter inden for algoritmeforskning". 2017-03-20.
  8. "Rasmus Pagh | Simons Institute for the Theory of Computing". 27 February 2018.
  9. "Rasmus Pagh (@RasmusPagh1) | Twitter". twitter.com.
  10. "SICOMP | Editorial Board | SIAM". www.siam.org.
  11. "ESA - European Symposium on Algorithms: ESA Test-of-Time Award 2020". European Symposia on Algorithms. Retrieved 2021-05-22.
  12. "2024 ACM Fellows Honored for Contributions to Computing That Are Transforming Science and Society". Association for Computing Machinery. January 22, 2025. Retrieved 2025-01-22.