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.

Richard Lipton
Born
Richard Jay Lipton

(1946-09-06) September 6, 1946 (age 78)
Alma materCarnegie Mellon
Known forKarp–Lipton theorem and planar separator theorem
AwardsKnuth Prize (2014)
Scientific career
Fieldscomputer science
InstitutionsYale
Berkeley
Princeton
Georgia Tech
Thesis On Synchronization Primitive Systems  (1973)
Doctoral advisorDavid Parnas[1]
Doctoral students

Career

edit

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

edit

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

edit

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.[2] 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

edit

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.[3] 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

edit

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 ), as well as demonstrating a theoretical lower-bound of O(log ).[4] 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 )-competitive.

Program checking

edit

Lipton showed that randomized testing can be provably useful, given the problem satisfied certain properties.[5] 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 cr 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   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

edit

In the area of game theory, more specifically of non-cooperative games, Lipton together with E. Markakis and A. Mehta proved[6] 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

edit

Lipton and J. Naughton presented an adaptive random sampling algorithm for database querying[7][8] which is applicable to any query for which answers to the query can be partitioned into disjoint subsets[clarification needed]. 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

edit

DeMillo, Lipton and Perlis[9] 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

edit

Chandra, Furst and Lipton[10] generalized the notion of two-party communication protocols to multi-party communication protocols. They proposed a model in which a collection of processes ( ) have access to a set of integers ( ,  ) except one of them, so that   is denied access to  . 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  ’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

edit

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[11] proved that SAT cannot be computed by a Turing machine that takes at most O(n1.1) steps and at most O(n0.1) cells of its read–write tapes.

Awards and honors

edit

See also

edit

Notes

edit
  1. ^ Richard Lipton at the Mathematics Genealogy Project
  2. ^ Lipton, R (1975) "Reduction: a method of proving properties of parallel programs", Communications of the ACM 18(12)
  3. ^ Lipton, R (1979) "Secure databases: protection against user influence" Archived 2010-06-17 at the Wayback Machine, "ACM Transactions on Database Systems" 4(1)
  4. ^ Lipton, R (1994). Online interval scheduling. Symposium on Discrete Algorithms. pp. 302–311. CiteSeerX 10.1.1.44.4548.
  5. ^ Lipton, R (1991) "New Directions in Testing", "DIMACS Distributed Computing and Cryptography" Vol. 2 page: 191
  6. ^ Richard Lipton, Evangelos Markakis, Aranyak Mehta (2007) "Playing Games with Simple Strategies", "EC '03: Proceedings of the 4th ACM conference on Electronic commerce", "ACM"
  7. ^ Richard J. Lipton, Jeffrey F. Naughton (1990) "Query Size Estimation By Adaptive Sampling", "PODS '90: Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems"
  8. ^ Richard J. Lipton, Jeffrey F. Naughton, Donovan A. Schneider (1990) "SIGMOD '90: Proceedings of the 1990 ACM SIGMOD international conference on Management of data "
  9. ^ Richard A. DeMillo, Richard J. Lipton, Alan J. Perlis (1979) "Social processes and proofs of theorems and programs", "Communications of the ACM, Volume 22 Issue 5"
  10. ^ A. K. Chandra, M. L. Furst, and R. J. Lipton (1983) "Multi-Party Protocols", "In STOC, pages 94–99. ACM, 25–2"
  11. ^ L. Fortnow, R. Lipton, D. van Melkebeek, and A. Viglas (2005) "Time-space lower bounds for satisfiability", "J. ACM, 52:835–865, 2005. Prelim version CCC ’2000"
  12. ^ "Dr. Richard J. Lipton". NAE Website. Retrieved 2021-09-18.
  13. ^ "ACM Awards Knuth Prize to Pioneer for Advances in Algorithms and Complexity Theory". Association for Computing Machinery. September 15, 2014. Archived from the original on September 20, 2014.

Further reading

edit
edit