বিপরীতমুখী অ্যাকারম্যানের চেয়ে ধীর বৃদ্ধির কাজগুলি কি রানটাইম সীমাতে উপস্থিত হয়?


20

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

চলমান সময়গুলির সাথে পরিচিত অ্যালগরিদমের কোনও উদাহরণ রয়েছে যা বিপরীতমুখী অ্যাকারম্যানের তুলনায় মূলত ধীর গতিতে জড়িত ফাংশনগুলির সাথে জড়িত (উদাহরণস্বরূপ বহুভিত্তিক বা তাত্পর্যপূর্ণ রূপান্তরকরণের অধীনে অ্যাকার্ম্যানের সমতুল্য নয় এমন ফাংশনগুলির বিপরীতমুখী), যা সর্বাধিক পরিচিত সবচেয়ে খারাপ-সময়ের সময় দেয় অন্তর্নিহিত সমস্যা সমাধানের জন্য জটিলতা?


2
O(1) সময়ের অ্যালগরিদম? আপনি একটি পরিচিত সমস্যা সম্পর্কে জিজ্ঞাসা করছেন যার সর্বাধিক পরিচিত আলগোরিদিম হ'ল এবং ? প্রথমে আপনার TREE মতো চেয়ে "মৌলিকভাবে দ্রুত" ক্রমবর্ধমান কোনও ফাংশনটি সন্ধান করতে হবে এবং তারপরে এটি বিপরীত করুন এবং তারপরে এমন কোনও সমস্যা খুঁজে পাবেন যা এটি ফিট করে! ( α ( n ) ) ( এন ) ( এন )ω(1)o(α(n))A(n)(n)
পল জিডি


2
@vzn: যে কোনও সময় গঠনযোগ্য নয় (যার মধ্যে α ( n ) অন্তর্ভুক্ত )। সুতরাং সময়ক্রমক্রমের উপপাদ্য এখানে ব্যবহার করা যাবে না। f(n)=o(n)α(n)
mdxn

@ এমডিএক্স খুশী যে কেউ এটিকে নির্দেশ করেছে, কেবল আপনার চোখের পলক পরীক্ষা করছে। হ্যাঁ ইদানীং ভাবছেন যে সাব- ফাংশনগুলির জন্য সময়ক্রমক্রমের থেমের সাধারণীকরণ হতে পারে । তবে যাইহোক ( এন ) সীমাটি কারণ একটি সময় গঠনমূলক টিএম সমস্ত ইনপুট পড়তে হবে, তবে আমরা কি এই অন্যান্য অ্যালগরিদমগুলি যেমন ইনভার্স অ্যাকারম্যান টাইম জটিলতা না সহ বলছি? এই ভিজুয়ালাইজেশন করতে সমস্যা হচ্ছে! সাব- ( এন ) ভাষার অস্তিত্ব সম্পর্কে প্রশ্নটি আরও বেশি মনে হচ্ছে .... কোথাও কোথাও কোনও রকম জরিপ বা বিবরণ থাকতে পারে ....o(n)o(n)o(n)
ভিজএন

1
@ ভিজএনএন: ওপি'র কাছে তারা কী পরিমাণ মডেল মনে করছেন তা স্পষ্ট করে বলা দরকার। এবং এলএইচ এলোমেলো অ্যাক্সেস টিএম (বা সমকক্ষ) -এ সংজ্ঞায়িত করা দরকার। আমাদের মেকানিক্স নির্দিষ্ট করার সময়, আমরা অজান্তেই খুব বেশি শক্তি যোগ করতে পারি। এটি এমন পরিমাণেও হতে পারে যেখানে গণনা জটিলতার ধারণা ফলপ্রসূ নয়। সর্বাধিক প্রাথমিক পদগুলিতে, আমাদের সময় জটিলতার ধারণাটি পরিবর্তন করতে হবে (যা অ্যামরোটাইজড রানটাইম কী করে) এমন ঝুঁকি নিয়ে যে এই ধরণের সংজ্ঞাটি খুব স্বীকৃত হয়ে উঠতে পারে (এটি গণনার মডেল হিসাবে যায়)। DLOGTIMELH
mdxn

উত্তর:


8

শেঠ Pettie নিয়ে এসেছেন কম্পিউটিং জন্য একটি অ্যালগরিদম সংবেদনশীলতা ন্যূনতম গাছ spanning এর সময় , উপর উন্নতি Tarjan একজন অ্যালগরিদম যা সময় একই নির্ণয় হে ( মি α ( মি , এন ) ) । (Chazelle এর সাথে তুলনা হে ( মি α ( মি , এন ) ) অ্যালগরিদম ন্যূনতম spanning গাছ কম্পিউটিং জন্যO(mlogα(m,n))O(mα(m,n))O(mα(m,n)) নিজেই)

(এই রেফারেন্সের জন্য সোসভি কোপেলোভিটসকে ধন্যবাদ))


1
আমি জানি না লগ ইনভার্স অ্যাকারম্যান ইনভার্স অ্যাকারম্যানের চেয়ে "মৌলিকভাবে ধীর" হয় তবে আমি এই ধরণের চলমান সময়কে অবাক করে দিয়েছি।
যুবাল ফিল্মাস

4

সর্বাধিক হাস্যকরভাবে ধীরে ধীরে বর্ধমান ফাংশনটি যা আমি কখনও গুরুত্ব সহকারে একটি কাগজে ব্যবহার করেছি তা হ'ল , কতগুলি স্থির ধ্রুবকে এন ড্রপ করতে আপনাকে অ্যাকারম্যান ইনভার্স প্রয়োগ করতে হবে । এটি এই কাগজে স্প্লে গাছগুলিতে ডেকিক অনুমানের জন্য ব্যবহৃত হয়েছে ।α(n)n


-1

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

এখন, আমি মনে করি না এমন কোনও ব্যবহারিক সমস্যা আছে যা আপনার প্রশ্নের সাথে মেলে, তবে সম্ভবত আমরা এটি তৈরি করতে পারি। যদিও ইনপুটটিতে আমাদের সীমাবদ্ধতা রাখা দরকার। যেহেতু আমরা ও (এন) ব্যবহার করতে পারি না, তাই আমরা পুরো ইনপুটটি পরীক্ষা করতে পারি না। বাস্তবে, আমরা এমনকি ইনপুটটির দৈর্ঘ্যও পরীক্ষা করতে পারি না O (লগ এন)। সুতরাং, আমাদের প্রথম পরামিতি হিসাবে বাকি ইনপুটটির দৈর্ঘ্যের একটি উপস্থাপনা প্রয়োজন, উদাহরণস্বরূপ সি যেমন আকারম্যান (সি) ইনপুটটির দৈর্ঘ্য। যেহেতু এটিও উপযুক্ত নয়, আমরা আমাদের ইনপুটটিতে প্রথম মান হিসাবে প্যারামিটার সি হিসাবে দাবি করি, যেমন বিবি (সি) ইনপুটটির দৈর্ঘ্য সম্পর্কে যেখানে বিবি ব্যস্ত বিভার ফাংশন। এই ফাংশনটি অসম্পূর্ণ তবে বিবি (সি) অবশ্যই বিদ্যমান। তারপরে, অ্যালগরিদম এর মতো হয়:

for (int i=0; i<c; i++) {
    if (input[i] == null) {
        return false;
    }
}
return true;

অ্যালগরিদমের উদ্দেশ্য হ'ল সি বিবির বিপরীত হয় কিনা তা পরীক্ষা করে দেখা হয়, তবে যদি ইনপুট দৈর্ঘ্য বিবি (সি) এর চেয়ে বেশি হয়।

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


মন্তব্যগুলিতে চিহ্নিত (TREE (n)) হিসাবে অ্যাকারম্যান ফাংশনটির চেয়ে দ্রুত বাড়ার কার্যকারিতা অবশ্যই আছে definitely প্রশ্নের জটিল অংশটি সেই ফাংশনের বিপর্যয়ের একটি রান-টাইম বাউন্ড সহ একটি অ্যালগরিদম তৈরি করছে। এই ধরনের একটি মেশিনের প্রথম স্থানে ফাংশনের বিপরীত গণনা করার জন্য পর্যাপ্ত সময় নেই, সুতরাং এটি অর্জন করে এমন টিএম তৈরির কাজটি সরাসরি এগিয়ে হয় না।
mdxn
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.