ভোরের উত্তরটি স্ট্যান্ডার্ড সংজ্ঞা দেয়। আমি পার্থক্যটি আরও স্বজ্ঞাতভাবে ব্যাখ্যা করার চেষ্টা করি।
দিন M কোনও ভাষার জন্য সীমাবদ্ধ ত্রুটিযুক্ত সম্ভাব্য বহুপদী-সময় অ্যালগরিদম হতে হবে L যা কমপক্ষে সম্ভাবনার সাথে সঠিকভাবে উত্তর দেয় p≥12+δ। দিনx ইনপুট এবং n ইনপুট আকার।
একটি স্বেচ্ছাসেবীর পার্থক্য কি PP একটি থেকে অ্যালগরিদম BPPঅ্যালগোরিদম হ'ল গ্রহণের সম্ভাবনার মধ্যে ইতিবাচক ব্যবধানx∈L এবং গ্রহণের সম্ভাবনা x∉L। সম্পর্কে প্রয়োজনীয় জিনিসBPP যে ফাঁক কমপক্ষে n−O(1)। আমি কেন এই পার্থক্যটি তাৎপর্যপূর্ণ তা ব্যাখ্যা করার চেষ্টা করব এবং আমাদের বিবেচনা করার অনুমতি দিইBPP দক্ষ অ্যালগরিদম হিসাবে বিবেচিত (এমনকি সমান হতে অনুমান করা হয়) P) যদিও PP অদক্ষ বিবেচনা করা হয় (আসলে PP রয়েছে NP)। এই সব এই ফাঁক থেকে আসে।
আসুন দেখে শুরু করা যাক PP আরো সাবধানে.
মনে রাখবেন যে কোনও অ্যালগরিদম যদি সর্বাধিক ব্যবহার করে r(n) এর কার্যকর করার সময় এলোমেলো বিট এবং ত্রুটির সম্ভাবনা কম smaller 2−r(n) ত্রুটি সম্ভাবনা আসলে হয় 0, এমন কোনও এলোমেলো বিট চয়ন করা যাবে না যা অ্যালগরিদম উত্তরটি ভুল করে দেবে।
তদুপরি, চলমান সময় সহ একটি অ্যালগরিদম t(n) এর চেয়ে বেশি ব্যবহার করতে পারে না t(n) এলোমেলো বিট, তাই যদি সবচেয়ে খারাপ ক্ষেত্রে চলমান সময় সঙ্গে একটি সম্ভাব্য আলগোরিদিম এর ত্রুটি t(n) বেশী ভালো
একটি অনুরূপ যুক্তি দিয়ে আমরা দেখাতে পারি যে ক্ষেত্রে গ্রহণের সম্ভাবনার মধ্যে পার্থক্য x∈L এবং এটি গ্রহণের সম্ভাবনা x∉L খুব ছোট ক্ষেত্রেও একইরকম যেখানে আমাদের প্রায় কোনও পার্থক্য নেই PP কেস।
চলুন এখন দিকে অগ্রসর করা যাক BPP।
সম্ভাব্য অ্যালগরিদমে, আমরা সঠিকভাবে উত্তর দেওয়ার সম্ভাবনা বাড়িয়ে দিতে পারি। ধরা যাক আমরা এর যথার্থতার সম্ভাবনা বাড়িয়ে তুলতে চাই1−ϵ ত্রুটি সম্ভাবনা বলার জন্য ϵ=2−n (তাত্ক্ষণিকভাবে ছোট ত্রুটি)।
ধারণাটি সহজ: চালান M বেশ কয়েকবার এবং সংখ্যাগরিষ্ঠের উত্তর নিন।
আমাদের কতবার চালানো উচিত M ত্রুটি হওয়ার সম্ভাবনা সর্বাধিক হওয়ার জন্য ϵ? Θ(δ−1lgϵ)বার। প্রমাণটি এই উত্তরের নীচে দেওয়া আছে।
এখন আসুন আমরা বিবেচনা করি যে আলগোরিদিমগুলি নিয়ে আমরা আলোচনা করছি বহু-কালীন হওয়া দরকার। তার মানে আমরা চালাতে পারি নাMবহুবারের চেয়ে বহুগুণ বেশি। অন্য কথায়,Θ(δ−1lnϵ)=nO(1), বা আরও সহজভাবে
δ−1lgϵ=nO(1)
এই সম্পর্কটি তাদের ত্রুটির সম্ভাবনার উপর নির্ভর করে সীমিত ত্রুটি সম্ভাব্য আলগোরিদিমগুলিকে শ্রেণিতে শ্রেণিবদ্ধ করে। ত্রুটির সম্ভাবনার মধ্যে কোনও পার্থক্য নেইϵ হচ্ছে হচ্ছে 2−n বা ধনাত্মক ধ্রুবক (অর্থাত্ এর সাথে পরিবর্তন হয় না) n) বা 12−nO(1)। বহুপদী সময় থাকা অবস্থায় আমরা এগুলির একটি থেকে অন্যটিতে যেতে পারি।
তবে যদি δ খুব ছোট, বলুন 0, 2−n, অথবা এমনকি n−ω(1) তাহলে আমাদের কাছে সঠিকতার সম্ভাবনা বাড়ানো এবং ত্রুটি হওয়ার সম্ভাবনাটি যথেষ্ট পরিমাণে কমাতে পারে না BPP।
এখানে মূল পয়েন্ট যে হয় BPPআমরা ত্রুটির সম্ভাবনাটি দক্ষতার সাথে তাত্পর্যপূর্ণভাবে হ্রাস করতে পারি সুতরাং উত্তর সম্পর্কে আমরা প্রায় নিশ্চিত এবং এটিই আমাদের এই শ্রেণীর অ্যালগরিদমকে দক্ষ অ্যালগরিদম হিসাবে বিবেচনা করে। ত্রুটির সম্ভাবনাটি এতটাই হ্রাস করা যায় যে একটি হার্ডওয়ারের ব্যর্থতা বেশি হয় বা কম্পিউটারে পড়ে থাকা একটি উল্কাপাতও সম্ভাব্য আলগোরিদিম দ্বারা ত্রুটি তৈরির চেয়ে বেশি।
এটা সত্য নয় PP, আমরা ত্রুটির সম্ভাবনা হ্রাস করার কোনও উপায় জানি না এবং আমরা প্রায় উত্তরদিক থেকে যেমন উত্তরটি পাওয়ার জন্য একটি মুদ্রা নিক্ষেপ করে উত্তর দিচ্ছি (আমরা পুরোপুরি নই, সম্ভাবনাগুলি অর্ধ-অর্ধ নয়, তবে এটি খুব কাছাকাছি) যে পরিস্থিতিতে)।
এই বিভাগটি প্রমাণ দেয় যে ত্রুটির সম্ভাবনা অর্জন করতে পারে ϵ যখন আমরা ফাঁক দিয়ে একটি অ্যালগরিদম দিয়ে শুরু করি (12−δ,12+δ) আমাদের চালানো উচিত M Θ(δ−1lgϵ) বার।
দিন Nk চলমান অ্যালগরিদম হতে M জন্য kসংখ্যাগরিষ্ঠতার উত্তর অনুসারে উত্তরগুলি। সরলতার জন্য, ধরে নেওয়া যাকk বিজোড় তাই আমাদের সম্পর্ক নেই।
কেসটি বিবেচনা করুন x∈L। কেসx∉Lঅনুরূপ. তারপর
Pr{M(x) accepts}=p≥12+δ
এর নির্ভুলতার সম্ভাবনা বিশ্লেষণ করা
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}=p≥12+δ
Let Y=Σki=1Xi. We need to estimate the probability that majority accept, i.e. the probability that Y≥k2।
Pr{Nk(x) accepts}=Pr{Y≥k2}
এটা কিভাবে করতে হবে? আমরা চেরনফ বাউন্ড ব্যবহার করতে পারি যা আমাদের প্রত্যাশিত মানের নিকটে সম্ভাবনার ঘনত্ব বলে tells যেকোন র্যান্ডম ভেরিয়েবলের জন্যZ প্রত্যাশিত মান সহ μ, আমাদের আছে
Pr{|Z−μ|>αμ}<eα24μ
যা বলে যে সম্ভাবনা Z হয় αμ এর প্রত্যাশিত মান থেকে অনেক দূরে μ তাত্পর্যপূর্ণভাবে হ্রাস হয় αবাড়ে। এর সম্ভাবনা সীমাবদ্ধ করতে আমরা এটি ব্যবহার করবY<k2।
দ্রষ্টব্য যে আমাদের প্রত্যাশা রৈখিকতার দ্বারা
E[Y]=E[Σki=1Xi]=Σki=1E[Xi]=kp≥k2+kδ
এখন আমরা চেরনফ বাউন্ড প্রয়োগ করতে পারি। এর সম্ভাব্যতার উপর আমরা একটি উচ্চতর আবদ্ধ চাইY<k2। চেরনফ বাউন্ড এর সম্ভাব্যতার উপর একটি উপরের-আবদ্ধ দেবে|Y−(k2+kδ)|>kδযা যথেষ্ট। আমাদের আছে
Pr{|Y−kp|>αkp}<e−α24kp
and if we pick α such that αkp=kδ we are done, so we pick α=δp≤2δ2δ+1.
Therefore we have
Pr{Y<k2}≤Pr{|Y−(k2+kδ)|>kδ}≤Pr{|Y−kp|>α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.