#### Research Group

## Algorithms Group

We devise new mathematical tools to tackle the increasing difficulty and importance of problems we pose to computers.

- Research Areas
- Impact Areas

29 Group Results

We devise new mathematical tools to tackle the increasing difficulty and importance of problems we pose to computers.

This CoR brings together researchers at CSAIL working across a broad swath of application domains. Within these lie novel and challenging machine learning problems serving science, social science and computer science.

The MIT Center for Deployable Machine Learning (CDML) works towards creating AI systems that are robust, reliable and safe for real-world deployment.

This CoR aims to develop AI technology that synthesizes symbolic reasoning, probabilistic reasoning for dealing with uncertainty in the world, and statistical methods for extracting and exploiting regularities in the world, into an integrated picture of intelligence that is informed by computational insights and by cognitive science.

Our interests span quantum complexity theory, barriers to solving P versus NP, theoretical computer science with a focus on probabilistically checkable proofs (PCP), pseudo-randomness, coding theory, and algorithms.

Our lab focuses on designing algorithms to gain biological insights from advances in automated data collection and the subsequent large data sets drawn from them.

Our mission is fostering the creation and development of high-performance, reliable and secure computing systems that are easy to interact with.

Our group’s goal is to create, based on such microscopic connectivity and functional data, new mathematical models explaining how neural tissue computes.

We develop techniques and tools that exploit automated reasoning and large amounts of computing power to tackle challenging programming problems

This community is interested in understanding and affecting the interaction between computing systems and society through engineering, computer science and public policy research, education, and public engagement.

We seek to develop techniques for securing tomorrow's global information infrastructure by exploring theoretical foundations, near-term practical applications, and long-range speculative research.

We conduct research on all areas of database systems and information management.

We are investigating decentralized technologies that affect social change.

We aim to develop the science of autonomy toward a future with robots and AI systems integrated into everyday life, supporting people with cognitive and physical tasks.

Our group studies geometric problems in computer graphics, computer vision, machine learning, optimization, and other disciplines.

We are an interdisciplinary group of researchers blending approaches from human-computer interaction, social computing, databases, information management, and databases.

We develop techniques for designing, implementing, and reasoning about multiprocessor algorithms, in particular concurrent data structures for multicore machines and the mathematical foundations of the computation models that govern their behavior.

We research programming languages, software engineering, and related work in human-computer interaction.

We develop innovative approaches for building software and for solving problems in modern parallel and distributed software systems.

Our research interests center around the capabilities and limits of quantum computers, and computational complexity theory more generally.

Our goal is to find better ways to make software, and ways to make software better.

We investigate the technologies that support scalable high-performance computing, including hardware, software, and theory.

30 Project Results

We aim to develop a systematic framework for robots to build models of the world and to use these to make effective and safe choices of actions to take in complex scenarios.

The project concerns algorithmic solutions for writing fast codes.

Alloy is a language for describing structures and a tool for exploring them. It has been used in a wide range of applications from finding holes in security mechanisms to designing telephone switching networks. Hundreds of projects have used Alloy for design analysis, for verification, for simulation, and as a backend for many other kinds of analysis and synthesis tools, and Alloy is currently being taught in courses worldwide.

We study the fundamentals of Bayesian optimization and develop efficient Bayesian optimization methods for global optimization of expensive black-box functions originated from a range of different applications.

Traffic is not just a nuisance for drivers: It’s also a public health hazard and bad news for the economy.

BlueDBM is an architecture of computer clusters consisting of fast distributed flash storage and in-storage accelerators, which often outperforms larger and more expensive clusters in applications such as graph analytics.

This project aims to design parallel algorithms for shared-memory machines that are efficient both in theory and also in practice.

We plan to develop a suite of graph compression and reordering techniques as part of the Ligra parallel graph processing framework to reduce space usage and improve performance of graph algorithms.

Our goal is to design novel data compression techniques to accelerate popular machine learning algorithms in Big Data and streaming settings.

Data scientists universally report that they spend at least 80% of their time finding data sets of interest, accessing them, cleaning them and assembling them into a unified whole.

We are investigating the limits of computing on encrypted data, with a focus on the private outsourcing of computation over sensitive data.

Historically, DBMSs in the warehouse space partitioned their data across a shared nothing

cluster.

cluster.

Wikipedia is one of the most widely accessed encyclopedia sites in the world, including by scientists. Our project aims to investigate just how far Wikipedia’s influence goes in shaping science.

We aim to understand theory and applications of diversity-inducing probabilities (and, more generally, "negative dependence") in machine learning, and develop fast algorithms based on their mathematical properties.

Developing state-of-the-art tools that process 3D surfaces and volumes

We are designing new parallel algorithms, optimizations, and frameworks for clustering large-scale graph and geometric data.

A framework to support implementing, specifying, verifying, and compiling hardware designs, modularly

Linking probability with geometry to improve the theory and practice of machine learning

Gerrymandering is a direct threat to our democracy, undermining founding principles like equal protection under the law and eroding public confidence in elections.

To enable privacy preservation in decentralized optimization, differential privacy is the most commonly used approach. However, under such scenario, the trade-off between accuracy (even efficiency) and privacy is inevitable. In this project, distributed numerical optimization scheme incorporated with lightweight cryptographic information sharing are explored. The affect on the convergence rate from network topology is considered.

Predicting the number of clock cycles a processor takes to execute a block of assembly instructions in steady-state (the throughput) is important for both compiler designers and performance engineers.

However, building an analytical model to do so is especially complicated in modern x86-64 Complex Instruction Set Computer (CISC) machines with sophisticated processor microarchitectures in that it is tedious, error-prone, and must be performed from scratch for each processor generation.

Ithemal is the first tool that learns to predict the throughput of a set of instructions. It does so more accurately than state-of-the-art hand-written tools currently used in compiler backends and static machine code analyzers. In particular, Ithemal has less than half the error of state-of-the-art analytical models (LLVM's llvm-mca and Intel's IACA).

However, building an analytical model to do so is especially complicated in modern x86-64 Complex Instruction Set Computer (CISC) machines with sophisticated processor microarchitectures in that it is tedious, error-prone, and must be performed from scratch for each processor generation.

Ithemal is the first tool that learns to predict the throughput of a set of instructions. It does so more accurately than state-of-the-art hand-written tools currently used in compiler backends and static machine code analyzers. In particular, Ithemal has less than half the error of state-of-the-art analytical models (LLVM's llvm-mca and Intel's IACA).

We plan to develop a programming abstraction to enable programmers to write efficient parallel programs to process dynamic graphs.

To explore how randomness in connectivity can improve the performance of secure multi-party computation (MPC) and the properties of communication graph to support MPC.

We work towards a principled understanding of the current machine learning toolkit and making this toolkit be robust and reliable.

42 People Results

Graduate Student

Graduate Student

Graduate Student

Graduate Student

Research Affiliate

Graduate Student

Graduate Student

Graduate Student

Graduate Student

Research Scientist

Postdoctoral Associate

20 News Results

System ensures hackers eavesdropping on large networks can’t find out who’s communicating and when they’re doing so.

In a Washington Post op-ed, CSAIL's R. David Edelman outlines how to regulate AI properly

Research aims to make it easier for self-driving cars, robotics, and other applications to understand the 3D world.

Speakers — all women — discuss everything from gravitational waves to robot nurses

Workshop explores technical directions for making AI safe, fair, and understandable

Last week MIT’s Institute for Foundations of Data Science (MIFODS) held an interdisciplinary workshop aimed at tackling the underlying theory behind deep learning. Led by MIT professor Aleksander Madry, the event focused on a number of research discussions at the intersection of math, statistics, and theoretical computer science.

MIT CSAIL system lets users change one part of a processor’s design without impacting the others

CSAIL system encourages government transparency using cryptography on a public log of wiretap requests.

May 2, 2018 - Sir Tim Berners-Lee of MIT gave a Dertouzos Distinguished Lecture titled "From Utopia to Dystopia in 29 Short Years."

Harini Suresh, a PhD student at MIT CSAIL, studies how to make machine learning algorithms more understandable and less biased.

Last week CSAIL hosted the second “Hot Topics in Computing” speaker series, a monthly forum where computing experts hold discussions with community members on various topics in the computer science field.

This week it was announced that MIT professors and CSAIL principal investigators Shafi Goldwasser, Silvio Micali, Ronald Rivest, and former MIT professor Adi Shamir won this year’s BBVA Foundation Frontiers of Knowledge Awards in the Information and Communication Technologies category for their work in cryptography.

Today four MIT faculty were named among the Association for Computer Machinery's 2017 Fellows for making “landmark contributions to computing.”

Last week CSAIL principal investigator Shafi Goldwasser spoke about cryptography and privacy as part of the annual congressional briefing of the American Mathematical Society (AMS) and the Mathematical Sciences Research Institute (MSRI).

We live in the age of big data, but most of that data is “sparse.” Imagine, for instance, a massive table that mapped all of Amazon’s customers against all of its products, with a “1” for each product a given customer bought and a “0” otherwise. The table would be mostly zeroes.

In a traditional computer, a microprocessor is mounted on a “package,” a small circuit board with a grid of electrical leads on its bottom. The package snaps into the computer’s motherboard, and data travels between the processor and the computer’s main memory bank through the leads.

Most modern websites store data in databases, and since database queries are relatively slow, most sites also maintain so-called cache servers, which list the results of common queries for faster access. A data center for a major web service such as Google or Facebook might have as many as 1,000 servers dedicated just to caching.

This week the Association for Computer Machinery presented CSAIL principal investigator Daniel Jackson with the 2017 ACM SIGSOFT Outstanding Research Award for his pioneering work in software engineering. (This fall he also received the ACM SIGSOFT Impact Paper Award for his research method for finding bugs in code.)An EECS professor and associate director of CSAIL, Jackson was given the Outstanding Research Award for his “foundational contributions to software modeling, the creation of the modeling language Alloy, and the development of a widely used tool supporting model verification.”

Distributed planning, communication, and control algorithms for autonomous robots make up a major area of research in computer science.

When a power company wants to build a new wind farm, it generally hires a consultant to make wind speed measurements at the proposed site for eight to 12 months. Those measurements are correlated with historical data and used to assess the site’s power-generation capacity.This month CSAIL researchers will present a new statistical technique that yields better wind-speed predictions than existing techniques do — even when it uses only three months’ worth of data. That could save power companies time and money, particularly in the evaluation of sites for offshore wind farms, where maintaining measurement stations is particularly costly.