The Max-Planck-Institut für Informatik conducts basic research in computer science, and in particular, it studies complex computer systems.
Complexity in computer systems arises for various reasons: A problem can be complex due to huge masses of data that have to be handled, sometimes in real time. For this sort of problem efficient algorithms and data structures as well as parallel processing are of great importance. Parallel algorithms are often designed for theoretical machines which abstract from the actual communication between their processors in one way or another. The problem of how we should build such machines is still unsolved.
Or complexity can mean logical complexity as we find it in large software systems, with many layers of abstraction, where applications from different problem domains interact with each other in often unpredictable ways. Here we need to apply methods based on mathematical logic in order to structure, reason about, and develop more systematically, such large systems.
Today’s computer systems frequently consist of many interacting processes, which are often embedded into a natural environment that is governed by physical laws. Here complexity arises due to concurrency, real-time behavior, and heterogeneity (mixed hardware-software, mixed synchrony-asynchrony, mixed discrete-continuous behavior). Methods for understanding and controlling these sources of complexity rely on a combination of algorithmic, logical, automata-theoretic, and game-theoretic techniques.
Computer systems are more and more used to realize and simulate parts of the real or an imaginary world. Such simulations require to model, to render, and to animate complex objects. The goal of computer graphics is to turn abstract information into visual images and to allow the user to interact with complex objects and data in a natural and intuitive way.
Max-Planck-Institut für Informatik
Further information: http://www.mpi-sb.mpg.de/