কোন পরিস্থিতিতে


16

যে ধরুন, প্রতিটি জন্য ϵ>0 , একটি টুরিং মেশিন Mϵ যে একটি ভাষা সিদ্ধান্ত নেয় L সময় O(na+ϵ) । সেখানে একটি একক অ্যালগরিদম সিদ্ধান্ত হয় L সময় O(na+o(1)) ? (এখানে, o(1) শব্দটি n , ইনপুট দৈর্ঘ্যের ক্ষেত্রে পরিমাপ করা হয় ))

যদি অ্যালগরিদম Mϵ গুণমানযোগ্য, বা দক্ষতার সাথে গণনাযোগ্য, of এর শর্তে থাকে তবে এটি কী ϵ ?

অনুপ্রেরণা: অনেক প্রমাণে, সীমিত অ্যালগরিদম হে ( এন + ( 1 ) ) এর চেয়ে বেশি সময় অ্যালগরিদমগুলি তৈরি করা সহজ । বিশেষত, O ( n a + o ( 1 ) ) সীমাটি পাস করতে আপনাকে O ( n a + ϵ ) এ ধ্রুবক শব্দটি আবদ্ধ করতে হবে । যদি আপনার কোনও সাধারণ ফলাফল থাকে তবে আপনি সরাসরি সীমাতে যেতে অনুরোধ করতে পারেন তবে এটি চমৎকার হবে।O(na+ϵ)O(na+o(1))O(na+ϵ)O(na+o(1))

উত্তর:


10

প্রশ্নটি (গঠনমূলক) বস্তুর ক্রম সীমাবদ্ধতার গঠনমূলক অস্তিত্ব সম্পর্কে প্রশ্নগুলির সমান। সাধারণত আপনি যদি দক্ষতার সাথে সেই সমস্ত বস্তুগুলি (এখানে ) অভিন্নভাবে তৈরি করতে পারেন তবে আপনি সীমাটির অস্তিত্ব গঠনমূলকভাবে প্রদর্শন করতে পারেন।Mϵ

উদাহরণস্বরূপ, ধরে নিন যে আমাদের কাছে একটি টিএম যা এম | কে | - 1 উপর এক্স এবং তার চলমান সময় হে ( একটি + + || - 1 ) + + হে ( || ) (এখানে সীমা এছাড়াও ভালো কিছু অভিন্ন হয়, যেমন হে ( 2 এন একটি + + || - 1 )N(k,x)M|k|1xO(na+|k|1)+O(|k|)O(2k.na+|k|1)কাজ করবে না)। তারপর আমরা ফাংশন সঙ্গে এই অভিন্ন কাল্পনিক একত্রিত করতে পারেন প্রাপ্ত মেশিন এন ( এক্স , এক্স ) ঐ সময়ের মধ্যে রানে হে ( একটি + + ( 1 ) )(k,x)xN(x,x)O(na+o(1))

PS: অ্যাসিপোটোটিক স্বরলিপিগুলি বাসা বাঁধার কারণে কিছুটা অস্পষ্ট, আমি এটিকে এন + ( 1 ) হিসাবে ব্যাখ্যা করছি । এছাড়াও আমরা প্রয়োজন একটি খুব ছোট, অন্তত যেমন হতে 1O(na+o(1))na+o(1)a1


8

আপনি লেভিনের সর্বজনীন অনুসন্ধান অ্যালগরিদম ব্যবহার করতে পারেন। মনে করুন যে আপনি কোনওভাবে অ্যালগরিদম সিদ্ধান্ত নিয়েছেন এল এর ক্রম গণনা করতে পারবেন , প্রতিটি সময় সি কে এন + 1 / কে চলছে । সময় লেভিন এর এলগরিদম রানে টি ( এন ) ডি এন একটি + + 1 / প্রত্যেক জন্য , যেখানে ডি উপর নির্ভর করে একটি ধ্রুবক সি । সুতরাং প্রতিটি কে , τ ( n ) ≜ ≜AkLCkna+1/kT(n)Dkna+1/kkDkCkk প্রদত্তε>0, চয়ন=2/ε, এবং দিনএন=ডি 2 / ε। তারপর জন্যএনএন,τ(এন)ε। অতএবτ(এন)0, এবং আমরা পেতে ঐ সময়ের মধ্যে লেভিন এর এলগরিদম রানএনএকটি+ +τ(এন)=একটি+ +

τ(n)logT(n)lognalogDk+(a+1/k)lognlogna=logDklogn+1k.
ϵ>0k=2/ϵN=Dk2/ϵnNτ(n)ϵτ(n)0na+τ(n)=na+o(1)

আমি যদি লেভিনের অ্যালগরিদম বুঝতে পারি তবে এটি কেবল অনুসন্ধান অ্যালগরিদমগুলিতে প্রযোজ্য। এই অ্যালগরিদম একটি ফাংশন উল্টানো কাজ করবে , যেখানে সময় নির্ণিত করা যেতে পারে হে ( ( একটি ) )হে(এন(একটি))
ডেভিড হ্যারিস

আমি নিজেই লেভিনের অ্যালগরিদম ব্যবহার করার পরামর্শ দিচ্ছি না, কেবল ডোভেটাইলিং ব্যবহার করে সমান্তরালভাবে সমস্ত অ্যালগরিদম চালানোর ধারণাটি এমনভাবে যাতে প্রতিটি একমাত্র একটি গুণক কারণের দ্বারা ধীর হয়ে যায়। একজন
যুবাল ফিল্মাস

@ ইউভাল, যখন আপনি সমস্ত অ্যালগরিদমগুলি ডোভেটেল করেন, তবে কোন উত্তরটি গ্রহণ করবেন তা আপনি কীভাবে সিদ্ধান্ত নেবেন? অনুসন্ধানের সমস্যায়, আপনি প্রতিটি পুটিটিভ আউটপুট পরীক্ষা করতে পারেন, তবে সাধারণভাবে এটি সম্ভব নয়।
ডেভিড হ্যারিস

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