বহুগুণ চলমান সময়ের বিপরীতে এন * লগ এন এবং এন / লগ এন


14

আমি বুঝতে পারি যে চেয়ে দ্রুত এবং চেয়ে ধীর । আমার পক্ষে বুঝতে হ'ল আসলে কীভাবে এবং সাথে তুলনা করা যায় যেখানে ।Θ ( এন লগ এন ) Θ ( এন / লগ এন ) Θ ( এন লগ এন ) Θ ( এন / লগ এন ) Θ ( এন ) 0 < < 1Θ(এন)Θ(এনলগএন)Θ(এন/লগএন)Θ(এনলগএন)Θ(এন/লগএন)Θ(এন)0<<1

উদাহরণস্বরূপ, আমরা কীভাবে decide বনাম decide বাΘ ( এন 2 / 3 ) Θ ( এন 1 / 3 )Θ(এন/লগএন)Θ(এন2/3)Θ(এন1/3)

আমি এই জাতীয় ক্ষেত্রে এগিয়ে যাওয়ার দিকে কিছু দিকনির্দেশনা চাই। ধন্যবাদ.

উত্তর:


3

আপনি যদি কেবল কয়েকটি গ্রাফ আঁকেন তবে আপনি ভাল আকারে পাবেন। ওল্ফ্রাম আলফা এই ধরণের তদন্তের একটি দুর্দান্ত উত্স:

সমীকরণ

চিত্রলেখ

এই লিঙ্কটি দ্বারা উত্পাদিত । নোট করুন যে গ্রাফে লগ (এক্স) হ'ল প্রাকৃতিক লোগারিদম, যে কারণে এক গ্রাফের সমীকরণটি কিছুটা মজার দেখাচ্ছে।



রাফেলের সাথে একমত হওয়া ছাড়াও, এই চিত্রটি আরও অনেক ভাল ধারণা দেবে , এমনকি আরও বৃহত্তর পরিসীমাটি বেছে নেওয়ার ফলে দ্বিতীয় কার্যটি বিভ্রান্ত হতে পারে যা বিভ্রান্তিকর হতে পারে।
ফ্যান্ট0 মি

9

2 এন এর বিপরীত হয়। ঠিক যেমন 2 এন কোনো বহুপদী তুলনায় দ্রুততর বৃদ্ধি এন এর কত বড় একটি নির্দিষ্ট নির্বিশেষে হচ্ছে, লগ ইন করুন এন কোনো বহুপদী ফাংশন তুলনায় ধীর হয়ে যাবে এন k কতো ছোট একটি অশূন্য নির্বিশেষে ইতিবাচক হয়।লগএন2এন2এনএনলগএনএন

বনাম এন কে , কে < 1 এর সাথে সমান: n / লগ এন বনাম এন / এন 1 - কেএন/লগএনএন<1এন/লগএনএন/এন1-

যেমন বৃহৎ জন্য এন , এন / লগ ইন করুন এন > এন জন্য < 1 এবং বৃহৎ এনএন1->লগএনএনএন/লগএন>এন<1এন


3

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

বলার পরে, আমরা যদি কেবলমাত্র সুপার-লার্জ ডেটা মাপগুলি বিবেচনা করি তবে । যা এক অবশেষে জয়, তারপর O(n^f)দ্রুত চেয়ে O(n/log n)জন্য 0 < f < 1

আলগোরিদিমিক জটিলতা একটি বিরাট অংশ নির্ধারণ করতে যা অ্যালগরিদম অবশেষে দ্রুততর, এইভাবে বুদ্ধিমান যে O(n^f)দ্রুত চেয়ে O(n/log n)জন্য 0 < f < 1প্রায়ই যথেষ্ট।

একটি সাধারণ নিয়ম যে গুন (অথবা বিভাজক) দ্বারা হয় log nঅবশেষে দ্বারা গুন (অথবা বিভাজক) তুলনায় তুচ্ছ হতে হবে n^fকোন f > 0

এটি আরও স্পষ্টভাবে দেখানোর জন্য আসুন আমরা এন বর্ধিত হওয়ার সাথে সাথে কী ঘটে তা বিবেচনা করি।

   n       n / log n         n^(1/2)
   2        n/ 1              ?
   4        n/ 2             n/ 2
   8        n/ 3              ?
  16        n/ 4             n/ 4
  64        n/ 6             n/ 8
 256        n/ 8             n/16
1024        n/10             n/32

আরও দ্রুত কমে যা লক্ষ্য করুন? এটি n^fকলাম।

এমনকি যদি f1 এর কাছাকাছি ছিল, n^fকলামটি কেবল ধীর শুরু করবে, তবে এন দ্বিগুণ হিসাবে, ডিনোমিনেটরের পরিবর্তনের হার দ্রুততর হয়, যেখানে n/log nকলামটির ডিনোমিনেটর একটি ধ্রুবক হারে পরিবর্তিত হবে বলে মনে হয়।

আসুন একটি গ্রাফে একটি বিশেষ কেস প্লট করা যাক

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

সূত্র: ওল্ফ্রাম আলফা

আমি এমনটি নির্বাচন করেছি O(n^k)যা k1 এর কাছাকাছি (এট 0.9)। আমি ধ্রুবকগুলিও নির্বাচন করেছি যাতে প্রাথমিকভাবে O(n^k)ধীর হয়। যাইহোক, যে বিজ্ঞপ্তি এটা শেষ পর্যন্ত 'জয়ী' শেষ পর্যন্ত, এবং কম সময় লাগে O(n/log n)


এন / লগ এন সম্পর্কে কী

এটি একটি টাইপোর একটি বিট ছিল, যে আমি শুরুতে বোঝাতে চেয়েছিলেন। যাইহোক, আমি আরও উপযুক্ত গ্রাফ যুক্ত করেছি যা দেখায় n^kঅবশেষে দ্রুত হচ্ছে, এমনকি ধীরে ধীরে ধীরে ধীরে ধ্রুবক নির্বাচন করা হলেও ধ্রুবকগুলি নির্বাচিত হয়।

3

শুধু ভাবেনএনএনএন1-এন2/3=এন/এন1/3

এনলগএনবনামএনএন1-

লগএনএনεε>0


1

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

আপনার ক্ষেত্রে এন = 10 ^ 10 এবং a = .5 ভাবেন

O(n/logn) = O(10^10/10) = O(10^9)
O(n^1/2) = O(10^10^.5) = O(10^5)

সুতরাং, ও (এন ^ এ) ও (এন / লগন) এর চেয়ে দ্রুততর হয়, যখন 0 <a <1 আমি কেবল একটি মান ব্যবহার করেছি তবে, আপনি ফাংশন সম্পর্কে স্বজ্ঞাততা তৈরি করতে একাধিক মান ব্যবহার করতে পারেন


1
লিখবেন না O(10^9), তবে অন্তর্দৃষ্টি তৈরি করার জন্য কয়েকটি সংখ্যার চেষ্টা করার মূল বিষয়টি সঠিক।

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

ধন্যবাদ। একাধিক মান অংশ যুক্ত এবং আরও বড় সংখ্যা বিবেচনা

এটি লক্ষ করা উচিত যে কেবল f (a)> g (a) কিছু ধ্রুবক a এর জন্য অগত্যা O (f (x))> O (g (x)) বোঝায় না। এটি অন্তর্দৃষ্টি তৈরি করতে দরকারী, তবে একটি কঠোর প্রমাণ রচনা করার জন্য এটি অপর্যাপ্ত। এই সম্পর্কটি ধরে রেখেছে তা দেখাতে, আপনাকে অবশ্যই এটি অবশ্যই একটি বড় এন নয়, সমস্ত বড় এন এর সত্য হতে হবে show তেমনি, আপনাকে অবশ্যই ইতিবাচক ডিগ্রি <1

1

এনα1(লগএন)α2(লগলগএন)α3এনβ1(লগএন)β2(লগলগএন)β3(α1,α2,α3)<(β1,β2,β3)

(2,10)<(3,5)(2,10)>(2,5)

আপনার উদাহরণ প্রয়োগ করা:

হে(এন/লগএন)(1,-1,0)

হে(এন2/3)(2/3,0,0)

হে(এন1/3)(1/3,0,0)

(1/3,0,0)<(2/3,0,0)<(1,-1,0)হে(এন1/3)হে(এন2/3)হে(এন/লগএন)

আপনি বলতে পারেন: n এর শক্তিগুলি লগের ক্ষমতার উপর নির্ভর করে, যা লগ লগের শক্তিকে প্রাধান্য দেয়।

সূত্র: কংক্রিট গণিত, পি। 441

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