Faculty Research Interests

Yali Amit

Computer vision, image analysis and speech recognition: Object detection, recognition and model registration algorithms in digital images and acoustic data using hierarchies of templates. Applications to optical character recognition, zip code reading, face detection and recognition, automatic anatomy identification in medical images, detection and recognition of acoustic signals. Computational efficiency is emphasized. Statistical modeling and analysis of the data for understanding the performance of the algorithms.

Parallel and biologically plausible neural architectures for implementing these algorithms involving interactions with research on biological visual and acoustic pattern recognition.

Laszlo Babai

I work in the fields of theoretical computer science and discrete mathematics; more specifically in computational complexity theory, algorithms, combinatorics, and the asymptotic theory of finite groups (the study of the symmetries of large objects), with an emphasis on the interactions between these fields. Probabilistic methods are common features in my work in each of these areas; linear algebra and number theory are also frequently used. The introduction of the terms "Las Vegas algorithm" and "asymptotic group theory" and the introduction of the concepts of "Arthur-Merlin games" (public-coin interactive proof systems), "holographic proofs" (proofs verifiable by spot-checks), "black-box groups" are among the conceptual highlights. My current focus is on the complexity of the graph isomorphism problem. This long-standing open problem is intimately connected to the asymptotic theory of permutation groups, another area of my continuing interest.

Andrew Chien

I have broad interests in systems spanning applications, system software, networking, and architecture. Current interests include: 1) Programming and Computer Architecture for Exascale computers; 2) Data-intensive computing tools which are easy to use; and 3) Programming models and tools for post-Moore's Law computing substrates.

Ravi Chugh

Programming Languages, Type Systems

Todd Dupont

My research deals with the analysis, evaluation and construction of numerical methods to approximate the solutions of partial differential equations (PDEs).

The question of how to make effective use of computers with multiple processing units is one that is being investigated in several ways. I have recently produced several schemes that involve decomposing the computational domain into subregions and organizing the computation so that the work on each of these subdomains can be done almost independently of the others. This work was for parabolic PDEs and I am studying its extension.

Including adaptivity in numerical methods can make them more robust and efficient. Most simulations of time dependent problems use adaptivity for the control of the time step, and substantial progress has been made by many people in understanding how to control the spatial mesh when approximating PDEs. I have worked on this for several years.

I am currently collaborating with physicists and mathematicians on questions related to instabilities and singularity development in the flow of fluids and psuedo fluids.

Ian Foster

In my research, I seek to develop tools and techniques that allow people to use high-performance computing technologies to do qualitatively new things. This involves investigations of parallel and distributed languages, algorithms, and communication; and also focused work on applications. I am particularly interested in using high-performance networking to incorporate remote compute and information resources into local computational environments.

John Goldsmith

I am interested in understanding the nature of symbolic representation, in both natural language and genomic sequences, through the development of software that induces structure from data.

In the area of natural language, the focus of my recent work has been the development of a program called Linguistica which induces the morphology (the word internal structure) of a language on the basis of a corpus from the language. We are currently working on languages as diverse as Somali and Swahili in addition to more familiar European languages. Our webpage is linguistica.uchicago.edu

Haryadi Gunawi

UCARE: Univ. of Chicago systems research on Availability, Reliability, and Elasticity

Cloud Computing, Operating Systems, File/Storage Systems, and Distributed Systems.

Henry Hoffmann

My research concerns the design and implementation of self-aware and self-adaptive systems, which manage competing goals (e.g., high-performance and low-power) automatically. I believe adaptation should be studied as a first class citizen and supported in applications, system software, and hardware.

Gordon Kindlmann

I research scientific visualization and image analysis to improve the biomedical applications of three-dimensional imaging modalities (like MRI and CT). My past research simplified the work of making informative direct volume renderings, inspired by traditional techniques of edge detection. I continue to explore ways of translating mathematical principles of image processing and computer vision to practical methods of detecting, measuring, and understanding biological and anatomical structure in modern imaging data. Much of my current work (in collaboration with colleagues in the Biological Sciences Division) is focused on applications of high-resolution and multi-variate imaging, including diffusion MRI. A recent line of work explores particles systems for image feature localization and sampling in four-dimensional image scale-space. All my research software is open-source, which is vital for creating reproducible methods of computational science.

Risi Kondor

Machine learning, computational harmonic analysis

Stuart Kurtz

I am interested in the theoretical exploration of the polynomial time degrees, especially focussing on degrees which consist of a single polynomial isomorphism type.

I am also interested in the study of randomness and its applications.

Ketan Mulmuley

Current work: Developing an approach to P vs. NP and related problems through algebraic geometry and representation theory (Geometric complexity theory)

Please see papers at http://gct.cs.uchicago.edu

Michael O'Donnell

I am interested in all types of interaction between computation and logic: in software applications, in the foundations of computer science, and in the conceptual foundations of other fields.

I study models for the digital description and production of sound.

I am investigating minimal network infrastructure to support public key cryptography/signature, based on the "nym" idea of self-signed key records.

In the past, I designed and implemented the first lazy functional programming language, defined precisely by the rules of equational logic. I have also investigated computational semantics for nonclassical logics, leading to a new understanding of constructive logic as a logic of proofs that can be communicated accurately in spite of some discrepancies in the language.

Alexander Razborov

My primary research area is complexity theory, and I am specifically interested in circuit complexity, proof complexity, quantum computations and communication complexity. Previously I worked in combinatorial group theory, and I still keep some interest there. At the moment I am also actively exploring certain areas in discrete mathematics, notably extremal combinatorics; for more detailed description see the bottom of the page http://people.cs.uchicago.edu/~razborov/teaching/index.html.

John Reppy

My main area of research is in the design and implementation of advanced programming languages, including functional languages, object-oriented languages, and concurrent languages. My current research focus is on parallel language design and implementation for multicore architectures and real-time graphical applications.

Janos Simon

My main research area is computational complexity -- estimating the amount of resources (such as memory, time, number of algebraic operations, or interprocess communication) that are needed to compute functions. One tries to get good upper bounds by exhibiting efficient algorithms and to develop mathematical methods to prove lower bounds. I am especially interested in lower bound techniques for parallel and for probabilistic models. I am also interested in dstributed computing, especially in fault tolerant distributed computations.

Rick Stevens

I am interested in the development of innovative tools and techniques that enable computational scientists to solve large-scale problems more effectively on the most advanced high-performance computers. Specifically, my research focuses on three principal areas: collaborative visualization environments, high-performance computer architectures, and performance modeling.

In the area of collaborative visualization, I am exploring the use of virtual reality in the visualization of scientific data and processes. My efforts include improving displays, recording, and playback of virtual reality experiences; developing new methods for tracking and control and close coupling with parallel supercomputers; and devising new ways of collaborating in virtual environments. Of particular interest to me is teleimmersion -- strategies for synthesizing networking and multimedia technologies to enhance the development of wide-area wide-area collaborative computational science.

In the area of high-performance computers, I am studying approaches to computing at the Petaflops Scale, focusing on analysis, modeling, and simulation tools for these ultra-high-performance computers. I am also particularly interested in algorithm and software for multithreaded computer architectures and for hierarchical processor and memory architectures.

In a related area, I am investigating analytic performance models that will help researchers understand the performance relationship between high-performance computer systems and scientific applications. My goal is to enable scientific simulations to achieve the very high performance potential of next-generation computer architectures with deep memory hierarchies.