"আশ্রয়হীনভাবে আরও দক্ষ" বলে এর অর্থ কী?


12

যখন আমরা বলি যে একটি অ্যালগরিদম চেয়ে asympototically আরও দক্ষ হয় তখন এর অর্থ কী ?XY

  • X সমস্ত ইনপুটগুলির জন্য আরও ভাল পছন্দ হবে।
  • X ছোট ইনপুট বাদে সমস্ত ইনপুটগুলির জন্য আরও ভাল পছন্দ হবে।
  • Xবড় ইনপুট বাদে সমস্ত ইনপুটগুলির জন্য ভাল পছন্দ হবে।
  • Yছোট ইনপুটগুলির জন্য আরও ভাল পছন্দ হবে।

এই প্রশ্নের লিঙ্কটি এখানে।

http://quiz.geeksforgeeks.org/algorithms-analysis-of-algorithms-question-16/


আমি ভেবেছিলাম যে অ্যালগরিদম আরও asyptotically দক্ষ সব ইনপুট জন্য কাজ করা উচিত, কিন্তু আমি "এটি ছোটগুলি বাদে সমস্ত ইনপুটগুলির জন্য কাজ করে" এর পিছনে কারণ পাচ্ছি না।


বড় ইনপুট অ্যালগরিদমে বোতল ঘাড় উন্মোচিত। আমি ইঞ্জিনিয়ারিং পদে কি রাখব।
অপিওয়াত চানতাবুল

উত্তর:


14

প্রথমে, উভয় অ্যালগরিদম সমস্ত ইনপুটগুলির জন্য "কাজ" করে। প্রশ্নটি পারফরম্যান্স নিয়ে।

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

উত্তরের ধারণাটি হল যে একটি ইনস্পিম্পটোটিক্যালি আরও দক্ষ অ্যালগরিদমের এখনও সেই ইনপুট আকারের আগে আরও পদক্ষেপের প্রয়োজন হতে পারে । এটা তোলে করতে ক্ষেত্রে যে এসিম্পটোটিকভাবে আরও দক্ষ অ্যালগরিদম সব ইনপুট জন্য কিছু ধাপেই প্রয়োজন তবে এটি কেস এবং অনুশীলন করা সাধারণত নয় দরকার নেই। সুতরাং "সঠিক" উত্তর একটি ভাল শব্দমালা কেমন হওয়া উচিৎ " ছাড়া সমস্ত ইনপুট জন্য একটি ভাল পছন্দ হতে হবে সম্ভবত ছোট ইনপুট"।X

শব্দটি এখনও ততটা দুর্দান্ত নয়। প্রথমত, আরও অনেক কারণ অ্যালগরিদম কী "ভাল পছন্দ" তা স্থির করে, তবে আমি তাদের দেব যে উদ্দেশ্যটি এই ক্ষেত্রে যথেষ্ট পরিষ্কার। আসল ইস্যুটি "ছোট" এবং "বৃহত্তর"। আমার প্রিয় নিবন্ধগুলির মধ্যে একটি হ'ল দ্য দ্রুততম এবং সংক্ষিপ্ততম অ্যালগরিদম সমস্ত ভাল-সংজ্ঞায়িত সমস্যার জন্য । এই কাগজটি একটি অ্যালগরিদম বর্ণনা করে যা কোনও ফাংশনের কোনও স্পেসিফিকেশন দেয় এবং একটি প্রমাণ দেয় যে এটি বহুগুণে গণনা করা যেতে পারে যে সেই কার্যটি সময়ের একটি সংযোজন এবং একটি সংযোজক শব্দটির মধ্যে অনুকূল সময় জটিলতায় গুণতে পারে। উদাহরণস্বরূপ, যদি আমি এটি ফাংশনের স্পেসিফিকেশন হিসাবে বুদ্বুদ সাজানোর একটি বাস্তবায়ন সরবরাহ করি এবং এটি সহজ প্রমাণিত হয় যে এটি proof5O(n2), এটি একটি বাছাই করা অ্যালগরিদম তৈরি করবে যা ছিল । বস্তুত, এটা একটি আলগোরিদিম ছিল উত্পাদন করবে যেখানে লাগাতার ফ্যাক্টর ছিল এসিম্পটোটিকভাবে * অনুকূল অ্যালগরিদম। এটা চমৎকার. একটি মাত্র সমস্যা আছে: ধ্রুবক শব্দটি - লুকানো আছেO(nlgn)5cnlgn+o(nlgn)co(nlgn)এই উদাহরণে - কার্যত যে কোনও বাস্তব সমস্যার জন্য অ্যালগোরিদমকে প্রায় পুরোপুরি অপরিবর্তনীয় রেন্ডার করে। "সম্পূর্ণ অক্ষম" বলতে আমি কী বুঝি? আমি বোঝাতে চাইছি যে অ্যালগরিদম সম্পূর্ণ হওয়ার আগে মহাবিশ্বের তাপের মৃত্যু বহুবার ঘটবে। তবুও, উপযুক্ত "বৃহত" ইনপুটগুলির জন্য এটি বুদ্বুদ সাজানোর চেয়ে দ্রুত হবে। আমার বক্তব্যটি হ'ল শারীরিকভাবে কোনওভাবেই "উপযুক্তভাবে বড়" ইনপুট লিখতে পারা যায় না, কেবল এটির গণনা করা যাক।

কোন হার, কীভাবে আমি চাই শব্দ সঠিক উত্তর হবে এ: " কম পদক্ষেপ প্রয়োজন যথেষ্ট বৃহৎ ইনপুট উপর"। এটি এখনও কিছুটা অস্পষ্ট কারণ "পদক্ষেপ" এর একাধিক ধারণা প্রয়োগ করা যেতে পারে এবং একটি অ্যালগরিদম এক মেট্রিকের দ্বারা asyptotically আরও দক্ষ এবং অন্যজনের দ্বারা কম দক্ষ হতে পারে। এই শব্দটি "ভাল পছন্দ" এর মূল্য রায় এড়ায়; স্থির কারণ / শর্তাদি যেমন ক্যাশে-দক্ষতা বা বাস্তবায়ন সরলতার মতো নির্দিষ্ট করা হয় তখন অ্যাসিম্পোটোটিকভাবে কম দক্ষ অ্যালগরিদম বা এমনকি কম দক্ষ অ্যালগরিদমগুলি বেছে নেওয়ার অনেকগুলি কারণ রয়েছে।XY

* এখানে একটি সূক্ষ্মতা আছে। অ্যাসিম্পটোটিক্যালি অপ্টিমাল অ্যালগরিদমের একটি অ্যাসিম্পটোটিক্যালি অপ-অপ্টিমাল অ্যালগরিদমের চেয়ে আরও খারাপ ধ্রুবক উপাদান হতে পারে । আমি মনে করি যে কোনও অসম্পূর্ণভাবে অনুকূল অ্যালগরিদমের জন্য এটি এর সেরা মান থাকবে তবে এটি অনুমেয় যে অ্যাসিপোটোটিক দক্ষতায় কিছুটা লাভ অর্জন করতে গেলে বিশাল জটিলতা যুক্ত করা হয় যা ধ্রুবক গুণকে উল্লেখযোগ্যভাবে বৃদ্ধি করে।cc


2

লোকেরা যখন এ জাতীয় কিছু বলে তখন সাধারণত তার অর্থ:

যদি এবং যথাক্রমে মডেল এক্স এর অ্যালগরিদম এবং এর দুটি চলমান-সময় ব্যয় ফাংশন , তবে ।TATBABTAo(TB)

অনেকগুলি সতর্কতা এখানে প্রয়োগ হয়: নির্দিষ্ট করা দরকার, এবং "চলমান-সময় ব্যয়" বলতে আসলে কী বোঝাতে হয় তা আমাদের নির্ধারণ করতে হবে। সময় প্রায় তদন্তের বিষয় নয়। অন্যান্য অনেক ব্যয়ের ব্যবস্থা রয়েছে। ল্যান্ডাউ স্বরলিপি দক্ষতা সম্পর্কে কোনও সহায়ক বিবৃতি দেয় কিনা তা স্পষ্ট নয় । ইত্যাদি।X

বিশেষত, আপনার প্রস্তাবিত যে বক্তব্যগুলি অনুসরণ করা হয় তার কোনওটিই অনুসরণ করে না, যদিও লোকেরা প্রায়শই দ্বিতীয়টি সুপারিশ করে।

দুঃখের বিষয়, অ্যালগোরিদমগুলির সাথে আচরণকারী বিস্তৃত সম্প্রদায় পরিভাষাটি গ্রহণ করে যা সরলতার জন্য শূন্যের সীমানা। ( অ্যালগরিদম সম্পর্কে সুনির্দিষ্ট এবং সহায়ক বক্তব্য দেওয়া শক্ত!)

আপনি আমাদের রেফারেন্স প্রশ্নে আগ্রহী হতে পারে ।


অ্যালগরিদম এক্সকে Y এর চেয়ে asyptotically আরও ভাল বলা হয়ে থাকে যদি X সমস্ত ইনপুট মাপের জন্য n এর চেয়ে বড় n0 যেখানে n0> 0 হয় তার জন্য y এর চেয়ে কম সময় নেয়।

এটি কীভাবে সাধারণ সংজ্ঞা নয় তা লক্ষ্য করুন! যদি এবং , আমরা এটি "asyptotically ভাল" না বলব। একটি অ্যালগরিদমের কার্যকারিতা একক সংখ্যায় নামিয়ে দেয় এমন বিশ্লেষণের সমস্ত সতর্কতা প্রদত্ত, কোনও দাবি করা যায় না যে অন্যটির তুলনায় একজন "উন্নত" ছিলেন।TA(n)=n+1TB(n)=n

আমি আপনাকে সিএস রিসোর্স থেকে কম্পিউটার বিজ্ঞান শিখার পরামর্শ দিই, উইকিপিডিয়ায় একবার স্টাফ সম্পর্কে পড়া প্রোগ্রামারদের কাছ থেকে নয়। (হ্যাঁ, এটি কঠোর, তবে আমি প্রোগ্রামার চেনাশোনাগুলিতে এমনকি এসও তেও প্রচুর মিথ্যাচার দেখেছি))


2

"Asyptotically আরও দক্ষ" এর অর্থ "একটি নির্দিষ্ট আকারের উপরে সমস্ত সমস্যার জন্য আরও দক্ষ"। এটি "নির্দিষ্ট আকার" কী তা বলে না এবং "নির্দিষ্ট আকার" এর আগে কী ঘটে তা তা বলে না।

সুতরাং দ্বিতীয়টি বাদে সমস্ত উত্তর পরিষ্কারভাবে ভুল because তবে দ্বিতীয়টিও সমস্যাযুক্ত।

বর্তমানে এমন কোনও হার্ডওয়্যার নেই যা পূর্ণসংখ্যার অ্যারে সঞ্চয় করতে পারে , সুতরাং পরিষ্কারভাবে পূর্ণসংখ্যাগুলি "বৃহত ইনপুট" হিসাবে গণ্য হবে। তবে আমি খুব সহজেই একটি বাছাই করা অ্যালগরিদম তৈরি করতে পারি যা বুবল্বোর্টের চেয়ে তাত্পর্যপূর্ণভাবে আরও দক্ষ, তবে কেবলমাত্র বা আরও পূর্ণসংখ্যার ইনপুটগুলির জন্য । সুতরাং উত্তর দুটি নিন, "বৃহত" কে "যথেষ্ট বড়" করুন এবং এটি সঠিক হয়ে যায়।103010301040

অনুশীলনে, সাধারণত কোনও ইনপুট আকারের জন্য একটি অ্যাসিম্পোটোটিকভাবে আরও ভাল অ্যালগরিদমটি দ্রুততর হয় এবং ইনপুটগুলির ক্ষেত্রে এটি আরও দ্রুত যে প্রয়োজনীয় সময়টি প্রয়োজনীয় তা কখনই সঠিকভাবে পরীক্ষা করা ভাল এবং কখনও কখনও একটি অ্যালগরিদম কেবলমাত্র সমস্যার আকারগুলির জন্য দ্রুততর হবে যা ব্যবহারিকভাবে না পারে যাইহোক সমাধান করা। যদি অ্যালগোরিদম এ এলগোরিদম বিকে প্রহার করে তবে কেবল এমন সমস্যাগুলির জন্য যেখানে প্রত্যেককে বছর বা তার বেশি সময় লাগে তবে A খুব সহায়ক নয়।1015

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