পিপি এবং বিপিপি সংজ্ঞাগুলির মধ্যে পার্থক্য সম্পর্কে কংক্রিট বোঝা


9

পিপি এবং বিপিপি কীভাবে সংজ্ঞায়িত হয় তা সম্পর্কে আমি বিভ্রান্ত am আমাদের ধরে নেওয়া যাকχ একটি ভাষার বৈশিষ্ট্যগত ফাংশন Lএম প্রব্যাবিলিস্টিক ট্যুরিং মেশিন হবেন। নিম্নলিখিত সংজ্ঞাগুলি কি সঠিক:
BPP={L:Pr[χ(x)M(x)]12+ϵxL, ϵ>0}
PP={L:Pr[χ(x)M(x)]>12}

সংজ্ঞাটি যদি ভুল হয় তবে দয়া করে তাদের সংশোধন করার জন্য নূন্যতম পরিবর্তন করার চেষ্টা করুন (যেমন গণনা মেশিন বা কিছু সংশোধিত মডেল ব্যবহার করে এমন অন্যান্য সমতুল্য সংজ্ঞাটি দেবেন না)। আমি উভয় সংজ্ঞাতে সম্ভাব্যতার শর্তগুলি সঠিকভাবে আলাদা করতে পারি না।

সূক্ষ্ম পয়েন্টগুলিতে সুস্পষ্ট অন্তর্দৃষ্টি সহ কয়েকটি দৃ concrete় উদাহরণ খুব সহায়ক হবে।

উত্তর:


10

এটি আমার কাছে সঠিক দেখাচ্ছে। বিপিপি এবং পিপির মধ্যে পার্থক্য হ'ল বিপিপি-র জন্য সম্ভাবনা বেশি হওয়া উচিত1/2 একটি ধ্রুবক দ্বারা , পিপি জন্য এটি হতে পারে1/2+1/2n। সুতরাং বিপিপি সমস্যার জন্য আপনি সংখ্যক পুনরাবৃত্তি দিয়ে সম্ভাব্যতা বৃদ্ধি করতে পারেন, তবে সাধারণ পিপি সমস্যাগুলির জন্য আপনি পারবেন না।


12

ভোরের উত্তরটি স্ট্যান্ডার্ড সংজ্ঞা দেয়। আমি পার্থক্যটি আরও স্বজ্ঞাতভাবে ব্যাখ্যা করার চেষ্টা করি।

দিন M কোনও ভাষার জন্য সীমাবদ্ধ ত্রুটিযুক্ত সম্ভাব্য বহুপদী-সময় অ্যালগরিদম হতে হবে L যা কমপক্ষে সম্ভাবনার সাথে সঠিকভাবে উত্তর দেয় p12+δ। দিনx ইনপুট এবং n ইনপুট আকার।

একটি স্বেচ্ছাসেবীর পার্থক্য কি PP একটি থেকে অ্যালগরিদম BPPঅ্যালগোরিদম হ'ল গ্রহণের সম্ভাবনার মধ্যে ইতিবাচক ব্যবধানxL এবং গ্রহণের সম্ভাবনা xLসম্পর্কে প্রয়োজনীয় জিনিসBPP যে ফাঁক কমপক্ষে nO(1)। আমি কেন এই পার্থক্যটি তাৎপর্যপূর্ণ তা ব্যাখ্যা করার চেষ্টা করব এবং আমাদের বিবেচনা করার অনুমতি দিইBPP দক্ষ অ্যালগরিদম হিসাবে বিবেচিত (এমনকি সমান হতে অনুমান করা হয়) P) যদিও PP অদক্ষ বিবেচনা করা হয় (আসলে PP রয়েছে NP)। এই সব এই ফাঁক থেকে আসে।

আসুন দেখে শুরু করা যাক PP আরো সাবধানে.

মনে রাখবেন যে কোনও অ্যালগরিদম যদি সর্বাধিক ব্যবহার করে r(n) এর কার্যকর করার সময় এলোমেলো বিট এবং ত্রুটির সম্ভাবনা কম smaller 2r(n) ত্রুটি সম্ভাবনা আসলে হয় 0, এমন কোনও এলোমেলো বিট চয়ন করা যাবে না যা অ্যালগরিদম উত্তরটি ভুল করে দেবে।

তদুপরি, চলমান সময় সহ একটি অ্যালগরিদম t(n) এর চেয়ে বেশি ব্যবহার করতে পারে না t(n) এলোমেলো বিট, তাই যদি সবচেয়ে খারাপ ক্ষেত্রে চলমান সময় সঙ্গে একটি সম্ভাব্য আলগোরিদিম এর ত্রুটি t(n) বেশী ভালো

একটি অনুরূপ যুক্তি দিয়ে আমরা দেখাতে পারি যে ক্ষেত্রে গ্রহণের সম্ভাবনার মধ্যে পার্থক্য xL এবং এটি গ্রহণের সম্ভাবনা xL খুব ছোট ক্ষেত্রেও একইরকম যেখানে আমাদের প্রায় কোনও পার্থক্য নেই PP কেস।

চলুন এখন দিকে অগ্রসর করা যাক BPP

সম্ভাব্য অ্যালগরিদমে, আমরা সঠিকভাবে উত্তর দেওয়ার সম্ভাবনা বাড়িয়ে দিতে পারি। ধরা যাক আমরা এর যথার্থতার সম্ভাবনা বাড়িয়ে তুলতে চাই1ϵ ত্রুটি সম্ভাবনা বলার জন্য ϵ=2n (তাত্ক্ষণিকভাবে ছোট ত্রুটি)।

ধারণাটি সহজ: চালান M বেশ কয়েকবার এবং সংখ্যাগরিষ্ঠের উত্তর নিন।

আমাদের কতবার চালানো উচিত M ত্রুটি হওয়ার সম্ভাবনা সর্বাধিক হওয়ার জন্য ϵ? Θ(δ1lgϵ)বার। প্রমাণটি এই উত্তরের নীচে দেওয়া আছে।

এখন আসুন আমরা বিবেচনা করি যে আলগোরিদিমগুলি নিয়ে আমরা আলোচনা করছি বহু-কালীন হওয়া দরকার। তার মানে আমরা চালাতে পারি নাMবহুবারের চেয়ে বহুগুণ বেশি। অন্য কথায়,Θ(δ1lnϵ)=nO(1), বা আরও সহজভাবে

δ1lgϵ=nO(1)

এই সম্পর্কটি তাদের ত্রুটির সম্ভাবনার উপর নির্ভর করে সীমিত ত্রুটি সম্ভাব্য আলগোরিদিমগুলিকে শ্রেণিতে শ্রেণিবদ্ধ করে। ত্রুটির সম্ভাবনার মধ্যে কোনও পার্থক্য নেইϵ হচ্ছে হচ্ছে 2n বা ধনাত্মক ধ্রুবক (অর্থাত্ এর সাথে পরিবর্তন হয় না) n) বা 12nO(1)। বহুপদী সময় থাকা অবস্থায় আমরা এগুলির একটি থেকে অন্যটিতে যেতে পারি।

তবে যদি δ খুব ছোট, বলুন 0, 2n, অথবা এমনকি nω(1) তাহলে আমাদের কাছে সঠিকতার সম্ভাবনা বাড়ানো এবং ত্রুটি হওয়ার সম্ভাবনাটি যথেষ্ট পরিমাণে কমাতে পারে না BPP

এখানে মূল পয়েন্ট যে হয় BPPআমরা ত্রুটির সম্ভাবনাটি দক্ষতার সাথে তাত্পর্যপূর্ণভাবে হ্রাস করতে পারি সুতরাং উত্তর সম্পর্কে আমরা প্রায় নিশ্চিত এবং এটিই আমাদের এই শ্রেণীর অ্যালগরিদমকে দক্ষ অ্যালগরিদম হিসাবে বিবেচনা করে। ত্রুটির সম্ভাবনাটি এতটাই হ্রাস করা যায় যে একটি হার্ডওয়ারের ব্যর্থতা বেশি হয় বা কম্পিউটারে পড়ে থাকা একটি উল্কাপাতও সম্ভাব্য আলগোরিদিম দ্বারা ত্রুটি তৈরির চেয়ে বেশি।

এটা সত্য নয় PP, আমরা ত্রুটির সম্ভাবনা হ্রাস করার কোনও উপায় জানি না এবং আমরা প্রায় উত্তরদিক থেকে যেমন উত্তরটি পাওয়ার জন্য একটি মুদ্রা নিক্ষেপ করে উত্তর দিচ্ছি (আমরা পুরোপুরি নই, সম্ভাবনাগুলি অর্ধ-অর্ধ নয়, তবে এটি খুব কাছাকাছি) যে পরিস্থিতিতে)।


এই বিভাগটি প্রমাণ দেয় যে ত্রুটির সম্ভাবনা অর্জন করতে পারে ϵ যখন আমরা ফাঁক দিয়ে একটি অ্যালগরিদম দিয়ে শুরু করি (12δ,12+δ) আমাদের চালানো উচিত M Θ(δ1lgϵ) বার।

দিন Nk চলমান অ্যালগরিদম হতে M জন্য kসংখ্যাগরিষ্ঠতার উত্তর অনুসারে উত্তরগুলি। সরলতার জন্য, ধরে নেওয়া যাকk বিজোড় তাই আমাদের সম্পর্ক নেই।

কেসটি বিবেচনা করুন xL। কেসxLঅনুরূপ. তারপর

Pr{M(x) accepts}=p12+δ
এর নির্ভুলতার সম্ভাবনা বিশ্লেষণ করা Nk আমাদের বেশিরভাগের সম্ভাবনাটি অনুমান করতে হবে k রান গ্রহণ।

দিন Xi যদি 1 হয় iরান রান গ্রহণ করে এবং হতে 0 if it rejects. Note that each run is independent from others as they use independent random bits. Thus Xis are independent Boolean random variables where

E[Xi]=Pr{Xi=1}=Pr{M(x) accepts}=p12+δ

Let Y=Σi=1kXi. We need to estimate the probability that majority accept, i.e. the probability that Yk2

Pr{Nk(x) accepts}=Pr{Yk2}

এটা কিভাবে করতে হবে? আমরা চেরনফ বাউন্ড ব্যবহার করতে পারি যা আমাদের প্রত্যাশিত মানের নিকটে সম্ভাবনার ঘনত্ব বলে tells যেকোন র্যান্ডম ভেরিয়েবলের জন্যZ প্রত্যাশিত মান সহ μ, আমাদের আছে

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

যা বলে যে সম্ভাবনা Z হয় αμ এর প্রত্যাশিত মান থেকে অনেক দূরে μ তাত্পর্যপূর্ণভাবে হ্রাস হয় αবাড়ে। এর সম্ভাবনা সীমাবদ্ধ করতে আমরা এটি ব্যবহার করবY<k2

দ্রষ্টব্য যে আমাদের প্রত্যাশা রৈখিকতার দ্বারা

E[Y]=E[Σi=1kXi]=Σi=1kE[Xi]=kpk2+kδ

এখন আমরা চেরনফ বাউন্ড প্রয়োগ করতে পারি। এর সম্ভাব্যতার উপর আমরা একটি উচ্চতর আবদ্ধ চাইY<k2। চেরনফ বাউন্ড এর সম্ভাব্যতার উপর একটি উপরের-আবদ্ধ দেবে|Y(k2+kδ)|>kδযা যথেষ্ট। আমাদের আছে

Pr{|Ykp|>αkp}<eα24kp

and if we pick α such that αkp=kδ we are done, so we pick α=δp2δ2δ+1.

Therefore we have

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

and if you do the calculations you will see that

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

we have

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

We want the error to be at most ϵ, so we want

eΘ(kδ)ϵ

or in other words

Θ(δ1lgϵ)k

One essential point here is that in the process we will use many more random bits and also the running time will increase, i.e. the worst-case running-time of Nk will be roughly k times the running-time of M.

Here the mid point of the gap was 12. But in general this doesn't need to be the case. We can adopt a similar method for other values by taking other fractions in place of majority for accepting.


7

Using your notation:

BPP={L: a probabilistic polynomial-time Turing Machine M, and a costant 0<c1/2 such that xPr[χL(x)=M(x)]12+c}

PP={L: a probabilistic polynomial-time Turing Machine M such that xPr[χL(x)=M(x)]>12}

The difference has been pointed out by adrianN, and you can also take a look at Wikipedia PP vs BPP

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.