টিএল; ডিআর: কিছুটা নিয়ন্ত্রিত ধরণের সম্পাদনার দূরত্ব, যেখানে আমরা কেবল পৃথক অক্ষর সন্নিবেশ করতে এবং মুছতে পারি, লাইনারিটিমিক সময়ে গণনা করা যেতে পারে যখন উভয় (বা এমনকি একটির) স্ট্রিংয়ের স্বতন্ত্র অক্ষর থাকে। এটি লেভেনস্টাইন সম্পাদনার দূরত্বের উপরের এবং নিম্ন সীমানাকে দরকারী দেয়।
সম্পাদনা দূরত্ব এবং সর্বাধিক দীর্ঘতম উপসর্গ সন্নিবেশ / মুছুন
লেভেনস্টেইন সম্পাদনার দূরত্ব একক-অক্ষর সন্নিবেশ, মুছা এবং প্রতিস্থাপনের অনুমতি দেয়, যার জন্য প্রতিটি প্রতিটি 1 ব্যয় বরাদ্দ করা হয়, আমরা যদি কেবল সন্নিবেশ এবং মুছে ফেলার জন্য সীমাবদ্ধ রাখি তবে আমরা একটি অনুরূপ দূরত্ব পরিমাপ পাই যা এখন প্রতিস্থাপনের জন্য 2 ব্যয় করতে পারে (যেহেতু কোনও বিকল্প প্রতিস্থাপন করতে পারে একটি সন্নিবেশ এবং একটি মুছে ফেলা ব্যবহার করে নকল করা হবে)। আমি এই আরও নিয়ন্ত্রিত ধরণের সম্পাদনার দূরত্বের একটি আদর্শ নাম জানি না, তাই আমি এটিকে "সন্নিবেশ / সম্পাদনা দূরত্ব মুছুন" বলব। এটি দীর্ঘতম সাধারণ উপসর্গ (এলসিএস) সমস্যার সাথে নিবিড়ভাবে সামঞ্জস্য করে , যেখানে আমাদের যথাক্রমে দৈর্ঘ্য এবং এন এর দুটি স্ট্রিং দেওয়া হয় এবং উভয়টিতে প্রদর্শিত দীর্ঘতম অনুচ্ছেদের দৈর্ঘ্য জানতে চাই। দুটি স্ট্রিংয়ে যদি এলসিএস এল থাকেমিএনএল, তারপরে তারা সম্পাদনা দূরত্ব সন্নিবেশ করানো / মুছতে হবেn + মি - 2 এল : এটি দেখার সহজতম উপায় হ'ল স্ট্রিংগুলি সারিবদ্ধ করা যাতে এলসিএসে অক্ষরগুলি একে অপরের উপরে সজ্জিত থাকে, অন্যদিকে এলসিএসে অক্ষরগুলি বিপরীতে উপস্থিত হয় -
ফাঁক চরিত্র। তারপরে এটি স্পষ্ট হবে যে -
উপরের সারিতে যেখানেই সন্নিবেশ তৈরি করে আমরা প্রথম স্ট্রিংটি দ্বিতীয়টিতে সম্পাদনা করতে পারি -
এবং নীচের সারিতে যেখানেই রয়েছে সেখানে মুছে ফেলা যায় । উদাহরণ স্বরূপ:
-C-IRC-LE
T-RI-CKLE
এখান থেকে অবস্থায় LCS CIRCLE
এবং TRICKLE
, ICLE
, দৈর্ঘ্য 4 আছে, এবং সম্পাদনা দূরত্ব প্রকৃতপক্ষে ।6 + 7 - 2 ∗ 4 = 5
দীর্ঘতম বর্ধমান অনুচ্ছেদ
এই পথচলার কারণ হ'ল এলসিএস গণনা করার জন্য খুব কার্যকরী উপায় রয়েছে (এবং এভাবে সম্পাদনার দূরত্ব সন্নিবেশ / মুছুন) যখন সিকোয়েন্সগুলির অন্তত একটিতে স্বতন্ত্র অক্ষর থাকে: এই ক্ষেত্রে, এলসিএস সমস্যা রূপান্তরিত হতে পারে দীর্ঘতম বর্ধমান অনুচ্ছেদটি অনুসন্ধানের সমস্যা , যা সময়ে সমাধান করা যেতে পারে । ধরুন আমাদের দুটি এবং দুটি স্ট্রিং এ এবং বি দেওয়া হয়েছে এবং স্ট্রিং এ এর স্বতন্ত্র অক্ষর রয়েছে। আমরা একটি টেবিলের মধ্যে প্রতিটি অক্ষরকে আমরা কী সংখ্যাটি অর্পণ করেছি তা ট্র্যাক করে, আমরা প্রথম অক্ষর A থেকে 1, দ্বিতীয় থেকে 2 এবং আরও নতুন নামকরণ করতে পারি । তারপরে খহে ( এন লগ)এন)একজনবিএকজনএকজনবি, আমরা এই টেবিলটি ব্যবহার করে এর অক্ষরগুলির নাম পরিবর্তন করেছি (অর্থাত্, প্রথম অক্ষরটি যা ছিল তার প্রতিটি ঘটনাকে 1 A
এ পরিবর্তন করা হবে etc. ইত্যাদি)। অবশেষে, আমরা এর মধ্যে দীর্ঘতম বর্ধমান অনুচ্ছেদ খুঁজছি B
। এটি A
এবং এর মধ্যে একটি এলসিএসের সাথে মিলে যায় এবং B
সেখান থেকে আমরা তাত্ক্ষণিকভাবে সন্নিবেশ করা / সম্পাদনা দূরত্ব মোছার গণনা করতে পারি। মোট সময় প্রয়োজন ঠিক যদি একজন এবং বি লেন্থ আছে এন এবং মি যথাক্রমে।ও ( এন + এম লগ)মি )একজনবিএনমি
লেভেনস্টেইনের সীমাগুলি দূরত্ব সম্পাদনা করে
সন্নিবেশ / মুছে ফেলা দূরত্ব পরিষ্কারভাবে লেভেনস্টাইন দূরত্বে একটি উপরের সীমা সরবরাহ করে (যেহেতু সন্নিবেশ / মোছার দূরত্বের অধীনে সম্পাদনা কার্য সম্পাদনের কোনও বৈধ ক্রমও লেভেনস্টাইন সম্পাদনা ক্রিয়াকলাপগুলির একটি বৈধ ক্রম)। সন্নিবেশ / মুছুন সম্পাদনা দূরত্বকে 2 দ্বারা ভাগ করাও একটি কম বাউন্ড দেয় কারণ সবচেয়ে খারাপ ক্ষেত্রে যে কোনও লেভেনস্টেইন সম্পাদনা অপারেশনকে 2 সন্নিবেশ / সম্পাদনা সম্পাদনা মুছে ফেলা যায়।
সরলীকরণ
Rও ( ( আর + এন ) লগএন )r ≤ ndiff
diff
ও ( এন ডি))ঘ
হান্ট, জে।; সিজিমানস্কি, টি। (1977), "দীর্ঘতম সাধারণ উপকেন্দ্রগুলি গণনা করার জন্য একটি দ্রুত অ্যালগরিদম", এসিএমের যোগাযোগ, 20 (5): 3503353, দোই : 10.1145 / 359581.359603