Asympotic বৃদ্ধি দ্বারা ফাংশন বাছাই করা


35

ধরুন আমার কাছে ফাংশনগুলির একটি তালিকা রয়েছে, উদাহরণস্বরূপ

এনলগ⁡লগ⁡(এন),2এন,এন!,এন3,এনLn⁡এন,...

আমি কীভাবে এরিমোটোটিকভাবে তাদের বাছাই করব, অর্থাত্ সংজ্ঞায়িত সম্পর্কের পরে

চ≤হেছ⟺চ∈হে(ছ) ,

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

এটি জটিলতার ব্যবস্থা সম্পর্কে, সুতরাং আমরা হিসাবে asympotic আচরণে আগ্রহী এন→+ +∞এবং আমরা ধরে নিই যে সমস্ত ফাংশনগুলি কেবল অ-নেতিবাচক মান ( ∀এন,চ(এন)≥0 ) নেবে ।


4
যেহেতু ওপি কখনই ফিরে আসেনি, তাই আমি স্থানীয়করণগুলি সরিয়ে ফেলছি এবং এগুলি থেকে একটি রেফারেন্স প্রশ্ন করছি।
— রাফেল

উত্তর:


48

আপনি যদি কঠোর প্রমাণ চান, তবে নীচের লেমা প্রায়শই দরকারী শ্রদ্ধা। সংজ্ঞার চেয়ে আরও সহজ

যদি গ=লিমএন→∞চ(এন)ছ(এন) উপস্থিত রয়েছে

  • গ=0 ⟺চ∈ণ(ছ) ,
  • এবংগ∈(0,∞)⟺চ∈Θ(ছ)
  • ।গ=∞   ⟺চ∈ω(ছ)

এটির সাহায্যে আপনার বেশিরভাগ কার্যকারিতাটি অ্যালগরিদম বিশ্লেষণে অর্ডার করতে সক্ষম হওয়া উচিত ¹ অনুশীলন হিসাবে, এটি প্রমাণ করুন!

অবশ্যই আপনাকে সেই অনুযায়ী সীমা গণনা করতে সক্ষম হতে হবে। মৌলিক বিষয়গুলিকে জটিল ফাংশনগুলি ভাঙ্গার জন্য কয়েকটি কার্যকর কৌশল:

  • উভয় ক্রিয়াকলাপকে হিসাবে প্রকাশ করুন ... এবং ক্ষয়কারীদের তুলনা করুন; যদি তাদের অনুপাত 0 বা ∞ তে থাকে তবে মূল ভাগফলটিও তাই করে।ই...0∞
  • আরও সাধারণভাবে: যদি আপনার একটি উত্তল থাকে, ক্রমাগত পার্থক্যযোগ্য এবং কঠোরভাবে ক্রিয়াকলাপ বাড়িয়ে যাতে আপনি আপনার ভাগফলটি আবার লিখতে পারেনজ

    ,চ(এন)ছ(এন)=জ(চ*(এন))জ(ছ*(এন))

    সঙ্গে এবংছ*∈Ω(1)

    ,লিমএন→∞চ*(এন)ছ*(এন)=∞

    তারপর

    লিমএন→∞চ(এন)ছ(এন)=∞ ।

    এই নিয়মের কঠোর প্রমাণের জন্য এখানে দেখুন (জার্মান ভাষায়)।

  • বাস্তবের উপর আপনার ক্রিয়াকলাপগুলির ধারাবাহিকতা বিবেচনা করুন। আপনি এখন এল'হাপিটাল এর নিয়ম ব্যবহার করতে পারেন ; এর অবস্থা সম্পর্কে সচেতন থাকুন!

  • পৃথক সমতুল্য, স্টলজ সিজারো একবার দেখুন a ।
  • যখন ফ্যাটোরিয়ালগুলি পপ আপ হয়, তখন স্ট্রিলিংয়ের সূত্রটি ব্যবহার করুন :

    এন!~2πএন(এনই)এন

আপনি একবার প্রমাণিত এবং প্রায়শই ব্যবহার করেন এমন মৌলিক সম্পর্কের পুল রাখার জন্য এটি দরকারী:

  • বহুগঠনের চেয়ে লোগারিদমগুলি ধীরে ধীরে বৃদ্ধি পায়

    সকলের জন্য α ∈ o ( n β ) α , β > 0 ।(লগ⁡এন)α∈ণ(এনβ)α,β>0

  • বহুবর্ষের ক্রম:

    সবার জন্যα<β।এনα∈ণ(এনβ)α<β

  • বহুবর্ষগুলি এক্সপেনশনিয়ালের চেয়ে ধীর গতিতে বৃদ্ধি পায়:

    সবার জন্যαএবংগ>1।এনα∈ণ(গএন)αগ>1


এটি ঘটতে পারে যে উপরের লেমা প্রযোজ্য নয় কারণ সীমাটি বিদ্যমান নেই (উদাহরণস্বরূপ যখন ফাংশন দোল হয়)। এই ক্ষেত্রে, চুনগুলি উচ্চতর / নিম্নমানের ব্যবহার করে ল্যান্ডাউ ক্লাসগুলির নিম্নলিখিত বৈশিষ্ট্যগুলি বিবেচনা করুন :

সঙ্গে আমাদের আছেগগুলি: =লিম সাপএন→∞চ(এন)ছ(এন)

  • এবং0≤গগুলি<∞⟺চ∈হে(ছ)
  • ।গগুলি=0⟺চ∈ণ(ছ)

সঙ্গে আমাদের আছেগআমি: =লিফ ইনফএন→∞চ(এন)ছ(এন)

  • এবং0<গআমি≤∞⟺চ∈Ω(ছ)
  • ।গআমি=∞⟺চ∈ω(ছ)

তদ্ব্যতীত,

  • এবং0<গআমি,গগুলি<∞⟺চ∈Θ(ছ)⟺ছ∈Θ(চ)
  • ।গআমি=গগুলি=1⟺চ~ছ

আপনি যদি আমার স্বীকৃতি দ্বারা বিভ্রান্ত হন তবে এখানে এবং এখানে পরীক্ষা করুন ।


Bene নোট বেন: আমার সহকর্মী একটি গণিত ফাংশন লিখেছিলেন যা এটি অনেক ফাংশনের জন্য সফলভাবে করে, তাই লেমাটি সত্যিই যান্ত্রিক গণনায় টাস্কটি হ্রাস করে।

Also এখানেও দেখুন ।


@ জুহো প্রকাশ্যে নয়, আফিক, তবে নিজেকে লেখার জন্য এটি প্রাথমিক; Limit[f[n]/g[n], n -> Infinity]কেস পার্থক্য গণনা এবং সঞ্চালন।
— রাফেল

20

অন্য টিপ: কখনও কখনও ফাংশনগুলিতে মনোোটোন ফাংশন প্রয়োগ করা (যেমন লগ বা এক্সপ্রেস) জিনিসগুলি পরিষ্কার করে তোলে।


5
এটি সাবধানতার সাথে করা উচিত: , তবে 2 2 n ∉ O ( 2 n ) । 2n∈O(n)22n∉O(2n)
— শাল

2
Seconded। "প্রয়োগ মনোোটোন ফাংশন" জিনিসটি একরকম লোককাহিনী হিসাবে দেখা যায় যা সাধারণভাবে কাজ করে না। আমরা পর্যাপ্ত মানদণ্ডে কাজ করছি এবং আমি আমার উত্তরের সর্বশেষ সংশোধনটিতে যা পোস্ট করেছি তা নিয়ে এসেছি ।
— রাফেল

17

স্কিয়েনা তাঁর বই, অ্যালগোরিদম ডিজাইন ম্যানুয়াল-এর সর্বাধিক সাধারণ কার্যগুলির মধ্যে আধিপত্য সম্পর্কের একটি বাছাই করা তালিকা সরবরাহ করে:

n!≫cn≫n3≫n2≫n1+ϵ≫nlg⁡n≫n≫n1/2
≫lg2⁡n≫lg⁡n≫lg⁡nlg⁡lg⁡n≫lg⁡lg⁡n≫α(n)≫1

এখানে α(n) বিপরীত একারম্যান ফাংশনটি বোঝায় ।


এটি একটি অদ্ভুত নির্দিষ্ট তালিকা। সম্পর্ক (যাই হোক না কেন অনেক মাধ্যম ঠিক) আরও সাধারণ lemmata থাবা সংক্ষিপ্ত করা যেতে পারে। ≫
— রাফেল

আধিপত্য সম্পর্কের জন্য এটি তাঁর স্বীকৃতি।
— রবার্ট এস বার্নেস

11

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

উদাহরণস্বরূপ, চেষ্টা করুন: পৃথক গ্রাফ বা প্লট লগ (লগ (এন)) দেখতে 1 থেকে 10000 পর্যন্ত প্লট লগ (লগ (এন)) এবং তুলনা দেখতে 1 থেকে 10000 পর্যন্ত প্লট লগ (এন) ।


9
আমাদের কি সত্যিই ভোডোর সুপারিশ করা উচিত ?
— রাফেল

ফাংশনগুলির গ্রাফ আঁকার পরামর্শ দেওয়ার জন্য +1, যদিও লিঙ্কযুক্ত গ্রাফগুলি বিভ্রান্তিকর হয় তবে আপনি যদি না বোঝেন তবে সেগুলি কী বোঝায়।
— সোসোশি ইটো

1
আপনি যা প্রমাণ করতে চাইতে পারেন তার ইঙ্গিত হিসাবে একটি গ্রাফ নিন। সেই ইঙ্গিতটি অবশ্যই ভুল হতে পারে।
— gnasher729

8

nlog⁡log⁡n2n , এন প্রথম দুই ফাংশন, তালিকা শুরু করার জন্য।

n=2log⁡nnlog⁡log⁡n=(2log⁡n)log⁡log⁡n=2log⁡nlog⁡log⁡n. We could then proceed to use the definition to show that nlog⁡log⁡n=2log⁡nlog⁡log⁡n∈o(2n), since for any constant c>0, there is an n0 such that for n≥n0, c(nlog⁡log⁡n)=c(2log⁡nlog⁡log⁡n)<2n.

Next, we try 3n. We compare it to 2n, the largest element we have placed so far. Since 3n=(2log⁡3)n=2nlog⁡3, we similarly show that 2n∈o(3n)=o(2nlog⁡3).

Etc.


2

এখানে উইকিপিডিয়া থেকে একটি তালিকা , টেবিলের নীচে বৃহত্তর জটিলতা শ্রেণি;

এনএকটিমিইসময় চলমানধ্রুব সময়হে(1)বিপরীত একারম্যান সময়হে(একটি(এন))পরীক্ষিত লোগারিথমিক সময়হে(লগ*⁡এন)লগ-লগারিদমিকহে(এনলগ⁡এন)লোগারিদমিক সময়হে(লগ⁡এন)বহুগঠিত সময়পিণঠY(লগ⁡এন)ভগ্নাংশ শক্তিহে(এনগ),কোথায় 0<গ<1লিনিয়ার সময়হে(এন)"এন লগ স্টার এন" সময়হে(এনলগ*⁡এন)ক্যাসিলিনার সময়হে(এনলগ⁡এন)চতুষ্কোণ সময়হে(এন2)কিউবিক সময়হে(এন3)বহুবর্ষের সময়পিণঠY(এন)=2হে(লগ⁡এন)আধা-বহুবারের সময়2হে(পিণঠY(লগ⁡এন))সাব-এক্সফেনশনাল সময় (প্রথম সংজ্ঞা)হে(2এনε),ε>0সাব-এক্সফেনশনাল সময় (দ্বিতীয় সংজ্ঞা)2ণ(এন)ক্ষণস্থায়ী সময়2হে(এন)ঘনিষ্ঠ সময়2পিণঠY(এন)ফ্যাক্টরিয়াল সময়হে(এন!)

বিঃদ্রঃ : পিণঠY(এক্স)=এক্সহে(1)


1
Also, interesting how the table suggests that 2nlog⁡n∈o(n!). While the table you link to is somewhat accurate, the one linked there (and which you copied) is about complexity classes, which is not a helpful thing to mix in here. Landau notation is not about "time".
— Raphael

1
জটিলতা ক্লাসগুলির নামটি এখানে সরাসরি কথা বলা যায় বলে আমি এটি রেখেছি। হ্যাঁ, ল্যান্ডাউ ক্রিপ্টোগ্রাফিতে নির্দিষ্ট ধরণের অ্যালগরিদম সম্পর্কে আরও বেশি।
— কেলালাকা

1
I object to some of @Raphael's views. I have been a mathematician and an instructor for many years. I believe, apart from proving those things, a big table like this increases people's intuition easily and greatly. And the names of the asymptotic classes help people remember and communicate a lot.
— Apass.Jack

1
@Apass.Jack In my teaching experience, when given a table many students will learn it by heart and fail to order wrt any function not in the table. Note how that effect seems to account for many of questions regarding asymptotic growth that land on this site. That said, of course we'll use lemmata implied by the table if it makes proofs easier, but that comes after learning how to proof the table. (To emphasize that point, people who come here don't need help reading stuff off a table. They need help proving relations.)
— রাফেল

1
@ কোলালাকা "হ্যাঁ, ল্যান্ডাউ ক্রিপ্টোগ্রাফিতে নির্দিষ্ট ধরণের অ্যালগরিদম সম্পর্কে আরও বেশি কিছু রয়েছে" " - এটি এমনকি বোঝায় না। গণিত সংক্রান্ত ফাংশনগুলির বৈশিষ্ট্য বর্ণনা করার জন্য ল্যান্ডাউ স্বরলিপি সংক্ষিপ্তকরণ। এটি অ্যালগরিদমগুলির সাথে কোনও সম্পর্ক নেই, যা প্রতি সেপ্টেম্বর থেকে ক্রিপ্টোগ্রাফি ছেড়ে দেয়।
— রাফেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.