पर विकिपीडिया , संपादित दूरी के लिए नीचे से ऊपर गतिशील प्रोग्रामिंग योजना के लिए एक कार्यान्वयन दिया जाता है। यह पूरी तरह से परिभाषा का पालन नहीं करता है; आंतरिक कोशिकाओं की गणना इस प्रकार की जाती है:
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
)
}
जैसा कि आप देख सकते हैं, एल्गोरिथ्म हमेशा ऊपरी-बाएं पड़ोसी से मूल्य चुनता है यदि कोई मैच होता है, तो कुछ मेमोरी एक्सेस, एएलयू संचालन और तुलना को सहेजता है।
हालाँकि, विलोपन (या सम्मिलन) के परिणामस्वरूप एक छोटा मूल्य हो सकता है , इस प्रकार एल्गोरिथ्म स्थानीय रूप से गलत है, अर्थात यह इष्टतमता मानदंड के साथ टूट जाता है। लेकिन शायद गलती अंतिम परिणाम को नहीं बदलती है - इसे रद्द किया जा सकता है।
क्या यह माइक्रो-ऑप्टिमाइज़ेशन वैध है, और क्यों (नहीं)?