Hiểu biết cụ thể về sự khác biệt giữa các định nghĩa PP và BPP


9

Tôi bối rối về cách định nghĩa PPBPP . Giả sử là hàm đặc trưng cho ngôn ngữ . M là máy Turing xác suất. Các định nghĩa sau có đúng không:LχL
P P = { L : P r [ χ ( x ) M ( x ) ] > 1BPP={L:Pr[χ(x)M(x)]12+ϵxL, ϵ>0}
PP= ={L:Pr[χ(x)M(x)]>12}

Nếu định nghĩa sai, vui lòng thử thực hiện thay đổi tối thiểu để làm cho chúng chính xác (nghĩa là không đưa ra định nghĩa tương đương khác sử dụng máy đếm hoặc một số mô hình được sửa đổi). Tôi không thể phân biệt chính xác các điều kiện về xác suất trên cả hai định nghĩa.

Một số ví dụ cụ thể với cái nhìn sâu sắc rõ ràng về các điểm tinh tế sẽ rất hữu ích.

Câu trả lời:


10

Điều đó có vẻ đúng với tôi. Sự khác biệt giữa BPP và PP là đối với BPP, xác suất phải lớn hơn bởi một hằng số , trong khi đối với PP, nó có thể là . Vì vậy, đối với các sự cố BPP, bạn có thể thực hiện khuếch đại xác suất với một số lần lặp lại nhỏ, trong khi đối với các sự cố PP nói chung, bạn không thể.1/2 1/2+1/2n


12

Câu trả lời của Vor đưa ra định nghĩa chuẩn. Hãy để tôi cố gắng giải thích sự khác biệt một chút bằng trực giác.

Đặt là thuật toán thời gian đa thức xác suất lỗi cho một ngôn ngữ trả lời đúng với xác suất ít nhất là . Đặt là đầu vào và kích thước của đầu vào.L p 1MLxnp12+δxn

Điều gì phân biệt một tùy Thuật toán từ một Thuật toán là chênh lệch dương giữa khả năng chấp nhận và khả năng chấp nhận . B P P x L x L PPBPPxLxLB P P n - O ( 1 ) B P P P P P P P N PĐiều cốt yếu về là khoảng cách ít nhất là . Tôi sẽ cố gắng giải thích tại sao sự khác biệt này lại có ý nghĩa và cho phép chúng tôi coi được coi là thuật toán hiệu quả (thậm chí được phỏng đoán là bằng ) trong khi được coi là không hiệu quả (thực tế chứaBPPn-Ôi(1)BPPPPPPPNP ). Tất cả điều này đến từ khoảng cách này.

Hãy bắt đầu bằng cách xem xét cẩn thận hơn.PP

Lưu ý rằng nếu thuật toán sử dụng tối đa bit ngẫu nhiên trong quá trình thực thi và xác suất lỗi nhỏ hơn thì xác suất lỗi thực sự là , không thể có bất kỳ bit ngẫu nhiên nào được chọn làm cho thuật toán trả lời sai.2 - r ( n ) 0r(n)2-r(n)0

Hơn nữa, một thuật toán có thời gian chạy không thể sử dụng nhiều hơn bit ngẫu nhiên, do đó, nếu lỗi của thuật toán xác suất với thời gian chạy trong trường hợp xấu nhất thì tốt hơnt ( n ) t ( n )t(n)t(n)t(n)

Với một lập luận tương tự, chúng ta có thể chỉ ra rằng trường hợp chênh lệch giữa xác suất chấp nhận và xác suất chấp nhận quá nhỏ tương tự như trường hợp chúng ta gần như không có sự khác biệt như trong trường hợp .x L P PxLxLPP

Bây giờ chúng ta hãy tiến tới .BPP

Trong các thuật toán xác suất, chúng ta có thể tăng xác suất để trả lời chính xác. Giả sử chúng tôi muốn tăng xác suất chính xác lên cho xác suất lỗi nói (lỗi nhỏ theo cấp số nhân).ε = 2 - n1-εε= =2-n

Ý tưởng rất đơn giản: chạy nhiều lần và lấy câu trả lời của đa số.M

Chúng ta nên chạy bao nhiêu lần để có xác suất lỗi tối đa ? lần. Bằng chứng được đưa ra ở dưới cùng của câu trả lời này.ε q ( δ - 1 lg ε )MεΘ(δ-1lgε)

Bây giờ chúng ta hãy xem xét rằng các thuật toán mà chúng ta đang thảo luận cần phải là thời gian đa thức. Điều đó có nghĩa là chúng ta không thể chạy nhiều hơn đa thức nhiều lần. Nói cách khác, , hoặc đơn giản hơnΘ ( δ - 1 ln ϵ ) = n O ( 1 )MΘ(δ-1lnε)= =nÔi(1)

δ-1lgε= =nÔi(1)

Mối quan hệ này phân loại các thuật toán xác suất lỗi bị ràng buộc thành các lớp tùy thuộc vào xác suất lỗi của chúng. Không có sự khác biệt giữa xác suất lỗi là hoặc hằng số dương (nghĩa là không thay đổi với ) hoặc . Chúng ta có thể nhận được từ một trong những điều này đến những người khác trong khi vẫn còn trong thời gian đa thức.2 - n n 1ε2-nn12-nÔi(1)

Tuy nhiên, nếu quá nhỏ, giả sử , hoặc thậm chí thì chúng ta không có cách tăng xác suất chính xác và giảm xác suất lỗi đủ nhận được vào .0 2 - n n - ω ( 1 ) B P Pδ02-nn-ω(1)BPP

Điểm chính ở đây là trong chúng ta có thể giảm xác suất lỗi một cách hiệu quả theo cấp số nhân nên chúng ta gần như chắc chắn về các câu trả lời và đó là điều khiến chúng ta coi lớp thuật toán này là thuật toán hiệu quả. Xác suất lỗi có thể giảm đến mức một lỗi phần cứng có nhiều khả năng hoặc thậm chí một thiên thạch rơi trên máy tính có nhiều khả năng hơn là gây ra lỗi bởi thuật toán xác suất.BPP

Điều đó không đúng với , chúng tôi không biết cách giảm xác suất lỗi và chúng tôi gần như trả lời bằng cách ném một đồng xu để có câu trả lời (chúng tôi không hoàn toàn, xác suất là không phải một nửa và một nửa, nhưng nó rất gần với tình huống đó).PP


Phần này đưa ra bằng chứng rằng để có được xác suất lỗi khi chúng ta bắt đầu với một thuật toán có khoảng cách chúng ta nên chạy lần.( 1εMΘ(δ-1lgε)(12-δ,12+δ)M Θ(δ-1lgε)

Đặt là thuật toán chạy trong lần và sau đó trả lời theo câu trả lời của đa số. Để đơn giản, giả sử là số lẻ nên chúng ta không có quan hệ. M k k kNkMkk

Hãy xem xét các trường hợp đó . Trường hợp cũng tương tự. Sau đó Để phân tích xác suất chính xác của chúng ta cần ước tính xác suất chiếm đa số Các chạy chấp nhận.x L P r { M ( x )  chấp nhận } = p 1xLxLNkk

Pr{M(x) chấp nhận}= =p12+δ
Nkk

Đặt là 1 nếu lần chạy thứ chấp nhận và là nếu nó từ chối. Lưu ý rằng mỗi lần chạy là độc lập với người khác khi họ sử dụng các bit ngẫu nhiên độc lập. Do đó, là các biến ngẫu nhiên Boolean độc lập trong đó i 0 X i E [ X i ] = P r { X i = 1 } = P r { M ( x )  chấp nhận } = p 1XTôiTôi0XTôi

E[XTôi]= =Pr{XTôi= =1}= =Pr{M(x) chấp nhận}= =p12+δ

Đặt . Chúng ta cần ước tính xác suất mà đa số chấp nhận, tức là xác suất mà .Y= =ΣTôi= =1kXTôiYk2

Pr{Nk(x) chấp nhận}= =Pr{Yk2}

Làm thế nào để làm nó? Chúng ta có thể sử dụng ràng buộc Chernoff cho chúng ta biết mức độ tập trung của xác suất gần giá trị mong đợi. Đối với bất kỳ biến ngẫu nhiên nào có giá trị mong đợi , chúng ta cóZμ

Pr{|Z-μ|>αμ}<eα24μ

trong đó nói rằng xác suất là cách xa giá trị mong đợi của nó sẽ giảm theo cấp số nhân khi tăng. Chúng tôi sẽ sử dụng nó để ràng buộc xác suất của .ZαμμαY<k2

Lưu ý rằng theo tính tuyến tính của kỳ vọng, chúng ta có

E[Y]= =E[ΣTôi= =1kXTôi]= =ΣTôi= =1kE[XTôi]= =kpk2+kδ

Bây giờ chúng ta có thể áp dụng ràng buộc Chernoff. Chúng tôi muốn giới hạn trên về xác suất của . Giới hạn Chernoff sẽ đưa ra giới hạn trên về xác suất là đủ. Chúng ta cóY<k2|Y-(k2+kδ)|>kδ

Pr{|Y-kp|>αkp}<e-α24kp

và nếu chúng ta chọn sao cho chúng ta đã hoàn thành, vì vậy chúng ta chọn .ααkp= =kδα= =δp2δ2δ+1

Vì vậy, chúng tôi có

Pr{Y<k2}Pr{|Y-(k2+kδ)|>kδ}Pr{|Y-kp|>αkp}<e-α24kp

và nếu bạn làm các phép tính, bạn sẽ thấy rằng

α24kpδ24δ+2k= =Θ(kδ)

chúng ta có

Pr{Y<k2}<e-Θ(kδ)

Chúng tôi muốn lỗi nhiều nhất là , vì vậy chúng tôi muốnε

e-Θ(kδ)ε

hay nói cách khác

Θ(δ-1lgε)k

Một điểm quan trọng ở đây là trong quá trình này chúng tôi sẽ sử dụng nhiều bit ngẫu nhiên hơn và cũng thời gian chạy sẽ tăng, tức là trường hợp xấu nhất chạy-thời điểm sẽ được khoảng lần so với chạy-thời điểm .NkkM

Ở đây điểm giữa của khoảng cách là . Nhưng nói chung điều này không cần phải là trường hợp. Chúng ta có thể áp dụng một phương pháp tương tự cho các giá trị khác bằng cách lấy các phân số khác thay cho đa số để chấp nhận.12


7

Sử dụng ký hiệu của bạn:

BPP= ={L: một máy Turing đa thời gian xác suất và một chi phí sao choM,0<c1/2xPr[χL(x)= =M(x)]12+c}

PP= ={L: một máy Turing thời gian đa thức xác suất sao choMxPr[χL(x)= =M(x)]>12}

Sự khác biệt đã được adrianN chỉ ra và bạn cũng có thể xem Wikipedia PP vs BPP

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.