Richard Lipton

From Wikipedia, the free encyclopedia
  (Redirected from Richard J. Lipton)
Jump to navigation Jump to search
Richard Lipton
Born
Richard Jay Lipton

(1946-09-06) September 6, 1946 (age 72)
ResidenceAtlanta, Georgia
Alma materCarnegie Mellon
Known forKarp–Lipton theorem and planar separator theorem
AwardsKnuth Prize (2014)
Scientific career
Fieldscomputer science
InstitutionsYale
Berkeley
Princeton
Georgia Tech
ThesisOn Synchronization Primitive Systems (1973)
Doctoral advisorDavid Parnas[1]
Doctoral studentsDan Boneh
Avi Wigderson

Richard Jay Lipton (born September 6, 1946) is an American-British computer scientist who has worked in computer science theory, cryptography, and DNA computing. Lipton 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.

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.

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] Even when the user is restricted to only read operations on a database, secure information could be at risk. 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 on non-cooperative game, Lipton together with E.Markakis and A.Mehta proved [6] the existence of epsilon-equilibrium strategies with support logarithmic in the number of pure strategy. Furthermore, the payoff of such strategies can epsilon-approximate the payoffs of exact Nash equilibrium. The limited size (logarithmic) of support provides a natural quasi-polynomial algorithm of computing an epsilon-equilibrium.

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 answer to the query can be partitioned into disjoint subsets. Compared with most sampling estimation algorithms that statically determines the number of samples needed, the algorithm they proposed decides the number of samples based on the size of samples and tends to keep the running time constant rather than 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 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", "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. ^ "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]

External links[edit]