অ্যালগরিদম এবং প্রমাণগুলির উদাহরণ যা সঠিক বলে মনে হয় তবে তা হয় না


15

প্রোগ্রামিং কোর্সে আমার পরিচিতিতে আমরা একটি অ্যালগরিদম প্রমাণ করার প্রাথমিক-রক্ষণাবেক্ষণ-সমাপ্তির পদ্ধতি সম্পর্কে শিখছি যা আমরা এটি প্রত্যাশা করি। তবে আমাদের কেবল প্রমাণ করতে হয়েছিল যে একটি অ্যালগরিদম ইতিমধ্যে সঠিক হিসাবে পরিচিত, সঠিক। আমাদের কখনই দেখাতে বলা হয়নি যে অ্যালগরিদম সঠিক নয়।

অ্যালগরিদমের কোনও ক্লাসিক উদাহরণ রয়েছে যা সঠিক দেখাচ্ছে, তবে তা নয়? আমি এমন মামলাগুলির সন্ধান করছি যেখানে ইনিশিয়েশন-রক্ষণাবেক্ষণ-সমাপ্তির পদ্ধতির এমন কোনও কিছু ধরা পড়ে যা প্রথম নজরে অন্তর্দৃষ্টি না দেয়।


5
সম্ভবত আগ্রহের বিষয়: cs.stackexchange.com/q/29475/755
DW

5
উত্সাহ দেওয়া কারণ আমি মনে করি এটি একটি খুব গুরুত্বপূর্ণ শিক্ষা সংক্রান্ত প্রশ্ন। এটি সিস্তেরির জন্য সামান্য সুযোগের বাইরে, তবে আমি এর পক্ষে আরও ভাল প্ল্যাটফর্ম জানি না এবং স্স্টিওরি সম্প্রদায়টিতে অনেক অ্যালগরিদম প্রশিক্ষক রয়েছে। বেশিরভাগ অ্যালগরিদম-ডিজাইন কোর্স শিক্ষার্থীদের কেবলমাত্র সঠিক, বিদ্যমান অ্যালগোরিদমগুলি এবং এমন সমস্যাগুলির কাছে প্রকাশ করে যা জ্ঞাত কৌশলগুলি ব্যবহার করে সহজেই সমাধানযোগ্য। এটি শিক্ষার্থীদের কাছে এতই আকর্ষণীয় ছাপকে শক্তিশালী করে, যে কোনওর নিজের স্বজ্ঞাত অনুভূতিটিকে নিরাপদে বিশ্বাস করতে পারে যে একটি আপাতদৃষ্টিতে প্রশ্রয়যোগ্য অ্যালগরিদম সঠিক। একটি ভাল অ্যালগরিদম-ডিজাইন কোর্স বিপরীত করা উচিত!
নিল ইয়ং

3
আমি এই মত একটি সংগ্রহ করতে চাই।
চন্দ্র চেকুরি 11

উত্তর:


20

সর্বোচ্চ 2 ডি স্থানীয়

ইনপুট: দ্বি-মাত্রিক অ্যারেn×nA

আউটপুট: স্থানীয় সর্বাধিক - একটি জোড়া যেমন এর অ্যারেতে কোনও প্রতিবেশী সেল নেই যা কঠোরভাবে বৃহত্তর মান ধারণ করে। [ আমি , ](i,j)A[i,j]

(পার্শ্ববর্তী কক্ষগুলি এর মধ্যে উপস্থিত রয়েছে) সুতরাং, উদাহরণস্বরূপ, যদি হয়A[i,j+1],A[i,j1],A[i1,j],A[i+1,j]A

0134323125014013

তারপরে প্রতিটি গাed় কক্ষটি স্থানীয় সর্বাধিক। প্রতিটি খালি খালি অ্যারে কমপক্ষে একটি স্থানীয় সর্বাধিক আছে।

অ্যালগরিদম। একটি -কালীন অ্যালগরিদম রয়েছে: কেবলমাত্র প্রতিটি ঘর পরীক্ষা করুন। একটি দ্রুত, পুনরাবৃত্তিমূলক অ্যালগরিদমের জন্য এখানে একটি ধারণা।O(n2)

প্রদত্ত , মাঝের কলামের কক্ষগুলি এবং মাঝের সারির কোষগুলি সমন্বিত কর্স সংজ্ঞায়িত করুন । প্রথম প্রতিটি সেল পরীক্ষা যদি সেল একটি স্থানীয় সর্বাধিক কিনা দেখতে । যদি তাই হয়, যেমন একটি ঘর ফিরে। অন্যথায়, সর্বাধিক মান সহ একটি কক্ষ হয়ে । যেহেতু স্থানীয় সর্বাধিক নয়, এর অবশ্যই বৃহত্তর মান সহ একটি প্রতিবেশী ঘর থাকতে হবে।এক্স এক্স ( আই , জে ) এক্স ( আই , জে ) ( আই , জে )AXXA(i,j)X(i,j)(i,j)

পার্টিশন (অ্যারেAXAX(i,j)A

AA

(i,j)AA(i,j)

n2×n2A(i,j)

T(n)n×nT(n)=T(n/2)+O(n)T(n)=O(n)

সুতরাং, আমরা নিম্নলিখিত উপপাদ্য প্রমাণ করেছি:

O(n)n×n

নাকি আমাদের আছে?


প্রথম পড়ার সময়, আমি যে ভুলটি লক্ষ্য করেছিলাম তা হ'ল পুনরাবৃত্তি সমাধান। এটাই কি একমাত্র ভুল?
রাদু গ্রিগোর

1
পুনরাবৃত্তিটি সঠিক। অ্যালগরিদম না!
নিল ইয়ং

1
আহ, হ্যাঁ, পুনরাবৃত্তিটি নিয়ে আমি বোবা ভুল করেছিলাম। আমি সমস্যাটি দেখতে পাচ্ছি: সর্বাধিক আপনি প্রমাণ করেছেন যেটি আপনি খুঁজে পেয়েছেন (অগত্যা) তা নয়। এবং আপনি যা খুঁজে পান তা
এক্সটিকে

3
(2143300101230001023002222222333233300323000032300)

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