# Richard Lipton

Richard Jay Lipton (born September 6, 1946) is an American computer scientist who is Associate Dean of Research, Professor, and the Frederick G. Storey Chair in Computing in the College of Computing at the Georgia Institute of Technology. He has worked in computer science theory, cryptography, and DNA computing.

## Career

In 1968, Lipton received his undergraduate degree in mathematics from Case Western Reserve University. In 1973, he received his Ph.D. from Carnegie Mellon University; his dissertation, supervised by David Parnas, is entitled On Synchronization Primitive Systems. After graduating, Lipton taught at Yale 1973–1978, at Berkeley 1978–1980, and then at Princeton 1980–2000. Since 2000, Lipton has been at Georgia Tech. While at Princeton, Lipton worked in the field of DNA computing. Since 1996, Lipton has been the chief consulting scientist at Telcordia. In 1999, Lipton was elected a member of the National Academy of Engineering for the application of computer science theory to practice.

## Karp–Lipton theorem

In 1980, along with Richard M. Karp, Lipton proved that if SAT can be solved by Boolean circuits with a polynomial number of logic gates, then the polynomial hierarchy collapses to its second level.

## Parallel algorithms

Showing that a program P has some property is a simple process if the actions inside the program are uninterruptible. However, when the action is interruptible, Lipton showed that through a type of reduction and analysis, it can be shown that the reduced program has that property if and only if the original program has the property. If the reduction is done by treating interruptible operations as one large uninterruptible action, even with these relaxed conditions properties can be proven for a program P. Thus, correctness proofs of a parallel system can often be greatly simplified.

## Database security

Lipton studied and created database security models on how and when to restrict the queries made by users of a database such that private or secret information will not be leaked. For example, querying a database of campaign donations could allow the user to discover the individual donations to political candidates or organizations. If given access to averages of data and unrestricted query access, a user could exploit the properties of those averages to gain illicit information. These queries are considered to have large "overlap" creating the insecurity. By bounding the "overlap" and number of queries, a secure database can be achieved.

## Online scheduling

Richard Lipton with Andrew Tomkins introduced a randomized online interval scheduling algorithm, the 2-size version being strongly competitive, and the k-size version achieving O(log$\vartriangle ^{1+\epsilon }$), as well as demonstrating a theoretical lower-bound of O(log$\vartriangle$). This algorithm uses a private-coin for randomization and a "virtual" choice to fool a medium adversary.
Being presented with an event the user must decide whether or not to include the event in the schedule. The 2-size virtual algorithm is described by how it reacts to 1-interval or k-intervals being presented by the adversary:
* For a 1-interval, flip a fair coin

### Heads

    Take the interval

### Tails

    "Virtually" take the interval, but do no work. Take no short interval for the next 1 unit of time.
* For a k-interval, take whenever possible.
Again, this 2-size algorithm is shown to be strongly-competitive. The generalized k-size algorithm which is similar to the 2-size algorithm is then shown to be O(log$\vartriangle ^{1+\epsilon }$)-competitive.

## Program checking

Lipton showed that randomized testing can be provably useful, given the problem satisfied certain properties. Proving correctness of a program is one of the most important problems presented in computer science. Typically in randomized testing, in order to attain a 1/1000 chance of an error, 1000 tests must be run. However Lipton shows that if a problem has "easy" sub-parts, repeated black-box testing can attain c$^r$ error rate, with c a constant less than 1 and r being the number of tests. Therefore, the probability of error goes to zero exponentially fast as r grows.
This technique is useful to check the correctness of many types of problems.
* Signal processing: fast Fourier transform (FFT) and other highly parallelizable functions are difficult to manually check results when written in code such as FORTRAN, so a way to quickly check correctness is greatly desired.
* Functions over finite fields and the permanent: Suppose that $f(x_{1},\dots ,x_{n})$ is a polynomial over a finite field of size q with q > deg(ƒ) + 1. Then ƒ is randomly testable of order deg(ƒ) + 1 over the function basis that includes just addition. Perhaps the most important application from this is the ability to efficiently check the correctness of the permanent. Cosmetically similar to the determinant, the permanent is very difficult to check correctness, but even this type of problem satisfies the constraints. This result even led to the breakthroughs of interactive proof systems Karloff-Nisan and Shamir, including the result IP = PSPACE.

## Games with simple strategies

In the area of game theory, more specifically of non-cooperative games, Lipton together with E. Markakis and A. Mehta proved the existence of epsilon-equilibrium strategies with support logarithmic in the number of pure strategies. Furthermore, the payoff of such strategies can epsilon-approximate the payoffs of exact Nash equilibria. The limited (logarithmic) size of the support provides a natural quasi-polynomial algorithm to compute epsilon-equilibria.

## Query size estimation

Lipton and J. Naughton presented an adaptive random sampling algorithm for database querying which is applicable to any query for which answers to the query can be partitioned into disjoint subsets. Unlike most sampling estimation algorithms—which statically determine the number of samples needed—their algorithm decides the number of samples based on the sizes of the samples, and tends to keep the running time constant (as opposed to linear in the number of samples).

## Formal verification of programs

DeMillo, Lipton and Perlis criticized the idea of formal verification of programs and argued that
* Formal verifications in computer science will not play the same key role as proofs do in mathematics.
* Absence of continuity, the inevitability of change, and the complexity of specification of real programs will make formal verification of programs difficult to justify and manage.

## Multi-party protocols

Chandra, Furst and Lipton generalized the notion of two-party communication protocols to multi-party communication protocols. They proposed a model in which a collection of processes ($P_{0},P_{1},\ldots ,P_{k-1}$) have access to a set of integers ($a_{0}$, $a_{1},\ldots ,a_{k-1}$) except one of them, so that $P_{i}$ is denied access to $a_{i}$. These processes are allowed to communicate in order to arrive at a consensus on a predicate. They studied this model's communication complexity, defined as the number of bits broadcast among all the processes. As an example, they studied the complexity of a k-party protocol for Exactly-N (do all $a_{i}$’s sum up to N?), and obtained a lower bound using the tiling method. They further applied this model to study general branching programs and obtained a time lower bound for constant-space branching programs that compute Exactly-N.

## Time/space SAT tradeoff

We have no way to prove that the Boolean satisfiability problem (often abbreviated as SAT), which is NP-complete, requires exponential (or at least super-polynomial) time (this is the famous P versus NP problem), or linear (or at least super-logarithmic) space to solve. However, in the context of space–time tradeoff, one can prove that SAT cannot be computed if we apply constraints to both time and space. L. Fortnow, Lipton, D. van Melkebeek, and A. Viglas proved that SAT cannot be computed by a Turing machine that takes at most O(n$^{1.1}$) steps and at most O(n$^{0.1}$) cells of its read–write tapes.

## Awards and honors

* Guggenheim Fellow, 1981
* Fellow of the Association for Computing Machinery, 1997
* Member of the National Academy of Engineering
* Knuth Prize winner, 2014