লগ (এন!) = Θ (এন · লগ (এন))?


218

আমি সেই লগ ( এন !) = Θ ( এন · লগ ( এন )) দেখাচ্ছি ।

একটি ইঙ্গিত দেওয়া হয়েছিল যে আমার উপরের বাউন্ডটি এন এন এর সাথে দেখাতে হবে এবং নীচের চৌম্বকটি ( এন / 2) ( এন / 2) দিয়ে দেখানো উচিত । এটি আমার কাছে এতটা স্বজ্ঞাত বলে মনে হয় না। কেন এমন হবে? আমি অবশ্যই দেখতে পাচ্ছি কীভাবে এন এনকে এন · লগ ( এন ) এ রূপান্তর করতে হবে (অর্থাত সমীকরণের উভয় পক্ষ লগইন করা) তবে এটি পিছনের দিকে কাজ করার মতো।

এই সমস্যাটি মোকাবেলায় সঠিক পদ্ধতি কী হবে? আমার কি পুনরাবৃত্তি গাছ আঁকতে হবে? এটি সম্পর্কে কোনও পুনরাবৃত্তিযোগ্য কিছু নেই, সুতরাং এটি সম্ভবত সম্ভাব্য পদ্ধতির মতো বলে মনে হচ্ছে না ..


1
আপনার সত্যই এটি "এন হিসাবে> -> ∞" সহ লিখতে হবে
মার্টডাব্লু

2
মজাদার অনুশীলন: হারমোনিক সিরিজ 1/1 + 1/2 + 1/3 + 1/4 + ... অনন্তে ডাইভারেজ করে তা দেখানোর জন্য অনুরূপ কৌশলটি ব্যবহার করুন।
ইয়ু

10
এটি কি CS.stackexchange.com এ থাকা উচিত নয়?
কোডি বাগস্টেইন

5
প্রশ্নটি জিজ্ঞেস করা হলে @ কোডিবাগস্টিন, সিএস.স্ট্যাকেক্সেঞ্জার ডট কমের উপস্থিতি নেই
মিঃমার্টিন

উত্তর:


303

মনে রাখবেন, যে

log(n!) = log(1) + log(2) + ... + log(n-1) + log(n)

আপনি উপরের আবদ্ধ দ্বারা পেতে পারেন

log(1) + log(2) + ... + log(n) <= log(n) + log(n) + ... + log(n)
                                = n*log(n)

এবং যোগফলের প্রথমার্ধটি ফেলে দেওয়ার পরে আপনি অনুরূপ কাজ করে নীচের দিকে আবদ্ধ হতে পারেন:

log(1) + ... + log(n/2) + ... + log(n) >= log(n/2) + ... + log(n) 
                                       = log(n/2) + log(n/2+1) + ... + log(n-1) + log(n)
                                       >= log(n/2) + ... + log(n/2)
                                        = n/2 * log(n/2) 

5
এটি উপরের বাউন্ডের জন্য খুব সুন্দর প্রমাণ: লগ (এন!) = লগ (1) + ... + লগ (এন) <= এন লগ (এন) => লগ (এন!) = ও (এন লগ এন) )। যাইহোক, নিম্ন সীমাটি প্রমাণ করার জন্য (এবং ফলস্বরূপ বড়-তিঠা) আপনার সম্ভবত স্ট্রলিংয়ের আনুমানিকতা প্রয়োজন।
মেহেরদাদ আফশারি

33
নীচের গণ্ডির জন্য আপনার স্টার্লিংয়ের অনুমানের দরকার নেই need লগ (এন!) = লগ (1) + ... + লগ (এন)> = লগ (এন / 2) + ... + লগ (এন)> = এন / 2 * লগ (এন / 2) = ওমেগা (এন লগ এন)
কিথ র্যান্ডাল

2
@ কিথ: আমি এখনও এটি পাই না। আপনি (বা কেউ) "লগের (" / ") অংশে ... ... + লগ (এন)" দয়া করে আমার জন্য আরও কয়েকটি পদ বাড়িয়ে দিতে পারেন? ধন্যবাদ!
j_random_hacker

6
@ j_random_hacker: log(n/2) + log(n/2 + 1) + ... + log(n - 1) + log(n)(শর্তাবলীর বৃহত্তর অর্ধেক log(n!)) আসলে, আমি কেবল প্রশ্নটি পড়েছি এবং দেখেছি যে প্রশ্নটিতে ক্লুটি বর্ণিত হয়েছে। মূলত, (n/2)^(n/2) <= n! <= n^n=> log((n/2)^(n/2))<=log(n!)<=log(n^n)=>Θ(n/2 * log(n/2))<=log(n!)<=Θ(n*log(n))
মেহরদাদ আফশারি

4
এই ব্যাখ্যাটি গৃহীত উত্তরের অনুরূপ, তবে আরও কিছু বিশদ রয়েছে: mcs.sdsmt.edu/ecorwin/cs372/handouts/theta_n_factorial.htm
gayavat

40

আমি বুঝতে পারি এটি একটি গ্রহণযোগ্য উত্তর সহ একটি খুব পুরানো প্রশ্ন, তবে এই উত্তরগুলির কোনওটিই ইঙ্গিতটির প্রস্তাবিত পদ্ধতির ব্যবহার করে না।

এটি একটি খুব সহজ যুক্তি:

n!(= 1 * 2 * 3 * ... * n) হ'ল nপ্রতিটি সংখ্যার চেয়ে কম বা সমান n। সুতরাং এটি nসমস্ত সমান সংখ্যার পণ্যের চেয়ে কম n; যেমন n^n,।

প্রোডাক্টে অর্ধেক সংখ্যা - যেমন - n/2তাদের মধ্যে n!বৃহত্তর বা সমান n/2। সুতরাং তাদের পণ্য n/2সমস্ত সমান সংখ্যার পণ্যের চেয়ে বড় n/2; অর্থাত (n/2)^(n/2)

ফলাফল স্থাপনের জন্য লগগুলি জুড়ে নিন।


9
এটি আসলে গৃহীত উত্তরের লগ সংস্করণের মতোই তবে আগের পরিবর্তে লগারিদম গ্রহণ করা। (এটি আরও স্পষ্টভাবে ইঙ্গিতটি ব্যবহার করে)
hugomg

14

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

দুঃখিত, স্ট্যাকওভারফ্লোতে কীভাবে ল্যাটেক্স সিনট্যাক্স ব্যবহার করবেন তা আমি জানি না ..


1
এটি একটি দুর্দান্ত ব্যাখ্যা! আমি এটি step

3
@ জেড 3 ডি 4 এস 7 ধাপে যুক্তিটি মূলত: ডান হাতের প্রথম শব্দটি প্রভাবশালী শব্দ এবং লগ (এন!) সুতরাং ল লগ (এন) দ্বারা সান্নিধ্যে বা এটি অর্ডার এন লগ (এন) হতে পারে যা বড় হে স্বরলিপি হে (এন * লগ (এন)) দ্বারা প্রকাশ করা হয়।
এলোমেলো 9

1
@ জেড 3 ডি 4 কি ধাপে 7-8 রূপান্তর বলছে যে এন লগন == লগ (এন ^ n) এবং এখানে সীমাবদ্ধতা দেখানোর জন্য আপনি বলতে পারেন যে প্রথম পদটি সর্বদা দ্বিতীয় টার্মের চেয়ে বড় হয় আপনি যে কোনও বৃহত্তর মানগুলি পরীক্ষা করতে পারেন এবং বড়-ও জটিলতা প্রকাশের জন্য আমরা সর্বদা সবার প্রাধান্যবান আইটেমটি গ্রহণ করব। সুতরাং এন লগন বিগ-ও সময়ে অবদান রাখে।
শিব প্রকাশ


7

নিম্ন সীমাবদ্ধ জন্য,

lg(n!) = lg(n)+lg(n-1)+...+lg(n/2)+...+lg2+lg1
       >= lg(n/2)+lg(n/2)+...+lg(n/2)+ ((n-1)/2) lg 2 (leave last term lg1(=0); replace first n/2 terms as lg(n/2); replace last (n-1)/2 terms as lg2 which will make cancellation easier later)
       = n/2 lg(n/2) + (n/2) lg 2 - 1/2 lg 2
       = n/2 lg n - (n/2)(lg 2) + n/2 - 1/2
       = n/2 lg n - 1/2

lg (n!)> = (১/২) (এন এলজি এন - 1)

উভয় সীমা একত্রিত:

1/2 (n lg n - 1) <= lg (n!) <= N lg n

(1/2) এর চেয়ে নিম্নতর ধ্রুবকটি বেছে নেওয়ার মাধ্যমে আমরা বন্ধুর ভিতরে -1 এর জন্য ক্ষতিপূরণ দিতে পারি।

এভাবে lg (n!) = থেটা (এন এলজি এন)


2
এই বর্ধিত ডেরাইভেশনটি প্রয়োজন কারণ, "কিছু"> = n / 2 * এলজি (এন / 2) ওমেগা (এন এলজি এন) এর সমান নয় যা পূর্ববর্তী মন্তব্যের একটিতে উল্লিখিত হয়েছিল।
বিবেক আনন্দ সম্পথ

এটি নিম্ন স্তরের সন্ধানের জন্য আমরা চেষ্টা করছি বলে "(1/2) এর চেয়ে ধ্রুবক ছোট" পড়তে হবে। (১/২) এর চেয়ে ছোট যে কোনও ধ্রুবক, শেষ পর্যন্ত সি এন লগন <= (১/২) এন * লগিন- (১/২) এন করবে, যথেষ্ট পরিমাণে এন এর জন্য।
ম্যাথু

3

আপনাকে আরও সহায়তা করছে, যেখানে মিক শার্প আপনাকে রেখে গেছে:

এটির উত্সাহটি বেশ সহজ: http://en.wikedia.org/wiki/Logarithm -> গ্রুপ থিওরি দেখুন

লগ (এন!) = লগ (এন * (এন -১) * (এন -২) * ... * ২ * 1) = লগ (এন) + লগ (এন -১) + ... + লগ (২ ) + লগ (1)

অনন্তরূপে বড় হিসাবে এন ভাবেন । অনন্ত বিয়োগ এক কি? বিয়োগ দুই? প্রভৃতি

লগ (inf) + লগ (inf) + লগ (inf) + ... = ইনফ * লগ (ইনফ)

এবং তারপরে inf হিসাবে এন।


2

ধন্যবাদ, আমি দেখেছি আপনার উত্তর বিশ্বাসী কিন্তু আমার ক্ষেত্রে, আমি ব্যবহার করা আবশ্যক Θ বৈশিষ্ট্য:

log(n!) = Θ(n·log n) =>  log(n!) = O(n log n) and log(n!) = Ω(n log n)

সমস্যাটি যাচাই করার জন্য আমি এই ওয়েবটি পেয়েছি, যেখানে আপনি সমস্ত প্রক্রিয়াটি ব্যাখ্যা করেছেন: http://www.mcs.sdsmt.edu/ecorwin/cs372/handouts/theta_n_factorial.htm


1

এটি সাহায্য করতে পারে:

এলএন (এক্স) = x

এবং

(l m ) n = l m * n

3
আসলে, এটি ভুল: 1 ^ (এম ^ এন)! = 1 ^ (এম এন) এটি হতে হবে (1
মিমি

এরর আমি উপরের মন্তব্যে 1 এর পরিবর্তে এল বোঝাতে চাইছি।
পিন্ডতজুহ

তিনি লিখেছেন 1 ^ (m ^ n) তিনি লিখেছেন (l ^ m) ^ n
কোডি বাগস্টাইন

1
@ কোডিবাগস্টাইন: সমস্যাটি সমাধানের জন্য একটি সম্পাদনা করা হয়েছিল, ইতিহাসের মধ্যে ত্রুটিটি লুকিয়ে থাকার পরে আপনি বহু বছর পরে মন্তব্য করেছিলেন
বেন ভয়েগট

0

http://en.wikedia.org/wiki/Stirling%27s_approximation স্ট্রিলিং আনুমানিকতা আপনাকে সাহায্য করতে পারে। এটি 10 ​​^ 10 এবং এর বেশি ক্রমের সংখ্যার সাথে সম্পর্কিত ফ্যাকটোরিয়ালগুলিতে সমস্যা মোকাবেলায় সত্যিই সহায়ক।

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

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