পুনরাবৃত্ত সম্পর্কের ক্ষেত্রে পরিবর্তনশীল পরিবর্তন করা


20

বর্তমানে, আমি স্ব-অধ্যয়ন করছি ইন্ট্রো টু অ্যালগোরিদমস (সিএলআরএস) এবং পুনরাবৃত্ত সম্পর্কের সমাধানের জন্য একটি নির্দিষ্ট পদ্ধতি রয়েছে যা তারা বইয়ে রূপরেখায় ফেলেছে।

নিম্নলিখিত উদাহরণটি এই উদাহরণ দিয়ে চিত্রিত করা যেতে পারে। ধরা যাক আমাদের পুনরাবৃত্তি আছে

T(n)=2T(n)+logn

প্রাথমিকভাবে তারা m = lg (n) প্রতিস্থাপন করে এবং তারপরে পুনরাবৃত্তিতে এটি প্লাগ ইন করে এবং পান:

T(2m)=2T(2m2)+m

এ পর্যন্ত আমি পুরোপুরি বুঝতে পারি understand এই পরবর্তী পদক্ষেপটি আমার কাছে বিভ্রান্তিকর।

তারা এখন পুনরাবৃত্তি "পুনরায় নামকরণ" এবং এস ( এম ) = টি ( 2 মি ) , যা আপাতভাবে উত্পাদন করেS(m)S(m)=T(2m)

S(m)=2S(m/2)+m

কোনও কারণে এই নামকরণ কেন কাজ করে তা আমার কাছে পরিষ্কার নয় এবং এটি কেবল প্রতারণার মতো বলে মনে হয়। এর চেয়ে ভাল বোঝাতে পারে কেউ?

উত্তর:


15

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

আপনার উদাহরণে ঠিক এটি ঘটেছে। আমরা একটি নতুন পুনরাবৃত্তি সংজ্ঞায়িত করি । মনে রাখবেন যে টি ( 2 মি ) = 2 টি ( 2 মি।)S(m)=T(2m)। লক্ষ্য করুন যে,এস(এম/2)=টি(2মিT(2m)=2T(2m2)+m। যদি এই নির্দিষ্ট পয়েন্টটি এখনও অস্পষ্ট থাকে তবেকে=মি/2এবং লক্ষ্য করুন যে আমরা যা করছি তা হ'ল এইএস(কে)=টি(2কে)। এখন, আমরাএস(এম) এরএটিকে প্রসারিত করে প্রকাশ করতে পারি: এস(এম)=2এস(এম/2)+এমএস এরজন্য সমাধান করাআমরা দেখতে পাচ্ছি এটি আমাদের পরিচিত বন্ধু(এমলগএম) এর সমাধান করেS(m/2)=T(2m2)k=m/2S(k)=T(2k)S(m)

S(m)=2S(m/2)+m.
S । এখন যে আমরা এস কে সমাধান করেছিআমরা টি ( এন ) এর পদে এটি প্রকাশ করতে চাই। এই কাজের জন্য, নিছক জন্য আমাদের মূল মান ফিরে চলা মি এবং আমরা আছে টি হে ( লগ লগ ইন করুন লগ এন )O(mlogm)ST(n)mTO(lognloglogn)

ঠিক আছে, আমি পুরোপুরি বুঝতে পারি কীভাবে প্রতিস্থাপন সমস্যাগুলিকে আরও সহজ করতে সহায়তা করে এবং এন এর ক্ষেত্রে জটিলতা পেতে কীভাবে মানগুলি প্লাগ ইন করতে পারে। আমার ধারণা আমার প্রশ্নটি হল এস (এম) = টি (2 মিমি) দেওয়ার পরে আপনি কীভাবে এস (এম / 2) পান? এটি কোনও কারণে কেবল আমার কাছে স্পষ্ট নয়। আরও সুনির্দিষ্টভাবে বলতে গেলে, আপনি কীভাবে এই সিদ্ধান্ত নিতে পারেন যে টি (2 ^ (এম / 2)) = এস (এম / 2)। এটি পুনরুক্তি টি-তে মনে হচ্ছে, সাবপ্রব্লেম আকারটি বর্গ-মূলযুক্ত, যখন পুনরাবৃত্তির এস-এ,

আমি যে অংশটি বুঝতে পারি তা কেবল তখনই হয় যখন আপনি "লক্ষ্য করুন যে, এস (এম / 2) = টি (2 ^ (এম / 2))" এটিই কেবলমাত্র আমার কাছে অ-স্পষ্ট যে অংশ। আমি পরিবর্তনশীল বিকল্প তৈরির ধারণায় অভ্যস্ত, তবে পুরো পুনরাবৃত্তিটি প্রতিস্থাপনের ধারণায় আমি আসলে অভ্যস্ত নই।

আহ ঠিক আছে, শেষ সম্পাদনাটি এটি আমার জন্য করেছিল। এটা এখন পরিষ্কার, ধন্যবাদ!

1
আমার একটু সন্দেহ আছে যদি আমি ফাংশন এস () পদ লিখতে kআমি সমীকরণ এস (ট) = 2S নিচে পেয়ে করছি (ট / 2) + M আমি কিভাবে বিকল্প পেতে পারেন mজন্যk
Atinesh

4

S(m)=T(2m)STm2m

S

  1. Sm2m

  2. T

অতএব রূপান্তরগুলি হ'ল:

m2mT(2m)=S(m)
m22m/2T(2m/2)=S(m2).
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.