পরিশীলিত পুনরাবৃত্তির অ্যালগরিদমের উদাহরণ


14

আমি একটি বন্ধুর কাছে বিখ্যাত ডিটারমিনিস্টিক লিনিয়ার-টাইম সিলেকশন অ্যালগরিদম (মিডিয়ান অ্যালগোরিদমের মধ্যমা) ব্যাখ্যা করছিলাম ।

এই অ্যালগরিদমের পুনরাবৃত্তি (খুব সাধারণ থাকা অবস্থায়) বেশ পরিশীলিত। দুটি পুনরাবৃত্ত কল রয়েছে, প্রতিটি বিভিন্ন পরামিতি সহ।

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

পরিশীলিত পুনরাবৃত্তির কয়েকটি উদাহরণ দিতে পারেন?


কোনও গোলকধাঁধা বা আরও সাধারণভাবে প্রস্থের প্রথম সন্ধানের সাথে একটি গ্রাফকে অনুসরণ করা একটি আকর্ষণীয় পুনরাবৃত্তির একটি সাধারণ উদাহরণ।

উদ্বিগ্ন, আমি মনে করি যে বিএফএস আমার প্রশ্নের যোগ্যতা অর্জন করে না, কারণ এটি সহজেই এবং প্রাকৃতিকভাবে একটি সারি এবং কিছুক্ষণ লুপ ব্যবহার করে প্রয়োগ করা যেতে পারে।
এলেকট্রনজ

ধাঁধা সমাধান এবং বিশ্লেষণ ব্যাকট্র্যাকিং সম্পর্কে কি? এবং র‌্যাঙ্কিং এবং আনরঙ্কিং অ্যালগরিদমগুলিরও মানহীন পুনরাবৃত্তি রয়েছে।
uli

স্মৃতিচারণ অ্যালগরিদম?
কাভেহ

2
@ ভিজেএন: একটি সারি স্ট্যাক প্রতিস্থাপন করতে পারে না । বিএফএস একটি বিশেষ মামলা।
রাফেল

উত্তর:


15

আমার প্রিয় পুনরাবৃত্তিটি প্রথমে কিরকপ্যাট্রিক এবং সিডেলের দ্বারা উত্তোলিত হলের গণনার জন্য আউটপুট-সংবেদনশীল অ্যালগরিদমগুলিতে প্রদর্শিত হয় , তবে পরে অন্যরা পুনরাবৃত্তি করে। যাক সময় উত্তল জাহাজের কাঠাম গনা বোঝাতে সমতল, যখন উত্তল জাহাজের কাঠাম হয়েছে পয়েন্ট ছেদচিহ্ন। (মান আগাম পরিচিত হয় না, সরাইয়া তুচ্ছ আবদ্ধ থেকে ।) কার্কপ্যাট্রিক এবং Seidel এর এলগরিদম পুনরাবৃত্তি উৎপাদ যেখানে এবং এবংn h h h n T ( n , h ) = { O ( n ) যদি  n 3  বা  h 3 T ( n 1 , h 1 ) + T ( n 2 , h 2 ) + ( এন ) অন্যথায় এন 1 , এন 2টি(এন,)এনএন

টি(এন,)={হে(এন)যদি এন3 or h3T(n1,h1)+T(n2,h2)+O(n)otherwise
এন 1 + + N 2 = 1 + + 2 = n1,n23n/4n1+n2=এন1+ +2=

সমাধানটি । এটি কিছুটা আশ্চর্যজনক, যেহেতু প্যারামিটারটি সমানভাবে বিভক্ত হচ্ছে না। তবে প্রকৃতপক্ষে, পুনরাবৃত্তির সবচেয়ে খারাপ পরিস্থিতি ঘটে যখন এবং উভয়ই ; যদি কোনওভাবে সর্বদা স্থির থাকে তবে সমাধানটি ।1 2/ 2 1 টি ( এন , এইচ ) = হে ( )টি(এন,)=হে(এনলগ)12/21টি(এন,)=হে(এন)

আমি আমার প্রথম গণনামূলক টপোলজি কাগজগুলিতে এই পুনরাবৃত্তির একটি বৈকল্পিক ব্যবহার করেছি : যেখানে এবং । আবার, সমাধানটি হ'ল , এবং সবচেয়ে খারাপ পরিস্থিতি ঘটে যখন এবং উভয়ই সমানভাবে বিভক্ত হয়। এন1+এন2=এনজি1+

T(n,g)={O(n)if n3 or g=0T(n1,g1)+T(n2,g2)+O(min{n1,n2})otherwise
n1+n2=n( এন লগ জি ) এন জিg1+g2=gO(nlogg)এন

"If বা " শর্তে আমার সমস্যা আছে ; এখানে মানে কি ? এমন কি বিশ্বব্যাপী সীমাবদ্ধ স্থিতিশীলতা রয়েছে যেগুলির ক্ষেত্রে এবং কে শেষ করতে হবে (এবং লেখকরা সেগুলি দেওয়ার জন্য বিরক্ত করবেন না)। কারণ আমি যদি এটি অক্ষরে পড়ি (যেমন উভয় একইভাবে একই সারিতে ব্যাখ্যা করি) ক্ষেত্রে দুটি কখনই হয় না বা সর্বদা ঘটে না (আমি নিশ্চিতও না)। স্বীকৃতি অপব্যবহার খুব দূরে নেওয়া হয়েছে, imho। h = O ( 1 ) O n h O ( 1 ) ( এন )n=হে(1)=হে(1)হেএনহে(1)হে(এন)
রাফেল

1
দুঃখিত, আমি আমার উত্তরটি স্পষ্ট করে সম্পাদনা করেছি। অর্থ "আপনার প্রিয় ধ্রুবক"। আমি আমার পুনর্বিবেচনায় ব্যবহার করেছি , তবে Just ঠিক তেমনভাবে কাজ করে। 3 10 10 100 !হে(1)31010100!
জেফি

গণনা টপোলজির কাগজগুলিতে আপনি কীভাবে এই চিত্রগুলি আঁকেন?
ব্যবহারকারী 119264

12

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

আমাদের কাগজ থেকে অ্যালগরিদমের বিবরণ এখানে। যদি বিবরণ থেকে এটি স্পষ্ট না হয়, তৃতীয় ধাপে লাল পয়েন্টগুলি ক্রিমসন এবং গারনেট পয়েন্টগুলিতে বিভক্ত করা হয়েছে। পদক্ষেপ 1, 3 এবং 6 সমস্ত লিনিয়ার সময় are আমরা আরও জানি যে যদি পয়েন্টের মোট সংখ্যা হয়, , , এবং for some ।এন|বি|αএন|আর|βএন|সি|γএনα,β,γ>0

পুরো অ্যালগরিদম কেন লিনিয়ার সময় নেয় তা আমি আপনাকে খুঁজে বের করতে দেব।

  1. মূল পয়েন্টগুলি নীল এবং লাল সেট বি এবং আরে বিভক্ত করুন
  2. নীল পয়েন্টগুলির উত্তল হালকে পুনরাবৃত্তভাবে গণনা করুন।
  3. নীল হালার কাঠামো ব্যবহার করে ক্রিমসন পয়েন্ট সি নির্বাচন করুন C.
  4. নীল রঙের হালতে একবারে ক্রিমসন পয়েন্ট যুক্ত করুন।
  5. গারনেট পয়েন্ট জি এর উত্তল হালকে পুনরাবৃত্তভাবে গণনা করুন।
  6. পদক্ষেপ 4 এর প্রসারিত নীল হালার সাথে এই গারনেট হোলটি মার্জ করুন।

অ্যালগরিদম লিনিয়ারটি যা তৈরি করে তা হ'ল বিন্দুতে অবিচ্ছিন্ন ব্যয়ে নীল হালায় একটি নির্দিষ্ট ভগ্নাংশ যুক্ত করার ক্ষমতা। যুক্ত পয়েন্টগুলি হ'ল ক্রিমসন পয়েন্ট।

পুনরাবৃত্তিটি এইভাবে যেখানে আপনি জানেন নাএবংতবে গ্যারান্টিযুক্ত ।

টি(এন)=টি(|বি|)+ +টি(|জি|)+ +হে(এন)
|বি||জি||বি|+ +|জি|(1-γ)এন

7

মিডিয়েন ফাইন্ডিং পুনরাবৃত্তির মধ্যে একটি পার্থক্য রয়েছে যা হাফ প্লেনের সাথে পরিসীমা অনুসন্ধান থেকে আসে। পুনরাবৃত্তি নিজেই ফর্ম হয়

টি(এন)=টি(এন/2)+ +টি(এন/4)+ +এন
যা মিডিয়ান-সন্ধানের পুনরাবৃত্তির অনুরূপ। এ সম্পর্কে আরও তথ্যের জন্য, জেফ এরিকসনের বক্তৃতা নোটগুলি এবং বিশেষ বিভাগ 4 এ দেখুন।

1
আমার উত্তর এখানে ( cs.stackexchange.com/questions/332/… ) চলমান সময়ের জন্য ঠিক একই পুনরাবৃত্তি ঘটেছে :)
অ্যালেক্স টেন ব্রিঙ্ক

6

আরএনএ মাধ্যমিক কাঠামোর পূর্বাভাসে ব্যবহৃত শীতল রিকার্সিভ অ্যালগরিদমগুলি [1], [2] রয়েছে। নিজস্ব ডিভাইস বামে, আরএনএর একটি স্ট্র্যান্ড নিজেই বেস জোড়া তৈরি করবে; [৩] এর তুলনামূলক সহজ উদাহরণটি নেস্টেড, জোড় ঘাঁটিগুলির সর্বোচ্চ সংখ্যাকে গণনা করে একটি আরএনএ স্ট্রিং নিজেই গঠন করবে:

এম(আমি,)=মিএকটিএক্সআমি<-এলমিআমিএন{এম(আমি,-1)+ +এম(+ +1,-1)+ +1এম(আমি,-1)


  1. এম। জুকার, পি। স্টিগলার (1981) দ্বারা থার্মোডাইনামিক্স এবং সহায়ক তথ্য ব্যবহার করে বৃহত আরএনএ সিকোয়েন্সগুলির সর্বোত্তম কম্পিউটার ফোল্ডিং

  2. ই। রিভাস, এসআর এডি দ্বারা প্রকাশিত সিউডোকনটস সহ আরএনএ স্ট্রাকচার প্রেডিকশন জন্য ডায়নামিক প্রোগ্রামিং অ্যালগরিদম

  3. আর। নুসিনভ, এবি জ্যাকবসন (1980) দ্বারা একক-আটকে থাকা আরএনএর দ্বিতীয় কাঠামোর পূর্বাভাস দেওয়ার জন্য দ্রুত অ্যালগরিদম


এখানে প্রস্তাবিত সম্পর্কিত একটি যথেষ্ট জটিল, কারণ এটি তিনটি পারস্পরিক নির্ভরশীল (গতিশীল প্রোগ্রামিং) পুনরাবৃত্তিগুলি ক্রীড়া করে।
রাফেল

4

"পরিশীলিত পুনরাবৃত্তি" বলতে আপনার অর্থ কী তা আমি এখনও বুঝতে পারি না। উদাহরণস্বরূপ, এফএফটি অ্যালগরিদমের পুনরাবৃত্তি পদক্ষেপটি পরিশীলিত!

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


ঠিক আছে, এফএফটিতে পুনরাবৃত্তি (কুলি-টুকির সহজতম রূপ) "স্ট্যান্ডার্ড" বিভাজন এবং বিজয়। এটি এর O (nlogn) জটিলতা থেকে স্পষ্ট। 2 টি পুনরাবৃত্তি কল (সমতুল্যর জন্য 1 টি, প্রতিকূলতার জন্য 1) কিছুটা "একই"।
এলেকট্রনজ

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