উপর উইকিপিডিয়া , সম্পাদনা দূরত্ব জন্য নীচে আপ গতিশীল প্রোগ্রামিং স্কীম জন্য একটি বাস্তবায়ন দেওয়া হয়। এটি সংজ্ঞাটি পুরোপুরি অনুসরণ করে না; অভ্যন্তরীণ কোষগুলি এইভাবে গণনা করা হয়:
if s[i] = t[j] then
d[i, j] := d[i-1, j-1] // no operation required
else
d[i, j] := minimum
(
d[i-1, j] + 1, // a deletion
d[i, j-1] + 1, // an insertion
d[i-1, j-1] + 1 // a substitution
)
}
আপনি দেখতে পাচ্ছেন, অ্যালগরিদম সর্বদা উপরের-বাম প্রতিবেশীর কাছ থেকে কোনও মিল থাকে তবে কিছু মেমরি অ্যাক্সেস, এএলইউ অপারেশন এবং তুলনাগুলি সংরক্ষণ করে মানটি বেছে নেয়।
তবে মুছে ফেলা (বা সন্নিবেশ) এর ফলে একটি ছোট মান হতে পারে , সুতরাং অ্যালগরিদম স্থানীয়ভাবে ভুল, অর্থাত এটি অনুকূল মানদণ্ডের সাথে ভেঙে যায়। তবে সম্ভবত ভুল পরিণতিটি পরিবর্তন করে না - এটি বাতিল হয়ে যেতে পারে।
এই মাইক্রো-অপ্টিমাইজেশন বৈধ, এবং কেন (না)?