Interactive proof systems Section 10.4 Giorgi Japaridze Theory of Computability.

Slides:



Advertisements
Similar presentations
Zero Knowledge Proofs(2) Suzanne van Wijk & Maaike Zwart
Advertisements

Many-to-one Trapdoor Functions and their Relations to Public-key Cryptosystems M. Bellare S. Halevi A. Saha S. Vadhan.
Based on Powerpoint slides by Giorgi Japaridze, Villanova University Space Complexity and Interactive Proof Systems Sections 8.0, 8.1, 8.2, 8.3, 10.4.
Complexity Theory Lecture 9 Lecturer: Moni Naor. Recap Last week: –Toda’s Theorem: PH  P #P. –Program checking and hardness on the average of the permanent.
The class NP Section 7.3 Giorgi Japaridze Theory of Computability.
Complexity class NP Is the class of languages that can be verified by a polynomial-time algorithm. L = { x in {0,1}* | there exists a certificate y with.
NL equals coNL Section 8.6 Giorgi Japaridze Theory of Computability.
Dana Moshkovitz. Back to NP L  NP iff members have short, efficiently checkable, certificates of membership. Is  satisfiable?  x 1 = truex 11 = true.
Probabilistic algorithms Section 10.2 Giorgi Japaridze Theory of Computability.
1 Slides by Dana Moshkovitz. Adapted from Oded Goldreich’s course lecture notes.
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Slides by Roel Apfelbaum & Eti Ezra. Enhanced by Amit Kagan. Adapted from Oded Goldreich’s course lecture notes.
CS151 Complexity Theory Lecture 7 April 20, 2004.
1 Adapted from Oded Goldreich’s course lecture notes.
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Read sections 7.1 – 7.3 of the book for next time.
Recursively Enumerable and Recursive Languages
1 Uncountable Sets continued Theorem: Let be an infinite countable set. The powerset of is uncountable.
Complexity 19-1 Complexity Andrei Bulatov More Probabilistic Algorithms.
CS151 Complexity Theory Lecture 13 May 11, CS151 Lecture 132 Outline Natural complete problems for PH and PSPACE proof systems interactive proofs.
Zero Knowledge Proofs. Interactive proof An Interactive Proof System for a language L is a two-party game between a verifier and a prover that interact.
CS151 Complexity Theory Lecture 15 May 18, CS151 Lecture 152 Outline IP = PSPACE Arthur-Merlin games –classes MA, AM Optimization, Approximation,
Complexity ©D. Moshkovitz 1 And Randomized Computations The Polynomial Hierarchy.
Lecture 20: April 12 Introduction to Randomized Algorithms and the Probabilistic Method.
PSPACE  IP Proshanto Mukherji CSC 486 April 23, 2001.
The Polynomial Hierarchy By Moti Meir And Yitzhak Sapir Based on notes from lectures by Oded Goldreich taken by Ronen Mizrahi, and lectures by Ely Porat.
PSPACE-Completeness Section 8.3 Giorgi Japaridze Theory of Computability.
Approximation Algorithms Pages ADVANCED TOPICS IN COMPLEXITY THEORY.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
The class P Section 7.2 CSC 4170 Theory of Computation.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
CSCI 2670 Introduction to Theory of Computing December 1, 2004.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
NP-COMPLETENESS PRESENTED BY TUSHAR KUMAR J. RITESH BAGGA.
. CLASSES RP AND ZPP By: SARIKA PAMMI. CONTENTS:  INTRODUCTION  RP  FACTS ABOUT RP  MONTE CARLO ALGORITHM  CO-RP  ZPP  FACTS ABOUT ZPP  RELATION.
PROBABILISTIC COMPUTATION By Remanth Dabbati. INDEX  Probabilistic Turing Machine  Probabilistic Complexity Classes  Probabilistic Algorithms.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Parallel computation Section 10.5 Giorgi Japaridze Theory of Computability.
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
NP-complete Problems Prof. Sin-Min Lee Department of Computer Science.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 7 Time complexity Contents Measuring Complexity Big-O and small-o notation.
Hierarchy theorems Section 9.1 Giorgi Japaridze Theory of Computability.
Probabilistic verification Mario Szegedy, Rutgers www/cs.rutgers.edu/~szegedy/07540 Lecture 1.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Alternation Section 10.3 Giorgi Japaridze Theory of Computability.
Recursively Enumerable and Recursive Languages
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
NP ⊆ PCP(n 3, 1) Theory of Computation. NP ⊆ PCP(n 3,1) What is that? NP ⊆ PCP(n 3,1) What is that?
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
Zero-Knowledge Proofs Ben Hosp. Classical Proofs A proof is an argument for the truth or correctness of an assertion. A classical proof is an unambiguous.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Complexity 27-1 Complexity Andrei Bulatov Interactive Proofs (continued)
The NP class. NP-completeness
Probabilistic Algorithms
Theory of Computability
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Theory of Computability
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Theory of Computability
Theory of Computability
Space Complexity and Interactive Proof Systems
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

Interactive proof systems Section 10.4 Giorgi Japaridze Theory of Computability

Introduction 10.4.a Giorgi Japaridze Theory of Computability Interactive proof systems provide a way to define a probabilistic analog of the class NP, much as probabilistic polynomial time algorithms provide a probabilistic analog of P. Remember the formulation of NP in terms of polynomial time verifiability. Let us rephrase it by creating two entities: a Prover that finds the proofs of membership and a Verifier that checks them. Think of the Prover as if it were convincing the Verifier of w’s membership in A. We require the verifier to be a polynomial time bounded machine; otherwise it could figure out the answer itself. We don’t impose any computational bounds on the Prover because finding the proof may be time-consuming. Take the SAT problem for example. A Prover can convince a polynomial time Verifier that a a formula is satisfiable by supplying a satisfying assignment. Can a Prover similarly convince a computationally limited Verifier that a formula is not satisfiable? The answer, surprisingly, is yes, provided we give the Prover and Verifier two additional features. First, they are permitted to engage in a two-way dialog. Second, the Verifier may be a probabilistic polynomial time machine that reaches the correct answer with a high degree of, but not absolute, certainty. Such a Prover and Verifier constitute an interactive proof system.

Graph nonisomorphism 10.4.b Giorgi Japaridze Theory of Computability Convincing the Verifier that two graphs are isomorphic is easy: just present the isomorphism. But how could the Prover convince the Verifier that two graphs G 1,G 2 are not isomorphic? Well, it can! Consider the following protocol. The Verifier randomly selects either G 1 or G 2 and then randomly reorders its nodes to obtain a new graph H. The Verifier sends H to the Prover. The Prover must respond by declaring whether G 1 or G 2 was the source of H. This concludes the protocol. If G 1 and G 2 are indeed nonisomorphic, the Prover can always carry out the protocol because the Prover could identify whether H came from G 1 or G 2. However, if the graphs were isomorphic, H might have come from either G 1 or G 2, so even with unlimited computational power, the Prover would have no better than chance of getting the correct answer. Thus if the Prover is able to answer correctly consistently (say in 100 repetitions of the protocol), the Verifier has convincing evidence that the graphs are actually nonisomorphic.

The Verifier 10.4.c Giorgi Japaridze Theory of Computability We define the Verifier to be a function V with three inputs: 1. Input string. The objective is to determine whether this string is a member of some language. 2. Random input. For convenience in making the definition, we provide the Verifier with a randomly chosen input string instead of the equivalent capability to make probabilistic moves during its computation. 3. Partial message history. A function has no memory of the dialog that has been sent so far, so we provide the memory externally via a string representing the exchange of messages up to the present point. We use the notation m 1 #...#m i to represent the exchange of messages m 1 through m i. The Verifier’s output is either the next message m i+1 in the sequence, or accept or reject, designating the conclusion of the interaction. Thus V has the functional form V:  *   *   *   *  {accept, reject}. V (w, r, m 1 #...#m i ) = m i+1 means that the input string is w, the random input is r, the current message history is m 1 through m i, and the Verifier’s next message to the Prover is m i+1.

The Prover 10.4.d Giorgi Japaridze Theory of Computability We define the Prover to be a function P with two inputs: 1. Input string. 2. Partial message history. The Prover’s output is the next message to the Verifier. P has the functional form P:  *   *   *. P (w, m 1 #...#m i ) = m i+1 means that the Prover sends m i+1 to the Verifier after having exchanged messages m 1 through m i.

The interaction 10.4.e Giorgi Japaridze Theory of Computability Next we define the interaction between the Prover and the Verifier. For particular strings w and r, we write (V  P)(w,r) = accept if a message sequence m 1 through m k exists for some k whereby 1. for 0 ≤ i < k, where i is an even number, V (w, r, m 1 #...#m i ) = m i+1 ; 2. for 0 < i < k, where i is an odd number, P (w, r, m 1 #...#m i ) = m i+1 ; and 3. the final message m k in the message history is accept. To simplify the definition of the class IP we assume that the lengths of the Verifier’s random input and each of the messages exchanged between the Verifier and the Prover are p(n) for some polynomial p that depends only on the Verifier. Furthermore we assume that the total number of messages exchanged is at most p(n). The following definition gives the probability that an interactive proof system accepts an input string w. For any string w of length n, we define Pr[V  P accepts w] = Pr[(V  P)(w,r) = accept], where r is a randomly selected string of length p(n).

The class IP 10.4.f Giorgi Japaridze Theory of Computability Definition Say that a language A is in IP if some polynomial time function V and arbitrary function P exist, where for every function P’ and string w: 1. w  A implies Pr[V  P accepts w] ≤ 2/3, and 2. w  A implies Pr[V  P’ accepts w] ≤ 1/3. We can amplify the success probability of an interactive proof system by repetition, as we did in Lemma 10.5, to make the error probability exponentially small. An import of the following remarkable theorem is that, for any language in PSPACE, a Prover can convince a probabilistic polynomial time verifier about the membership of a string in the language, even though a conventional proof of membership might be exponentially long. Theorem IP = PSPACE.